0001321732-23-000088.txt : 20230801 0001321732-23-000088.hdr.sgml : 20230801 20230801164447 ACCESSION NUMBER: 0001321732-23-000088 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 68 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230801 DATE AS OF CHANGE: 20230801 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Penumbra Inc CENTRAL INDEX KEY: 0001321732 STANDARD INDUSTRIAL CLASSIFICATION: SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841] IRS NUMBER: 000000000 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-37557 FILM NUMBER: 231132416 BUSINESS ADDRESS: STREET 1: ONE PENUMBRA PLACE CITY: ALAMEDA STATE: CA ZIP: 94502 BUSINESS PHONE: (510) 995-2486 MAIL ADDRESS: STREET 1: ONE PENUMBRA PLACE CITY: ALAMEDA STATE: CA ZIP: 94502 10-Q 1 pen-20230630.htm 10-Q pen-20230630
00013217322023Q2FALSE--12-311671362759127315827400013217322023-01-012023-06-3000013217322023-07-18xbrli:shares00013217322023-06-30iso4217:USD00013217322022-12-3100013217322023-04-012023-06-3000013217322022-04-012022-06-3000013217322022-01-012022-06-30iso4217:USDxbrli:shares0001321732us-gaap:CommonStockMember2022-12-310001321732us-gaap:AdditionalPaidInCapitalMember2022-12-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001321732us-gaap:RetainedEarningsMember2022-12-310001321732us-gaap:CommonStockMember2023-01-012023-03-310001321732us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-3100013217322023-01-012023-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001321732us-gaap:RetainedEarningsMember2023-01-012023-03-310001321732us-gaap:CommonStockMember2023-03-310001321732us-gaap:AdditionalPaidInCapitalMember2023-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001321732us-gaap:RetainedEarningsMember2023-03-3100013217322023-03-310001321732us-gaap:CommonStockMember2023-04-012023-06-300001321732us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-012023-06-300001321732us-gaap:RetainedEarningsMember2023-04-012023-06-300001321732us-gaap:CommonStockMember2023-06-300001321732us-gaap:AdditionalPaidInCapitalMember2023-06-300001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-300001321732us-gaap:RetainedEarningsMember2023-06-300001321732us-gaap:CommonStockMember2021-12-310001321732us-gaap:AdditionalPaidInCapitalMember2021-12-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001321732us-gaap:RetainedEarningsMember2021-12-3100013217322021-12-310001321732us-gaap:CommonStockMember2022-01-012022-03-310001321732us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-3100013217322022-01-012022-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-310001321732us-gaap:RetainedEarningsMember2022-01-012022-03-310001321732us-gaap:CommonStockMember2022-03-310001321732us-gaap:AdditionalPaidInCapitalMember2022-03-310001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-310001321732us-gaap:RetainedEarningsMember2022-03-3100013217322022-03-310001321732us-gaap:CommonStockMember2022-04-012022-06-300001321732us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-300001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-300001321732us-gaap:RetainedEarningsMember2022-04-012022-06-300001321732us-gaap:CommonStockMember2022-06-300001321732us-gaap:AdditionalPaidInCapitalMember2022-06-300001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-300001321732us-gaap:RetainedEarningsMember2022-06-3000013217322022-06-30pen:activitypen:segment0001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2023-06-300001321732us-gaap:CertificatesOfDepositMember2023-06-300001321732us-gaap:USTreasurySecuritiesMember2023-06-300001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember2023-06-300001321732us-gaap:USStatesAndPoliticalSubdivisionsMember2023-06-300001321732us-gaap:CorporateDebtSecuritiesMember2023-06-300001321732us-gaap:USTreasurySecuritiesMember2022-12-310001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember2022-12-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMember2022-12-310001321732us-gaap:CorporateDebtSecuritiesMember2022-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CertificatesOfDepositMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberpen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueMeasurementsRecurringMember2023-06-300001321732us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel3Memberpen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:USStatesAndPoliticalSubdivisionsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001321732us-gaap:FairValueMeasurementsRecurringMember2022-12-3100013217322022-01-012022-12-310001321732us-gaap:DevelopedTechnologyRightsMember2023-01-012023-06-300001321732us-gaap:DevelopedTechnologyRightsMember2023-06-300001321732us-gaap:CustomerRelationshipsMember2023-01-012023-06-300001321732us-gaap:CustomerRelationshipsMember2023-06-300001321732us-gaap:TradeSecretsMember2023-01-012023-06-300001321732us-gaap:TradeSecretsMember2023-06-300001321732us-gaap:DevelopedTechnologyRightsMember2022-01-012022-12-310001321732us-gaap:DevelopedTechnologyRightsMember2022-12-310001321732us-gaap:CustomerRelationshipsMember2022-01-012022-12-310001321732us-gaap:CustomerRelationshipsMember2022-12-310001321732us-gaap:TradeSecretsMember2022-01-012022-12-310001321732us-gaap:TradeSecretsMember2022-12-310001321732us-gaap:OtherIntangibleAssetsMember2022-01-012022-12-310001321732us-gaap:OtherIntangibleAssetsMember2022-12-310001321732us-gaap:CostOfSalesMember2023-04-012023-06-300001321732us-gaap:CostOfSalesMember2022-04-012022-06-300001321732us-gaap:CostOfSalesMember2023-01-012023-06-300001321732us-gaap:CostOfSalesMember2022-01-012022-06-300001321732us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-04-012023-06-300001321732us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-04-012022-06-300001321732us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-06-300001321732us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-06-300001321732us-gaap:RevolvingCreditFacilityMember2020-04-240001321732us-gaap:LineOfCreditMemberus-gaap:RevolvingCreditFacilityMemberpen:BankOfAmericaAndCitibankMember2023-01-012023-06-30xbrli:pure0001321732us-gaap:RevolvingCreditFacilityMember2023-06-300001321732us-gaap:RevolvingCreditFacilityMember2022-12-310001321732pen:RoyaltyAgreementMarch2005Member2019-07-012019-07-310001321732pen:RoyaltyAgreementMarch2005Member2023-06-300001321732pen:RoyaltyAgreementApril2012Member2023-01-012023-06-300001321732us-gaap:PerformanceSharesMember2023-01-012023-06-300001321732us-gaap:ResearchAndDevelopmentExpenseMember2023-04-012023-06-300001321732us-gaap:ResearchAndDevelopmentExpenseMember2022-04-012022-06-300001321732us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-06-300001321732us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-06-300001321732pen:NonPerformanceSharesMember2023-06-300001321732pen:NonPerformanceSharesMember2023-01-012023-06-300001321732us-gaap:PerformanceSharesMember2023-06-300001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-03-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-03-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-03-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2022-03-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-04-012023-06-300001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-04-012023-06-300001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-04-012022-06-300001321732us-gaap:AccumulatedTranslationAdjustmentMember2022-04-012022-06-300001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-06-300001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-06-300001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-06-300001321732us-gaap:AccumulatedTranslationAdjustmentMember2022-06-300001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-12-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2022-12-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-12-310001321732us-gaap:AccumulatedTranslationAdjustmentMember2021-12-310001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-01-012023-06-300001321732us-gaap:AccumulatedTranslationAdjustmentMember2023-01-012023-06-300001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-06-300001321732us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-01-012022-06-300001321732us-gaap:AccumulatedTranslationAdjustmentMember2022-01-012022-06-300001321732us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-06-300001321732country:US2023-04-012023-06-300001321732country:US2022-04-012022-06-300001321732country:US2023-01-012023-06-300001321732country:US2022-01-012022-06-300001321732pen:OtherNonUSMember2023-04-012023-06-300001321732pen:OtherNonUSMember2022-04-012022-06-300001321732pen:OtherNonUSMember2023-01-012023-06-300001321732pen:OtherNonUSMember2022-01-012022-06-300001321732pen:PeripheralVascularMember2023-04-012023-06-300001321732pen:PeripheralVascularMember2022-04-012022-06-300001321732pen:PeripheralVascularMember2023-01-012023-06-300001321732pen:PeripheralVascularMember2022-01-012022-06-300001321732pen:NeuroMember2023-04-012023-06-300001321732pen:NeuroMember2022-04-012022-06-300001321732pen:NeuroMember2023-01-012023-06-300001321732pen:NeuroMember2022-01-012022-06-300001321732pen:AraniBoseMember2023-04-012023-06-300001321732pen:AraniBoseMember2023-06-300001321732pen:HarpreetGrewalMember2023-04-012023-06-300001321732pen:HarpreetGrewalMember2023-06-300001321732pen:DonKassingMember2023-04-012023-06-300001321732pen:DonKassingMember2023-06-300001321732pen:BridgetORourkeMember2023-04-012023-06-300001321732pen:BridgetORourkeMember2023-06-300001321732pen:SurbhiSarnaMember2023-04-012023-06-300001321732pen:SurbhiSarnaMember2023-06-300001321732pen:ThomasWilderMember2023-04-012023-06-300001321732pen:ThomasWilderMember2023-06-300001321732pen:MaggieYuenMember2023-04-012023-06-300001321732pen:MaggieYuenMember2023-06-30


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 June 30, 2023
OR 
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from_____ to _____         
Commission File Number: 001-37557
Penumbra, Inc.
(Exact name of registrant as specified in its charter)
Delaware05-0605598
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)

One Penumbra Place
Alameda, CA 94502
(Address of principal executive offices, including zip code)

(510) 748-3200
(Registrant’s telephone number, including area code)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading SymbolName of each exchange on which registered
Common Stock, Par value $0.001 per sharePENThe New York Stock Exchange
Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    Yes: ☒    No:  ☐
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes:  ☒    No:  ☐
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filerAccelerated filer
Non-accelerated filerSmaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with 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 July 18, 2023, the registrant had 38,436,663 shares of common stock, par value $0.001 per share, outstanding.




FORM 10-Q
TABLE OF CONTENTS
 
Page



PART I - FINANCIAL INFORMATION
ITEM 1. CONDENSED CONSOLIDATED FINANCIAL STATEMENTS.
Penumbra, Inc.
Condensed Consolidated Balance Sheets
(unaudited)
(in thousands)
June 30, 2023December 31, 2022
Assets
Current assets:
Cash and cash equivalents$114,167 $69,858 
Marketable investments106,896 118,172 
Accounts receivable, net of allowance for credit losses of $4,775 and $862 at June 30, 2023 and December 31, 2022, respectively
208,965 203,384 
Inventories358,770 334,006 
Prepaid expenses and other current assets39,078 30,279 
Total current assets827,876 755,699 
Property and equipment, net65,958 65,015 
Operating lease right-of-use assets187,494 192,636 
Finance lease right-of-use assets31,751 33,323 
Intangible assets, net76,116 81,161 
Goodwill166,166 166,046 
Deferred taxes66,671 64,213 
Other non-current assets10,500 12,793 
Total assets$1,432,532 $1,370,886 
Liabilities and Stockholders’ Equity
Current liabilities:
Accounts payable$25,819 $26,679 
Accrued liabilities105,606 106,300 
Current operating lease liabilities10,715 10,033 
Current finance lease liabilities1,984 1,920 
Total current liabilities144,124 144,932 
Non-current operating lease liabilities194,655 198,955 
Non-current finance lease liabilities23,922 24,865 
Other non-current liabilities3,288 3,276 
Total liabilities365,989 372,028 
Commitments and contingencies (Note 8)
Stockholders’ equity:
Common stock38 38 
Additional paid-in capital1,000,658 963,040 
Accumulated other comprehensive loss (5,579)(8,124)
Retained earnings71,426 43,904 
Total stockholders’ equity1,066,543 998,858 
Total liabilities and stockholders’ equity$1,432,532 $1,370,886 

See accompanying notes to the unaudited condensed consolidated financial statements
2

Penumbra, Inc.
Condensed Consolidated Statements of Operations
(unaudited)
(in thousands, except share and per share amounts)
Three Months Ended June 30,Six Months Ended June 30,
2023202220232022
Revenue$261,499 $208,344 $502,897 $412,239 
Cost of revenue94,638 74,309 184,964 150,786 
Gross profit166,861 134,035 317,933 261,453 
Operating expenses:
Research and development 21,537 19,559 41,523 40,123 
Sales, general and administrative 127,435 114,615 250,513 225,515 
Total operating expenses 148,972 134,174 292,036 265,638 
Income (loss) from operations17,889 (139)25,897 (4,185)
Interest income (expense), net839 (72)1,393 (119)
Other income (expense), net808 (956)898 (1,967)
Income (loss) before income taxes19,536 (1,167)28,188 (6,271)
Provision for (benefit from) income taxes576 2,520 666 (2,663)
Net income (loss)$18,960 $(3,687)$27,522 $(3,608)
Net income (loss) per share:
Basic$0.49 $(0.10)$0.72 $(0.10)
Diluted$0.48 $(0.10)$0.70 $(0.10)
Weighted average shares outstanding:
Basic38,320,999 37,767,519 38,254,042 37,707,156 
Diluted39,201,155 37,767,519 39,151,412 37,707,156 

See accompanying notes to the unaudited condensed consolidated financial statements
3

Penumbra, Inc.
Condensed Consolidated Statements of Comprehensive Income (Loss)
(unaudited)
(in thousands)
Three Months Ended June 30,Six Months Ended June 30,
2023202220232022
Net income (loss)$18,960 $(3,687)$27,522 $(3,608)
Other comprehensive income (loss), net of tax:
Foreign currency translation adjustments, net of tax654 (3,333)1,057 (4,201)
Net change in unrealized gains (losses) on available-for-sale securities, net of tax628 (853)1,488 (3,327)
Total other comprehensive income (loss), net of tax1,282 (4,186)2,545 (7,528)
Comprehensive income (loss)$20,242 $(7,873)$30,067 $(11,136)

See accompanying notes to the unaudited condensed consolidated financial statements

4

Penumbra, Inc.
Condensed Consolidated Statements of Stockholders’ Equity
(unaudited)
(in thousands, except share amounts)
Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossRetained Earnings Total Stockholders’ Equity
SharesAmount
Balance at December 31, 202238,107,977 $38 $963,040 $(8,124)$43,904 $998,858 
Issuance of common stock134,936 — 2,209 — — 2,209 
Shares held for tax withholdings(813)— (204)— — (204)
Stock-based compensation— — 13,781 — — 13,781 
Other comprehensive income— — — 1,263 — 1,263 
Net income — — — — 8,562 8,562 
Balance at March 31, 202338,242,100 $38 $978,826 $(6,861)$52,466 $1,024,469 
Issuance of common stock114,930 1,614 — — 1,614 
Issuance of common stock under employee stock purchase plan51,264 8,385 — — 8,385 
Shares held for tax withholdings(2,689)(822)— — (822)
Stock-based compensation— — 12,655 — — 12,655 
Other comprehensive income— — — 1,282 — 1,282 
Net income— — — — 18,960 18,960 
Balance at June 30, 202338,405,605 $38 $1,000,658 $(5,579)$71,426 $1,066,543 
Common StockAdditional Paid-in CapitalAccumulated Other Comprehensive LossRetained Earnings Total Stockholders’ Equity
SharesAmount
Balance at December 31, 202137,578,483 $37 $910,614 $(2,630)$45,906 $953,927 
Issuance of common stock103,984 1 1,102 — — 1,103 
Shares held for tax withholdings(14,243)— (3,181)— — (3,181)
Stock-based compensation— — 10,716 — — 10,716 
Other comprehensive loss— — — (3,342)— (3,342)
Net income— — — — 79 79 
Balance at March 31, 202237,668,224 $38 $919,251 $(5,972)$45,985 $959,302 
Issuance of common stock158,735 — 3,466 — — 3,466 
Issuance of common stock under employee stock purchase plan66,098 — 7,998 — — 7,998 
Shares held for tax withholdings(12,950)— (1,900)— — (1,900)
Stock-based compensation  9,022 —  9,022 
Other comprehensive loss— — — (4,186)— (4,186)
Net loss— — — — (3,687)(3,687)
Balance at June 30, 202237,880,107 $38 $937,837 $(10,158)$42,298 $970,015 
See accompanying notes to the unaudited condensed consolidated financial statements
5

Penumbra, Inc.
Condensed Consolidated Statements of Cash Flows
(unaudited)
(in thousands)
 Six Months Ended June 30,
 20232022
CASH FLOWS FROM OPERATING ACTIVITIES:
Net income (loss)$27,522 $(3,608)
Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:
Depreciation and amortization13,285 11,655 
Stock-based compensation25,589 17,679 
Inventory write-downs1,399 1,573 
Deferred taxes(2,450)(2,741)
Other3,587 (749)
Changes in operating assets and liabilities:
Accounts receivable(8,421)(54,299)
Inventories(25,758)(36,051)
Prepaid expenses and other current and non-current assets(5,901)(2,460)
Accounts payable(259)9,024 
Accrued expenses and other non-current liabilities1,635 15,658 
Proceeds from lease incentives 230 
Net cash provided by (used in) operating activities30,228 (44,089)
CASH FLOWS FROM INVESTING ACTIVITIES:
Purchases of marketable investments(15,194) 
Proceeds from sales of marketable investments 1,180 
Proceeds from maturities of marketable investments27,970 44,579 
Purchases of property and equipment(8,236)(9,388)
Other(500) 
Net cash provided by investing activities4,040 36,371 
CASH FLOWS FROM FINANCING ACTIVITIES:
Proceeds from exercises of stock options3,823 4,568 
Proceeds from issuance of stock under employee stock purchase plan8,385 7,998 
Payment of employee taxes related to vested stock(1,026)(5,081)
Payments of finance lease obligations(957)(858)
Other(155)(137)
Net cash provided by financing activities10,070 6,490 
Effect of foreign exchange rate changes on cash and cash equivalents(29)83 
NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS44,309 (1,145)
CASH AND CASH EQUIVALENTS—Beginning of period69,858 59,379 
CASH AND CASH EQUIVALENTS—End of period$114,167 $58,234 
NONCASH INVESTING AND FINANCING ACTIVITIES:
Right-of-use assets obtained in exchange for operating lease obligations$1,155 $51,191 
Right-of-use assets obtained in exchange for finance lease obligations$76 $89 
Purchase of property and equipment funded through accounts payable and accrued liabilities$1,468 $3,059 
SUPPLEMENTAL CASH FLOW INFORMATION:
Cash paid for amounts included in the measurement of operating lease liabilities$9,816 $8,458 
Cash paid for income taxes$2,946 $2,157 

See accompanying notes to the unaudited condensed consolidated financial statements
6

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)

1. Organization and Description of Business
Penumbra, Inc. (the “Company”) is a global healthcare company focused on innovative therapies. The Company designs, develops, manufactures and markets novel products and has a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. The Company focuses on developing, manufacturing and marketing novel products for use by specialist physicians and other healthcare providers to drive improved clinical and health outcomes. The Company believes that the cost-effectiveness of our products is attractive to our customers.
2. Summary of Significant Accounting Policies
Basis of Presentation and Consolidation
The accompanying condensed consolidated balance sheet as of June 30, 2023, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended June 30, 2023 and 2022 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2022 was derived from the audited financial statements as of that date.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of June 30, 2023, the results of its operations for the three and six months ended June 30, 2023 and 2022, the changes in its comprehensive income (loss) and stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and its cash flows for the six months ended June 30, 2023 and 2022. The results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023 or for any other future annual or interim period.
The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2022, included in the Company’s Annual Report on Form 10-K. There have been no changes to the Company’s significant accounting policies during the six months ended June 30, 2023, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2022, except for the granting of restricted stock units with performance conditions to senior management during the three months ended March 31, 2023. Refer to Note “9. Stockholders’ Equity” for information on the Company’s accounting policy.
The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, contingent consideration and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which
7

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other data. Actual results could differ from those estimates.
Segments
The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.
3. Investments and Fair Value of Financial Instruments
Marketable Investments
The Company’s marketable investments have been classified and accounted for as available-for-sale. The following table presents the Company’s marketable investments as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Commercial paper $3,173 $ $(2)$ $3,171 
Certificate of deposit3,535  (1) 3,534 
U.S. treasury18,021 $1 $(370)$ $17,652 
U.S. agency and government sponsored securities2,998  (65) 2,933 
U.S. states and municipalities12,615  (249) 12,366 
Corporate bonds68,565  (1,325) 67,240 
Total$108,907 $1 $(2,012)$ $106,896 
December 31, 2022
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
U.S. treasury$14,482 $ $(478)$ $14,004 
U.S. agency and government sponsored securities6,999  (176) 6,823 
U.S. states and municipalities23,460  (501) 22,959 
Corporate bonds76,731  (2,345) 74,386 
Total$121,672 $ $(3,500)$ $118,172 
As of June 30, 2023, the total amortized cost basis of the Company’s available-for-sale securities in an unrealized loss position exceeded its fair value by $2.0 million, which was primarily attributable to widening credit spreads and rising interest rates since purchase. The Company reviewed its available-for-sale securities in an unrealized loss position and concluded that the decline in fair value was not related to credit losses and is recoverable. During the three and six months ended June 30, 2023, no allowance for credit losses was recorded and instead the unrealized losses are reported as a component of accumulated other comprehensive loss.
8

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than twelve months or for twelve months or more as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Less than 12 months12 months or moreTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Commercial paper$3,171 $(3)$ $ $3,171 $(3)
Certificate of deposit2,899 $(1)$ $ $2,899 $(1)
U.S. treasury$5,583 $(115)$9,235 $(255)$14,818 $(370)
U.S. agency and government sponsored securities  2,933 (64)2,933 (64)
U.S. states and municipalities  11,366 (249)11,366 (249)
Corporate bonds17,520 (41)49,719 (1,284)67,239 (1,325)
Total$29,173 $(160)$73,253 $(1,852)$102,426 $(2,012)
December 31, 2022
Less than 12 months12 months or moreTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
U.S. treasury  14,004 (478)14,004 (478)
U.S. agency and government sponsored securities  6,823 (176)6,823 (176)
U.S. states and municipalities4,567 (68)13,772 (433)18,339 (501)
Corporate bonds15,327 (101)59,059 (2,244)74,386 (2,345)
Total$19,894 $(169)$93,658 $(3,331)$113,552 $(3,500)
The following table presents the contractual maturities of the Company’s marketable investments as of June 30, 2023 (in thousands):
June 30, 2023
 Amortized CostFair Value
Due in less than one year$71,589 $70,480 
Due in one to five years37,318 36,416 
Total$108,907 $106,896 
Fair Value of Financial Instruments
Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the measurement date. The accounting guidance establishes a three-tiered hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:
Level 1 - Quoted prices in active markets for identical assets or liabilities.
Level 2 - Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.
The categorization of a financial instrument within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement.
9

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The Company classifies its cash equivalents and marketable investments within Level 1 and Level 2, as it uses quoted market prices or alternative pricing sources and models utilizing market observable inputs.
The Company determined the fair value of its Level 1 financial instruments, which are traded in active markets, using quoted market prices for identical instruments.
Marketable investments classified within Level 2 of the fair value hierarchy are valued based on other observable inputs, including broker or dealer quotations or alternative pricing sources. When quoted prices in active markets for identical assets or liabilities are not available, the Company relies on non-binding quotes from its investment managers, which are based on proprietary valuation models of independent pricing services. These models generally use inputs such as observable market data, quoted market prices for similar instruments, historical pricing trends of a security as relative to its peers. To validate the fair value determination provided by its investment managers, the Company reviews the pricing movement in the context of overall market trends and trading information from its investment managers. In addition, the Company assesses the inputs and methods used in determining the fair value in order to determine the classification of securities in the fair value hierarchy.
The Company did not hold any Level 3 marketable investments as of June 30, 2023 or December 31, 2022. During the six months ended June 30, 2023 and 2022, the Company did not have any transfers between Level 1, Level 2 or Level 3 of the fair value hierarchy. Additionally, the Company did not have any financial assets and liabilities measured at fair value on a non-recurring basis as of June 30, 2023 or December 31, 2022.
The following tables set forth the Company’s financial assets measured at fair value by level within the fair value hierarchy as of June 30, 2023 and December 31, 2022 (in thousands):
 As of June 30, 2023
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$36,916 $ $ $36,916 
Marketable investments:
Commercial paper 3,171  3,171 
Certificate of deposit 3,534  3,534 
U.S. treasury17,652   17,652 
U.S. agency and government sponsored securities 2,933  2,933 
U.S. states and municipalities 12,366  12,366 
Corporate bonds 67,240  67,240 
Total$54,568 $89,244 $ $143,812 
 As of December 31, 2022
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$21,521 $ $ $21,521 
Marketable investments:
U.S. treasury14,004   14,004 
U.S. agency and government sponsored securities 6,823  6,823 
U.S. states and municipalities 22,959  22,959 
Corporate bonds 74,386  74,386 
Total$35,525 $104,168 $ $139,693 


10

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
4. Balance Sheet Components
Inventories
The following table shows the components of inventories as of June 30, 2023 and December 31, 2022 (in thousands):
 June 30, 2023December 31, 2022
Raw materials$100,167 $90,786 
Work in process42,391 26,793 
Finished goods216,212 216,427 
Inventories$358,770 $334,006 
Accrued Liabilities
The following table shows the components of accrued liabilities as of June 30, 2023 and December 31, 2022 (in thousands):
 June 30, 2023December 31, 2022
Payroll and employee-related cost$61,945 $60,480 
Accrued expenses10,507 10,902 
Deferred revenue8,430 9,158 
Other accrued liabilities24,724 25,760 
Total accrued liabilities$105,606 $106,300 
The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the six months ended June 30, 2023 and twelve months ended December 31, 2022, respectively (in thousands):
 June 30, 2023December 31, 2022
Balance at the beginning of the period$5,370 $4,310 
Accruals of warranties issued1,025 2,451 
Settlements of warranty claims(645)(1,391)
Balance at the end of the period$5,750 $5,370 
5. Intangible Assets
Acquired Intangible Assets
The following tables present details of the Company’s acquired finite-lived intangible assets as of June 30, 2023 and December 31, 2022 (in thousands, except weighted-average amortization period):
As of June 30, 2023Weighted-Average Amortization PeriodGross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(14,877)$68,412 
Customer relationships15.0 years6,489 (2,595)3,894 
Trade secrets and processes20.0 years5,256 (1,446)3,810 
Total intangible assets 9.7 years$95,034 $(18,918)$76,116 
11

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
As of December 31, 2022Weighted-Average
Amortization Period
Gross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(10,113)$73,176 
Customer relationships15.0 years6,383 (2,340)4,043 
Trade secrets and processes20.0 years5,256 (1,314)3,942 
Other5.0 years1,646 (1,646) 
Total intangible assets9.6 years$96,574 $(15,413)$81,161 
The gross carrying amount and accumulated amortization of the customer relationships are the only intangible assets subject to foreign currency translation effects.
The following table presents the amortization expense recorded related to the Company’s finite-lived intangible assets for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Cost of revenue$66 $66 $131 $132 
Sales, general and administrative2,488 1,972 4,975 3,954 
Total$2,554 $2,038 $5,106 $4,086 
6. Goodwill
The following table presents the changes in goodwill during the six months ended June 30, 2023 (in thousands):
Total Company
Balance as of December 31, 2022$166,046 
Foreign currency translation 120 
Balance as of June 30, 2023$166,166 
Goodwill Impairment Review
The Company reviews goodwill for impairment annually during the fourth quarter or more frequently if events or circumstances indicate that an impairment loss may have occurred. The Company determined there were no impairment indicators as of June 30, 2023.
7. Indebtedness
Credit Agreement
On April 24, 2020, the Company entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement is secured and provides for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for the Company to increase the aggregate borrowing capacity to up to $150 million, and originally matured on April 23, 2021. During the three months ended March 31, 2021 and 2022, the Credit Agreement was amended to extend the maturity date and make other changes to the terms of the Credit Agreement.
In the first quarter of 2023, the Company and JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A., as lenders, entered into Amendment No. 3 to the Credit Agreement. Pursuant to the amendment, (i) the maturity date of the Credit Agreement was extended from February 17, 2023 to February 16, 2024, (ii) certain changes were made to the reference benchmark interest rates, applicable margins and borrowing mechanics under the Credit Agreement, which have the overall effect of increasing the interest rates payable by the Company on amounts borrowed under the Credit Agreement, and (iii) the commitment fee payable on the average daily unused amount under the Credit Agreement was increased to 0.35% per annum.
The Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio and to not exceed a
12

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
maximum leverage ratio. As of June 30, 2023, the Company was in compliance with these requirements.
As of June 30, 2023 and December 31, 2022, there were no borrowings outstanding under the Credit Agreement.
8. Commitments and Contingencies
Royalty Obligations
In March 2005, the Company entered into a license agreement that requires the Company to make minimum royalty payments to the licensor on a quarterly basis. In July 2019, the Company amended the license agreement to extend its term for an additional ten years and to increase the required minimum annual royalty payments by $0.2 million. As of both June 30, 2023 and December 31, 2022, the amended license agreement required minimum quarterly royalty payments of $0.3 million. Unless terminated earlier, the term of the amended license agreement shall expire June 30, 2029.
In April 2012, the Company entered into an agreement that requires the Company to pay, on a quarterly basis, a 5% royalty on sales of products covered under applicable patents. The first commercial sale of covered products occurred in April 2014. Unless terminated earlier, the royalty term for each applicable product shall continue for fifteen years following the first commercial sale of such patented product, or when the applicable patent covering such product has expired, whichever is sooner.
Royalty expense included in cost of revenue for the three months ended June 30, 2023 and 2022 was $0.7 million and $0.6 million, respectively, and for the six months ended June 30, 2023 and 2022, was $1.3 million and $1.2 million, respectively.
Contingencies
From time to time, the Company may have certain contingent liabilities that arise in the ordinary course of business. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.
Indemnification
The Company enters into standard indemnification arrangements in the ordinary course of business. In many such arrangements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties for losses suffered or incurred by the indemnified parties in connection with any trade secret, copyright, patent or other intellectual property infringement claim by any third-party with respect to the Company’s technology. The Company also agrees to indemnify many indemnified parties for product defect and similar claims. The term of these indemnification agreements is generally perpetual. The maximum potential amount of future payments the Company could be required to make under these agreements is not determinable because it involves claims that may be made against the Company in the future, but have not yet been made.
The Company has entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers, other than liabilities arising from willful misconduct of the individual.
The Company has not incurred costs to defend lawsuits or settle claims related to these indemnification agreements. No liability associated with any of these indemnification requirements has been recorded to date.
Litigation
From time to time, the Company is subject to other claims and assessments in the ordinary course of business. The Company is not currently a party to any such litigation matter that, individually or in the aggregate, is expected to have a material adverse effect on the Company’s business, financial condition, results of operations or cash flows.
9. Stockholders’ Equity
Stock-based Compensation
Stock-based compensation expense is associated with restricted stock units (“RSUs”), RSUs with performance conditions (“PSUs”), stock options, and the Company’s Employee Stock Purchase Plan.
Certain RSUs granted to senior management during the three months ended March 31, 2023, will vest subject to the achievement of pre-established financial performance targets for the year ending December 31, 2023, and continued service. The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded
13

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.
The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Cost of revenue$1,281 $880 $2,472 $1,736 
Research and development2,431 1,514 4,709 2,900 
Sales, general and administrative9,111 6,392 18,408 13,043 
Total$12,823 $8,786 $25,589 $17,679 
As of June 30, 2023, total unrecognized compensation cost related to unvested share-based compensation arrangements, excluding PSUs, was $71.4 million, which is expected to be recognized over a weighted average period of 2.8 years.
As of June 30, 2023, total unrecognized compensation cost related to unvested PSU share-based compensation arrangements was $15.8 million, which is expected to be recognized over a weighted average period of 3.7 years.
The total stock-based compensation cost capitalized in inventory was $2.1 million and $2.2 million as of June 30, 2023 and December 31, 2022, respectively.
10. Accumulated Other Comprehensive Income (Loss)
Other comprehensive income (loss) consists of two components: unrealized gains or losses on the Company’s available-for-sale marketable investments and gains or losses from foreign currency translation adjustments. Until realized and reported as a component of consolidated net income (loss), these comprehensive income (loss) items accumulate and are included within accumulated other comprehensive income (loss). Unrealized gains and losses on the Company’s marketable investments are reclassified from accumulated other comprehensive income (loss) into earnings when realized upon sale, and are determined based on specific identification of securities sold. Gains and losses from the translation of assets and liabilities denominated in non-U.S. dollar functional currencies are included in accumulated other comprehensive income (loss).
The following table summarizes the changes in the accumulated balances during the period and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income (loss) into earnings affect the Company’s condensed consolidated statements of operations and condensed consolidated statements of comprehensive income (loss) (in thousands):    
Three Months Ended June 30, 2023Three Months Ended June 30, 2022
 Marketable
Investments
 Currency Translation
Adjustments
 Total Marketable
Investments
 Currency Translation
Adjustments
 Total
Balance, beginning of the period$(2,640)$(4,221)$(6,861)$(3,069)$(2,903)$(5,972)
Other comprehensive income (loss) before reclassifications:
Unrealized gains (losses) — marketable investments628  628 (853) (853)
Foreign currency translation gains (losses) 654 654  (3,333)(3,333)
Net of tax628 654 1,282 (853)(3,333)(4,186)
Net current-year other comprehensive income (loss)628 654 1,282 (853)(3,333)(4,186)
Balance, end of the period$(2,012)$(3,567)$(5,579)$(3,922)$(6,236)$(10,158)

14

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
Six Months Ended June 30, 2023Six Months Ended June 30, 2022
Marketable
Investments
Currency Translation
Adjustments
TotalMarketable
Investments
Currency Translation
Adjustments
Total
Balance, beginning of the period$(3,500)$(4,624)$(8,124)$(595)$(2,035)$(2,630)
Other comprehensive income (loss) before reclassifications:
Unrealized gains (losses) — marketable investments1,488  1,488 (3,327) (3,327)
Foreign currency translation gains (losses) 1,057 1,057  (4,201)(4,201)
Net of tax1,488 1,057 2,545 (3,327)(4,201)(7,528)
Net current-year other comprehensive income (loss) 1,488 1,057 2,545 (3,327)(4,201)(7,528)
Balance, end of the period$(2,012)$(3,567)$(5,579)$(3,922)$(6,236)$(10,158)
11. Income Taxes
The Company’s income tax expense (benefit), deferred tax assets and liabilities, and reserves for unrecognized tax benefits reflect management’s best assessment of estimated current and future taxes to be paid. The Company is subject to income taxes in both the United States and foreign jurisdictions. Significant judgment and estimates are required in determining the consolidated income tax expense (benefit).
During interim periods, the Company generally utilizes the estimated annual effective tax rate (“AETR”) method which involves the use of forecasted information. Under the AETR method, the provision is calculated by applying the estimated AETR for the full fiscal year to “ordinary” income or loss (pretax income or loss excluding unusual or infrequently occurring discrete items) for the reporting period. Jurisdictions with tax assets for which the Company believes a tax benefit cannot be realized are excluded from the computation of its AETR.
The Company’s provision for income taxes for the three months ended June 30, 2023 was $0.6 million, which was primarily due to tax expenses attributable to its worldwide profits offset by excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction. The Company’s provision for income taxes for the three months ended June 30, 2022 was $2.5 million, which was primarily due to tax deficiencies (shortfalls) expenses from stock-based compensation attributable to its U.S. jurisdiction as a result of stock price fluctuation, offset by tax benefits attributable to its worldwide losses. The Company’s effective tax rate changed to 2.9% for the three months ended June 30, 2023 from (215.9)% for the three months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in 2023 comparing to large tax expenses over relatively small worldwide losses in 2022.
The Company’s provision for income taxes for the six months ended June 30, 2023 was $0.7 million, which was primarily due to tax expenses attributable to its worldwide profits offset by excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction. The Company’s benefit from income taxes for the six months ended June 30, 2022 was $2.7 million, which was primarily due to tax benefits attributable to its worldwide losses, offset by tax deficiencies (shortfall) expenses from stock-based compensation attributable to its U.S. jurisdiction as a result of stock price fluctuation. The Company’s effective tax rate changed to 2.4% for the six months ended June 30, 2023 from 42.5% for the six months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in 2023 comparing to large tax benefits over relatively small worldwide losses in 2022.
Significant domestic deferred tax assets (“DTAs”) were generated in recent years, primarily due to excess tax benefits from stock option exercises and vesting of restricted stock units. The Company evaluates all available positive and negative evidence, objective and subjective in nature, in each reporting period to determine if sufficient taxable income will be generated to realize the benefits of its DTAs and, if not, a valuation allowance to reduce the DTAs is recorded.
As of June 30, 2023 and 2022, the Company maintains a valuation allowance against its Federal Research and Development Tax Credit DTAs as the Company could not conclude at the required more-likely-than-not level of certainty, that the benefit of these tax attributes would be realized prior to expiration. The Company intends to continue maintaining this full valuation allowance until there is sufficient evidence to reverse it. However, considering current earnings and anticipated future earnings, as well as the impact of IRC Section 174 requiring qualified research expenditures to be capitalized and amortized over 5 or 15 years, the Company anticipates net operating loss (“NOL”) utilization may be accelerated. As a consequence, the Company believes there is a reasonable possibility that sufficient positive evidence may become available to conclude this valuation allowance may no longer be needed within the next 12 months. Release of the valuation allowance will result in the recognition of Federal Research and Development Tax Credit DTAs and a decrease to income tax expenses for the period in which the release is recorded. The exact timing and amount of the valuation allowance release are highly dependent on the level
15

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
of taxable income in future years. The Company will continue to closely monitor the need for this valuation allowance in each subsequent reporting period.
As of June 30, 2023 and 2022, the company maintains a full valuation allowance against its California DTAs as the Company does not expect to generate sufficient future taxable income in California to realize the tax benefit due to the computation of California taxes under the single sales factor and non-conformity of the Section 174 capitalization rule.
The Company maintains that all foreign earnings, with the exception of a portion of the earnings of its German subsidiary, are permanently reinvested outside the United States and therefore deferred taxes attributable to such earnings are not provided for in the Company’s condensed consolidated financial statements as of June 30, 2023.
12. Net Income (Loss) per Share
The Company computed basic net income (loss) per share based on the weighted average number of shares of common stock outstanding during the period. The Company computed diluted net income (loss) per share based on the weighted average number of shares of common stock outstanding plus potentially dilutive common stock equivalents outstanding during the period using the treasury stock method. For the purposes of this calculation, stock options, restricted stock units and stock sold through the Company’s employee stock purchase plan are considered common stock equivalents.
A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income (loss) per share is as follows (in thousands, except share and per share amounts):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Numerator:
Net income (loss)$18,960 $(3,687)$27,522 $(3,608)
Denominator:
Weighted average shares used to compute net income (loss) attributable to common stockholders:
Basic38,320,999 37,767,519 38,254,042 37,707,156 
Potential dilutive stock-based options and awards880,156  897,370  
Diluted39,201,155 37,767,519 39,151,412 37,707,156 
Net income (loss) per share:
Basic$0.49 $(0.10)$0.72 $(0.10)
Diluted$0.48 $(0.10)$0.70 $(0.10)
For the three months ended June 30, 2023 and 2022, outstanding stock-based awards of 8 thousand and 1,766 thousand shares, respectively, and for the six months ended June 30, 2023 and 2022 outstanding stock-based awards of 8 thousand and 1,878 thousand shares, respectively, were excluded from the computation of diluted net income (loss) per share because their effect would have been anti-dilutive.
13. Revenues
Revenue Recognition
Revenue is recognized in an amount that reflects the consideration the Company expects to be entitled to in exchange for goods or services. All revenue recognized in the condensed consolidated statements of operations is considered to be revenue from contracts with customers.
16

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
The following table presents the Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
United States$186,772 $141,456 $358,651 $285,764 
International74,727 66,888 144,246 126,475 
Total$261,499 $208,344 $502,897 $412,239 
The following table presents the Company’s revenues disaggregated by product category for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Vascular$152,684 $123,543 $295,533 $246,352 
Neuro108,815 84,801 207,364 165,887 
Total$261,499 $208,344 $502,897 $412,239 
China Distribution and Technology Licensing Agreement
In December 2020, the Company entered into a distribution and technology licensing arrangement with its existing distribution partner in China. In addition to modifying the Company’s standard distribution agreement with its partner in China, the Company agreed to license the technology for certain products to its partner in China to permit the manufacturing and commercialization of such products in China as well as provide certain regulatory support. During the three months ended March 31, 2022, the Company further amended the distribution agreement and entered into an additional license agreement, pursuant to which the Company agreed to license the technology for additional products to its partner in China on substantially the same terms as the existing license agreement. Apart from the standard distribution agreement, the Company will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support and royalty payments on the down-stream sale of the licensed products.
Performance Obligations
Delivery of products - The Company’s contracts with customers typically contain a single performance obligation, delivery of the Company’s products. Satisfaction of that performance obligation occurs when control of the promised goods transfers to the customer, which is generally upon shipment for non-consignment sale agreements and upon utilization for consignment sale agreements.
Payment terms - The Company’s payment terms vary by the type and location of our customer. The timing between fulfillment of performance obligations and when payment is due is not significant and does not give rise to financing transactions. The Company did not have any contracts with significant financing components as of June 30, 2023.
Product returns - The Company may allow customers to return products purchased at the Company’s discretion. The Company estimates the amount of its product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period in which the related product revenue is recognized. The Company currently estimates product return liabilities using its own historic sales information, trends, industry data, and other relevant data points.
Warranties - The Company offers its standard warranty to all customers and it is not available for sale on a standalone basis. The Company’s standard warranty represents its guarantee that its products function as intended, are free from defects, and comply with agreed-upon specifications and quality standards. This assurance does not constitute a service and is not a separate performance obligation.
Transaction Price
Revenue is recorded at the net sales price, which includes estimates of variable consideration such as product returns utilizing historical return rates, rebates, discounts, and other adjustments to net revenue. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price. When determining if variable consideration should be constrained, management considers whether there are
17

Penumbra, Inc.
Notes to Condensed Consolidated Financial Statements
(unaudited)
factors that could result in a significant reversal of revenue and the likelihood of a potential reversal. Variable consideration is included in revenue only to the extent that it is probable that a significant reversal of the revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. These estimates are reassessed each reporting period. During the three and six months ended June 30, 2023, the Company made no material changes in estimates for variable consideration. When the Company performs shipping and handling activities after control of goods is transferred to the customer, they are considered as fulfillment activities, and costs are accrued for when the related revenue is recognized. Taxes collected from customers relating to product sales and remitted to governmental authorities are excluded from revenues.
Contract liabilities, net
The following information summarizes the Company’s contract assets and liabilities, net as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023December 31, 2022
Contract liabilities, net$7,883 $8,783 
Contract liabilities represents amounts that the Company has already invoiced and are ultimately expected to be recognized as revenue, but for which not all revenue recognition criteria have been met and is recognized as the associated performance obligations are satisfied. Contract assets for the periods presented primarily represent the difference between the revenue that was recognized based on the relative standalone selling price of the related performance obligations satisfied and the contractual billing terms in the arrangements. Revenue recognized during the three and six months ended June 30, 2023 relating to contract liabilities as of March 31, 2023 and December 31, 2022 was $0.4 million and $0.9 million, respectively.
18

ITEM 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS.
The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited consolidated financial statements and notes thereto and management’s discussion and analysis of financial condition and results of operations for the year ended December 31, 2022, included in our Annual Report on Form 10-K filed with the Securities and Exchange Commission (“SEC”) on February 23, 2023.
This Quarterly Report on Form 10-Q contains “forward-looking statements” within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). In some cases, you can identify these statements by forward-looking words such as “may,” “will,” “expect,” “believe,” “anticipate,” “intend,” “could,” “should,” “estimate,” or “continue,” and similar expressions or variations, but these words are not the exclusive means for identifying such statements. Such forward-looking statements are subject to risks, uncertainties and other factors that could cause actual results and the timing of certain events to differ materially from future results and timing expressed or implied by such forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those identified below, and those discussed in the section titled “Risk Factors” in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2022. The forward-looking statements in this Quarterly Report on Form 10-Q represent our views as of the date of this Quarterly Report on Form 10-Q. Except as may be required by law, we assume no obligation to update these forward-looking statements or the reasons that results could differ from these forward-looking statements. You should, therefore, not rely on these forward-looking statements as representing our views as of any date subsequent to the date of this Quarterly Report on Form 10-Q.
Overview
Penumbra is a global healthcare company focused on innovative therapies. We design, develop, manufacture and market novel products and have a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. Our team focuses on developing, manufacturing and marketing novel products for use by specialist physicians and healthcare providers to drive improved clinical outcomes and health. We believe that the cost-effectiveness of our products is attractive to our customers.
Since our founding in 2004, we have invested heavily in our product development capabilities in our major markets: neuro, vascular, and immersive healthcare. We have successfully developed, obtained regulatory clearance or approval for, and introduced products into the neurovascular market since 2007, vascular market since 2013, neurosurgical market since 2014, and immersive healthcare market since 2020, respectively. We continue to expand our portfolio of product offerings, while developing and iterating on our currently available products.
We expect to continue to develop and build our portfolio of products, including our thrombectomy, embolization and access and immersive technologies. Generally, when we introduce a next generation product or a new product designed to replace a current product, sales of the earlier generation product or the product replaced decline. Our research and development activities are centered around the development of new products and clinical activities designed to support our regulatory submissions and demonstrate the effectiveness of our products.
To address the challenging and significant clinical needs of our key markets, we have developed products that fall into the following broad product families:
Our neuro products fall into four broad product families:
Neuro thrombectomy - Penumbra System, including Penumbra RED, JET, ACE catheters and the 3D Revascularization Device, Penumbra ENGINE and other components and accessories
Neuro embolization - Penumbra SMART COIL, Penumbra Coil 400, POD400 and PAC400
Neuro access - delivery catheters, consisting of Neuron, Neuron MAX Select, BENCHMARK, BMX96, BMX81, DDC, PX SLIM and SENDit
Neurosurgical - Artemis Neuro Evacuation Device
Our vascular products fall into two broad product families:
Vascular thrombectomy - INDIGO System designed for continuous or modulated aspiration, computer-orchestrated mechanical thrombectomy, including aspiration catheters, microprocessor-controlled software algorithms that orchestrate the interaction of our pump and catheters, separators, aspiration pump and accessories
19

Peripheral embolization - RUBY Coil System, Ruby LP, LANTERN Delivery Microcatheter and the POD System (POD and POD Packing Coil)
Our immersive healthcare products fall into one broad product family:
REAL Immersive System - portfolio of products that leverages immersive computer-based technologies to deliver engaging, immersive therapeutics to promote better health, motor function and cognition
We support healthcare providers, hospitals and clinics in more than 100 countries. In the six months ended June 30, 2023 and 2022, 28.7% and 30.7% of our revenue, respectively, was generated from customers located outside of the United States. Our sales outside of the United States are denominated principally in the euro and Japanese yen, with some sales being denominated in other currencies. As a result, we have foreign exchange exposure but do not currently engage in hedging.
We generated revenue of $502.9 million and $412.2 million for the six months ended June 30, 2023 and 2022, respectively, an increase of $90.7 million. We generated income from operations of $25.9 million and a loss from operations of $4.2 million for the six months ended June 30, 2023 and 2022, respectively.
Factors Affecting Our Performance
There are a number of factors that have impacted, and we believe will continue to impact, our results of operations and growth. These factors include: 
The COVID-19 pandemic and measures taken in response thereto, which have negatively affected, and may continue to negatively affect, our revenues and results of operations. For example, as a result of the pandemic and the response thereto, global supply chains have been impacted, and we may experience significant and unpredictable fluctuations in the availability and cost of components and raw materials used in our products.
The rate at which we grow our salesforce and the speed at which newly hired salespeople become fully effective can impact our revenue growth or our costs incurred in anticipation of such growth.
Our industry is intensely competitive and, in particular, we compete with a number of large, well-capitalized companies. We must continue to successfully compete in light of our competitors’ existing and future products and their resources to successfully market to the specialist physicians and other healthcare providers who use our products.
We must continue to successfully introduce new products that gain acceptance with specialist physicians and other healthcare providers and successfully transition from existing products to new products, ensuring adequate supply. In addition, as we introduce new products and expand our production capacity, we anticipate additional personnel will be hired and trained to build our inventory of components and finished goods in advance of sales, which may cause quarterly fluctuations in our operating results and financial condition.
Publications of clinical results by us, our competitors and other third parties can have a significant influence on whether, and the degree to which, our products are used by specialist physicians and the procedures and treatments those physicians choose to administer for a given condition.
The specialist physicians who use our interventional products may not perform procedures during certain times of the year, such as those periods when they are at major medical conferences or are away from their practices for other reasons, the timing of which occurs irregularly during the year and from year to year.
Most of our sales outside of the United States are denominated in the local currency of the country in which we sell our products. As a result, our revenue from international sales can be significantly impacted by fluctuations in foreign currency exchange rates.
The availability and levels of reimbursement within the relevant healthcare payment system for healthcare providers for procedures in which our products are used.
In addition, we have experienced and expect to continue to experience meaningful variability in our quarterly revenue, gross profit and gross margin percentage as a result of a number of factors, including, but not limited to: the number of available selling days, which can be impacted by holidays; the mix of products sold; the geographic mix of where products are sold; the demand for our products and the products of our competitors; the timing of or failure to obtain regulatory approvals or clearances for products; increased competition; the timing of customer orders; inventory write-offs due to obsolescence; costs, benefits and timing of new product introductions; costs, benefits and timing of the acquisition and integration of businesses and product lines we may acquire; the availability and cost of components and raw materials; and fluctuations in foreign currency
20

exchange rates. We may experience quarters in which we have significant revenue growth sequentially followed by quarters of moderate or no revenue growth. Additionally, we may experience quarters in which operating expenses, in particular research and development expenses, fluctuate depending on the stage and timing of product development.
COVID-19 Pandemic
In March 2020, the World Health Organization declared the outbreak of COVID-19 as a pandemic, which spread throughout the U.S. and the world. In response, governments issued orders restricting certain activities, and while our business falls within the category of healthcare operations, which are essential businesses that have generally been permitted to continue operating during the COVID-19 pandemic, we have experienced, and may continue to experience, disruptions to our operations as a result of the pandemic. For example, at times during the pandemic, hospital resources have been diverted to fight the pandemic, and many government agencies, in conjunction with healthcare systems, have recommended the deferral of elective and semi-elective medical procedures. In addition, the pandemic and the response thereto have impacted global supply chains and labor markets, resulting in cost inflation and raw material supply constraints, as well as an increase in employee turnover rates in certain jurisdictions, which has impacted, and may continue to impact, our business. In order to navigate the pandemic, we made certain changes to how we manufacture, inspect and ship our products to prioritize the health and safety of our employees and to operate under the protocols mandated by our local and state governments.
While the acute phase of the pandemic has subsided due to the development and widespread availability of vaccines for COVID-19,we are unable to reliably predict the full impact that COVID-19 will have on our business due to numerous uncertainties, including the severity and duration of the pandemic, the global resurgences of cases, particularly as new variants of the virus spread, additional actions that may be taken by governmental authorities in response to the pandemic, the impact of the pandemic on the business of our customers, distributors and suppliers, other businesses and worldwide economies in general, our ability to have access to our customers to provide training and case support, and other factors identified in Part I, Item 1A “Risk Factors” in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022. We will continue to evaluate the nature and extent of the impact of COVID-19 on our business, consolidated results of operations, and financial condition.
Components of Results of Operations
Revenue. We sell our interventional products directly to hospitals and other healthcare providers and through distributors for use in procedures performed by specialist physicians to treat patients in two key markets: neuro and vascular disease. We sell our products through purchase orders, and we do not have long term purchase commitments from our customers. Revenue from product sales is recognized either on the date of shipment or the date of receipt by the customer, but is deferred for certain transactions when control has not yet transferred. With respect to products that we consign to hospitals, which primarily consist of coils, we recognize revenue at the time hospitals utilize products in a procedure. Revenue also includes shipping and handling costs that we charge to customers.
Cost of Revenue. Cost of revenue consists primarily of the cost of raw materials and components, personnel costs, including stock-based compensation, inbound freight charges, receiving costs, inspection and testing costs, warehousing costs, royalty expense, shipping and handling costs, and other labor and overhead costs incurred in the manufacturing of products. In addition, we record write-downs or write-offs of inventory in the event that a portion of our inventory becomes excess or obsolete.
We manufacture substantially all of our products in our manufacturing facilities in Alameda and Roseville, California.
Operating Expenses
Research and Development (“R&D”). R&D expenses primarily consist of product development, clinical and regulatory expenses, materials, depreciation and other costs associated with the development of our products. R&D expenses also include salaries, benefits and other related costs, including stock-based compensation, for personnel and consultants. We generally expense R&D costs as they are incurred, with the exception of certain costs incurred for the development of computer software for internal use related to our REAL Immersive System offerings. We capitalize certain costs when it is determined that it is probable that the project will be completed and the software will be used to perform the function intended, and the preliminary project stage is completed. Capitalized internal use software development costs are included in property and equipment, net within the condensed consolidated balance sheets.
Sales, General and Administrative (“SG&A”). SG&A expenses primarily consist of salaries, benefits and other related costs, including stock-based compensation, for personnel and consultants engaged in sales, marketing, finance, legal, compliance, administrative, facilities, information technology and human resource activities. Our SG&A expenses also include
21

marketing trials, medical education, training, commissions, generally based on sales, to direct sales representatives, amortization of acquired intangible assets and acquisition-related costs.
Provision For (Benefit from) Income Taxes
We are taxed at the rates applicable within each jurisdiction in which we operate. The composite income tax rate, tax provisions, deferred tax assets (“DTAs”) and deferred tax liabilities will vary according to the jurisdiction in which profits arise. Tax laws are complex and subject to different interpretations by management and the respective governmental taxing authorities, and require us to exercise judgment in determining our income tax provision, our deferred tax assets and deferred tax liabilities and the potential valuation allowance recorded against our net DTAs. Deferred tax assets and liabilities are determined using the enacted tax rates in effect for the years in which those tax assets are expected to be realized. A valuation allowance is established when it is more likely than not that the future realization of all or some of the DTAs will not be achieved.
Results of Operations
The following table sets forth the components of our condensed consolidated statements of operations in dollars and as a percentage of revenue for the periods presented:
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
 (in thousands, except for percentages)(in thousands, except for percentages)
Revenue$261,499 100.0 %$208,344 100.0 %$502,897 100.0 %$412,239 100.0 %
Cost of revenue94,638 36.2 74,309 35.7 184,964 36.8 150,786 36.6 
Gross profit166,861 63.8 134,035 64.3 317,933 63.2 261,453 63.4 
Operating expenses:
Research and development21,537 8.2 19,559 9.4 41,523 8.3 40,123 9.7 
Sales, general and administrative127,435 48.7 114,615 55.0 250,513 49.8 225,515 54.7 
Total operating expenses148,972 57.0 134,174 64.4 292,036 58.1 265,638 64.4 
Income (loss) from operations17,889 6.8 (139)(0.1)25,897 5.1 (4,185)(1.0)
Interest income (expense), net839 0.3 (72)0.0 1,393 0.3 (119)— 
Other income (expense), net808 0.3 (956)(0.5)898 0.2 (1,967)(0.5)
Income (loss) before income taxes19,536 7.5 (1,167)(0.6)28,188 5.6 (6,271)(1.5)
Provision for (benefit from) income taxes576 0.2 2,520 1.2 666 0.1 (2,663)(0.6)
Net income (loss)$18,960 7.3 %$(3,687)(1.8)%$27,522 5.5 %$(3,608)(0.9)%

Three Months Ended June 30, 2023 Compared to the Three Months Ended June 30, 2022
Revenue
 Three Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
Vascular$152,684 $123,543 $29,141 23.6 %
Neuro108,815 84,801 24,014 28.3 %
Total$261,499 $208,344 $53,155 25.5 %
Revenue increased $53.2 million, or 25.5%, to $261.5 million in the three months ended June 30, 2023, from $208.3 million in the three months ended June 30, 2022. Overall revenue growth was primarily due to an increase in sales of new and existing products within our vascular and neuro businesses.
Revenue from our vascular products increased $29.1 million, or 23.6%, to $152.7 million in the three months ended June 30, 2023, from $123.5 million in the three months ended June 30, 2022. This increase was driven by a 49.8% increase in sales of our vascular thrombectomy products in the United States and primarily attributable to sales of new products and further market penetration of our existing products while the rest of our vascular business remained relatively flat. Prices for our vascular products remained substantially unchanged during the period.
22

Revenue from our neuro products increased $24.0 million, or 28.3%, to $108.8 million in the three months ended June 30, 2023, from $84.8 million in the three months ended June 30, 2022. This increase was primarily attributable to sales of new products and further market penetration of our existing products in Europe and the United States. The increase in product sales was driven by an increase in sales of our neuro thrombectomy products and neuro access products, which globally increased by 32.4% and 27.6%, respectively, in the three months ended June 30, 2023, partially offset by a decrease in sales of our neuro embolization products, which decreased by 16.1% in the three months ended June 30, 2023. Prices for our neuro products remained substantially unchanged during the period.
Revenue by Geographic Area
The following table presents revenue by geographic area, based on our customers’ shipping destinations, for the three months ended June 30, 2023 and 2022:
Three Months Ended June 30,Change
20232022$%
 (in thousands, except for percentages)
United States$186,772 71.4 %$141,456 67.9 %$45,316 32.0 %
International74,727 28.6 %66,888 32.1 %7,839 11.7 %
Total$261,499 100.0 %$208,344 100.0 %$53,155 25.5 %
Revenue from product sales in international markets increased $7.8 million, or 11.7%, to $74.7 million in the three months ended June 30, 2023, from $66.9 million in the three months ended June 30, 2022. Revenue from international sales represented 28.6% and 32.1% of our total revenue for the three months ended June 30, 2023 and 2022, respectively.
Gross Margin
 Three Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
Cost of revenue$94,638 $74,309 $20,329 27.4 %
Gross profit$166,861 $134,035 $32,826 24.5 %
Gross margin %63.8 %64.3 %
Gross margin remained relatively flat, decreasing by 0.5 percentage points to 63.8% in the three months ended June 30, 2023, from 64.3% in the three months ended June 30, 2022. Gross margin is impacted by product mix, regional mix, start-up costs associated with new product launches, and macroeconomic factors such as inflation headwinds. As such, with favorable product mix, improvement in productivity, and by leveraging our fixed costs on higher volume of new product sales during the year, our gross margin may be positively impacted in the future.
Research and Development (“R&D”)
 Three Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
R&D$21,537 $19,559 $1,978 10.1 %
R&D as a percentage of revenue8.2 %9.4 %
R&D expenses increased by $2.0 million, or 10.1%, to $21.5 million in the three months ended June 30, 2023, from $19.6 million in the three months ended June 30, 2022. The increase was primarily due to a $1.7 million increase in personnel-related expenses.
We have continued to make investments, and plan to continue to make investments, in the development of our products. As part of our ongoing investment in the development of our products, we may incur additional expenses related to research and development milestones. In addition, we have experienced in the past, and may continue to experience in the future, variability in expenses incurred due to the timing and costs of clinical trials and product development, which may include additional personnel-related expenses in conjunction with the launch of new products.
23

Sales, General and Administrative (“SG&A”)
 Three Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
SG&A$127,435 $114,615 $12,820 11.2 %
SG&A as a percentage of revenue48.7 %55.0 %
SG&A expenses increased by $12.8 million, or 11.2%, to $127.4 million in the three months ended June 30, 2023, from $114.6 million in the three months ended June 30, 2022. The increase was primarily due to a $8.6 million increase in personnel-related expenses to support our growth.
As we continue to invest in our growth, we have expanded and may continue to expand our sales, marketing, and general and administrative teams through the hiring of additional employees in critical roles that support our strategic initiatives. In addition, we have experienced in the past, and may continue to experience in the future, variability in expenses incurred due to the timing and costs of investments to support the business.
Provision for income taxes
 Three Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
Provision for income taxes$576 $2,520 $(1,944)(77.1)%
Effective tax rate2.9 %(215.9)%
Our provision for income taxes was $0.6 million for the three months ended June 30, 2023, which was primarily due to tax expenses attributable to our worldwide profits offset by excess tax benefits from stock-based compensation attributable to our U.S. jurisdiction. Our provision for income taxes was $2.5 million for the three months ended June 30, 2022, which was primarily due to tax deficiencies (shortfalls) expenses from stock based compensation attributable to our U.S. jurisdiction as a result of stock price fluctuation, offset by tax benefits attributable to our worldwide losses.

Our effective tax rate changed to 2.9% for the three months ended June 30, 2023 from (215.9)% for the three months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in 2023 comparing to large tax expenses over relatively small worldwide losses in 2022.

Prospectively, our effective tax rate will likely be driven by (1) permanent differences in taxable income for tax and financial reporting purposes, (2) tax expense or benefit attributable to our worldwide financial result, and (3) discrete tax adjustments such as excess tax benefits or deficiencies related to stock-based compensation. Our income tax provision is subject to volatility as the amount of excess tax benefits or deficiencies can fluctuate from period to period based on the price of our stock, the volume of share-based grants settled or vested, and the fair value assigned to equity awards under U.S. GAAP.

As of June 30, 2023 and 2022, we maintain a valuation allowance against our Federal Research and Development Tax Credit DTAs as we could not conclude at the required more-likely-than-not level of certainty, that the benefit of these tax attributes would be realized prior to expiration. We intend to continue maintaining this full valuation allowance until there is sufficient evidence to reverse it. However, considering current earnings and anticipated future earnings, as well as the impact of IRC Section 174 requiring qualified research expenditures to be capitalized and amortized over 5 or 15 years, we anticipate net operating loss (“NOL”) utilization may be accelerated. As a consequence, we believe there is a reasonable possibility that sufficient positive evidence may become available to conclude this valuation allowance may no longer be needed within the next 12 months. Release of the valuation allowance will result in the recognition of Federal Research and Development Tax Credit DTAs and a decrease to income tax expenses for the period in which the release is recorded. The exact timing and amount of the valuation allowance release are highly dependent on the level of taxable income in future years. We will continue to closely monitor the need for this valuation allowance in each subsequent reporting period.

24

Six Months Ended June 30, 2023 Compared to the Six Months Ended June 30, 2022
Revenue
 Six Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
Vascular$295,533 $246,352 $49,181 20.0 %
Neuro207,364 165,887 41,477 25.0 %
Total$502,897 $412,239 $90,658 22.0 %
Revenue increased $90.7 million, or 22.0%, to $502.9 million in the six months ended June 30, 2023, from $412.2 million in the six months ended June 30, 2022. Overall revenue growth was primarily due to an increase in sales of new and existing products within our vascular and neuro businesses.
Revenue from our vascular products increased $49.2 million, or 20.0%, to $295.5 million in the six months ended June 30, 2023, from $246.4 million in the six months ended June 30, 2022. This increase in revenue from our vascular products was primarily attributable to increased revenue in the United States and was driven by sales of our vascular thrombectomy products and peripheral embolization products, which globally increased by 23.5% and 14.1%, respectively, in the six months ended June 30, 2023. These increases were primarily due to higher sales volume as a result of sales of new products and further market penetration of our existing products. Prices for our vascular products remained substantially unchanged during the period.
Revenue from our neuro products increased $41.5 million, or 25.0%, to $207.4 million in the six months ended June 30, 2023, from $165.9 million in the six months ended June 30, 2022. This increase in revenue from our neuro products was primarily attributable to increased revenue in Europe and the United States, sales of new products, and further market penetration of our existing products. This increase was driven by an increase in sales of our neuro access products and neuro thrombectomy products, which globally increased by 31.3% and 25.7%, respectively, in the six months ended June 30, 2023, partially offset by a decrease in sales of our neuro embolization products of 14.9% in the six months ended June 30, 2023. Prices for our neuro products remained substantially unchanged during the period.
Revenue by Geographic Area
The following table presents revenue by geographic area, based on our customer’s shipping destination, for the six months ended June 30, 2023 and 2022:
 Six Months Ended June 30,Change
20232022$%
 (in thousands, except for percentages)
United States$358,651 71.3 %$285,764 69.3 %$72,887 25.5 %
International144,246 28.7 %126,475 30.7 %17,771 14.1 %
Total$502,897 100.0 %$412,239 100.0 %$90,658 22.0 %
Revenue from sales in international markets increased $17.8 million, or 14.1%, to $144.2 million in the six months ended June 30, 2023, from $126.5 million in the six months ended June 30, 2022. Revenue from international sales represented 28.7% and 30.7% of our total revenue for the six months ended June 30, 2023 and 2022, respectively.
Gross Margin
 Six Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
Cost of revenue$184,964 $150,786 $34,178 22.7 %
Gross profit$317,933 $261,453 $56,480 21.6 %
Gross margin %63.2 %63.4 %
Gross margin remained relatively flat, decreasing by 0.2 percentage point to 63.2% in the six months ended June 30, 2023, from 63.4% in the six months ended June 30, 2022. Gross margin is impacted by product mix, regional mix, start-up costs associated with new product launches, and macroeconomic factors such as inflation headwinds. As such, with favorable product mix, improvement in productivity, and by leveraging our fixed costs on higher volume of new product sales during the year, our gross margin may be positively impacted in the future.
25

Research and Development (“R&D”)
 Six Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
R&D$41,523 $40,123 $1,400 3.5 %
R&D as a percentage of revenue8.3 %9.7 %
R&D expenses increased by $1.4 million, or 3.5%, to $41.5 million in the six months ended June 30, 2023, from $40.1 million in the six months ended June 30, 2022. The increase was primarily due to a $2.6 million increase in personnel-related expenses, partially offset by a $1.6 million decrease in product development and testing costs.
We have continued to make investments, and plan to continue to make investments, in the development of our products. As part of our ongoing investment in the development of our products, we may incur additional expenses related to research and development milestones. In addition, we have experienced in the past, and may continue to experience in the future, variability in expenses incurred due to the timing and costs of clinical trials and product development, which may include additional personnel-related expenses in conjunction with the launch of new products.

Sales, General and Administrative (SG&A)
 Six Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
SG&A$250,513 $225,515 $24,998 11.1 %
SG&A as a percentage of revenue
49.8 %54.7 %
SG&A expenses increased by $25.0 million, or 11.1%, to $250.5 million in the six months ended June 30, 2023, from $225.5 million in the six months ended June 30, 2022. The increase was primarily due to a $19.7 million increase in personnel-related expense driven by an increase in headcount and related expenses to support our growth.
As we continue to invest in our growth, we have expanded and may continue to expand our sales, marketing, and general and administrative teams through the hiring of additional employees in critical roles that support our strategic initiatives. In addition, we have experienced in the past, and may continue to experience in the future, variability in expenses incurred due to the timing and costs of investments to support the business.
Provision for (benefit from) income taxes
 Six Months Ended June 30,Change
 20232022$%
 (in thousands, except for percentages)
Provision for (benefit from) income taxes$666 $(2,663)$3,329 (125.0)%
Effective tax rate2.4 %42.5 %
Our provision for income taxes was $0.7 million for the six months ended June 30, 2023, which was primarily due to tax expenses attributable to our worldwide profits offset by tax benefits from stock-based compensation attributable to our U.S. jurisdiction. Our benefit from income taxes was $2.7 million for the six months ended June 30, 2022, which was primarily due to tax benefits attributable to our worldwide losses during the period, offset by excess tax deficiencies (shortfalls) expenses from stock-based compensation attributable to our U.S. jurisdiction as a result of stock price fluctuation.

The effective tax rate changed to 2.4% for the six months ended June 30, 2023 from 42.5% for the six months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in 2023 comparing to large tax benefits over relatively small worldwide losses in 2023.

Prospectively, our effective tax rate will likely be driven by (1) permanent differences in taxable income for tax and financial reporting purposes, (2) tax expense or benefit attributable to our worldwide financial results, and (3) discrete tax adjustments such as excess tax benefits or deficiencies related to stock-based compensation. Our income tax provision can be volatile as the amount of excess tax benefits or deficiencies can fluctuate from period to period due to the price of our stock, the volume of share-based grants exercised or vested, and the fair value assigned to equity awards under U.S. GAAP. In addition, changes in tax law or our interpretation thereof, and changes to our valuation allowance could result in fluctuations in our effective tax rate.
26


As of June 30, 2023 and 2022, we maintain a valuation allowance against our Federal Research and Development Tax Credit DTAs as we could not conclude at the required more-likely-than-not level of certainty, that the benefit of these tax attributes would be realized prior to expiration. We intend to continue maintaining this full valuation allowance until there is sufficient evidence to reverse it. However, considering current earnings and anticipated future earnings, as well as the impact of IRC Section 174 requiring qualified research expenditures to be capitalized and amortized over 5 or 15 years, we anticipate net operating loss (“NOL”) utilization may be accelerated. As a consequence, we believe there is a reasonable possibility that sufficient positive evidence may become available to conclude this valuation allowance may no longer be needed within the next 12 months. Release of the valuation allowance will result in the recognition of Federal Research and Development Tax Credit DTAs and a decrease to income tax expenses for the period in which the release is recorded. The exact timing and amount of the valuation allowance release are highly dependent on the level of taxable income in future years. We will continue to closely monitor the need for this valuation allowance in each subsequent reporting period.

Liquidity and Capital Resources
As of June 30, 2023, we had $683.8 million in working capital, which included $114.2 million in cash and cash equivalents and $106.9 million in marketable investments. As of June 30, 2023, we held approximately 15.5% of our cash and cash equivalents in foreign entities.

In addition to our existing cash and cash equivalents and marketable investment balances, our principal source of liquidity is our accounts receivable. In order to further strengthen our liquidity position and financial flexibility, on April 24, 2020 we entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement is secured and provides for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for us to increase the aggregate borrowing capacity to up to $150 million. The Credit Agreement originally matured on April 23, 2021 and was subsequently amended during the three months ended March 31, 2021, 2022 and 2023 to extend the maturity date and make other changes to the terms of the Credit Agreement. The Credit Agreement currently matures on February 16, 2024. See Note “7. Indebtedness” to our condensed consolidated financial statements in Part I, Item 1 of this Quarterly Report on Form 10-Q for more information.
We believe these sources of liquidity will be sufficient to meet our liquidity requirements for at least the next 12 months. Our principal liquidity requirements are to fund our operations, expand manufacturing operations which includes, but is not limited to, maintaining sufficient levels of inventory to meet the anticipated demand of our customers, fund research and development activities and fund our capital expenditures. We may also lease or purchase additional facilities to facilitate our growth. We expect to continue to make investments as we launch new products, expand our manufacturing operations and information technology infrastructures and further expand into international markets. We may, however, require or elect to secure additional financing as we continue to execute our business strategy. If we require or elect to raise additional funds, we may do so through equity or debt financing, which may not be available on favorable terms, could result in dilution to our stockholders, could result in changes to our capital structure, and could require us to agree to covenants that limit our operating flexibility.
The following table summarizes our cash and cash equivalents, marketable investments and selected working capital data as of June 30, 2023 and December 31, 2022:
 June 30, 2023December 31, 2022
 (in thousands)
Cash and cash equivalents$114,167 $69,858 
Marketable investments106,896 118,172 
Accounts receivable, net208,965 203,384 
Accounts payable25,819 26,679 
Accrued liabilities105,606 106,300 
Working capital(1)
683,752 610,767 
(1) Working capital consists of total current assets less total current liabilities.
27

The following table sets forth, for the periods indicated, our beginning balance of cash and cash equivalents, net cash flows provided by (used in) operating, investing and financing activities and our ending balance of cash and cash equivalents:
 Six Months Ended June 30,
 20232022
 (in thousands)
Cash and cash equivalents and restricted cash at beginning of period$69,858 $59,379 
Net cash provided by (used in) operating activities30,228 (44,089)
Net cash provided by investing activities4,040 36,371 
Net cash provided by financing activities10,070 6,490 
Cash and cash equivalents and restricted cash at end of period114,167 58,234 
Net Cash Provided By (Used In) Operating Activities
Net cash provided by (used in) operating activities consists primarily of consolidated net income adjusted for certain non-cash items (including depreciation and amortization, stock-based compensation expense, inventory write-downs, and changes in deferred tax balances), and the effect of changes in working capital and other activities.
Net cash provided by operating activities was $30.2 million during the six months ended June 30, 2023 and consisted of consolidated net income of $27.5 million and non-cash items of $41.4 million, offset by net changes in operating assets and liabilities of $38.7 million. The change in operating assets and liabilities primarily relates to an increase in inventories of $25.8 million to support our growth, an increase in accounts receivable of $8.4 million due to timing of receipt of payment, and an increase in prepaid expenses and other current and non-current assets of $5.9 million. This was partially offset by an increase in accrued expenses and other non-current liabilities of $1.6 million.
Net cash used in operating activities was $44.1 million during the six months ended June 30, 2022 and consisted of consolidated net loss of $3.6 million and non-cash items of $27.4 million, offset by net changes in operating assets and liabilities of $67.9 million. The change in operating assets and liabilities includes an increase in accounts receivable of $54.3 million due to timing of receipt of payment, an increase in inventories of $36.1 million to support our growth, and an increase in prepaid expenses and other current and non-current assets of $2.5 million. This was partially offset by an increase in accrued expenses and other non-current liabilities of $15.7 million, an increase in accounts payable of $9.0 million, and proceeds of $0.2 million received related to lease incentives from operating leases.
Net Cash Provided By Investing Activities
Net cash provided by investing activities relates primarily to proceeds from maturities and sales of marketable investments, net of purchases, and capital expenditures.
Net cash provided by investing activities was $4.0 million during the six months ended June 30, 2023 and primarily consisted of $12.8 million in proceeds from maturities of marketable investments, net of purchases, which was partially offset by capital expenditures of $8.2 million.
Net cash provided by investing activities was $36.4 million during the six months ended June 30, 2022 and primarily consisted of proceeds from maturities and sales of marketable investments of $45.8 million, partially offset by capital expenditures of $9.4 million.
Net Cash Provided By Financing Activities
Net cash provided by financing activities primarily relates to payments of employee taxes related to vested restricted stock units, payments towards the reduction of our finance lease obligations, and proceeds from exercises of stock options and issuance of common stock under our employee stock purchase plan.
28

Net cash provided by financing activities was $10.1 million during the six months ended June 30, 2023 and primarily consisted of proceeds from the issuance of common stock under our employee stock purchase plan of $8.4 million and proceeds from exercises of stock options of $3.8 million, partially offset by $1.0 million of payments of employee taxes related to vested restricted stock units and $1.0 million in payments towards finance leases.
Net cash provided by financing activities was $6.5 million during the six months ended June 30, 2022 and primarily consisted of proceeds from the issuance of common stock under our employee stock purchase plan of $8.0 million and proceeds from exercises of stock options of $4.6 million. This was partially offset by $5.1 million of payments of employee taxes related to vested restricted stock units and $0.9 million in payments towards finance leases.
Contractual Obligations and Commitments
There have been no other material changes to our contractual obligations and commitments as of June 30, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022.
Critical Accounting Policies and Estimates
We have prepared our financial statements in accordance with U.S. GAAP. Our preparation of these financial statements requires us to make estimates, assumptions, and judgments that affect the reported amounts of assets, liabilities, expenses, and related disclosures at the date of the financial statements, as well as revenue and expenses recorded during the reporting periods. We evaluate our estimates and judgments on an ongoing basis. We base our estimates on historical experience and on various other factors that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Actual results could therefore differ materially from these estimates under different assumptions or conditions.
There have been no material changes to our critical accounting policies from those described in “Management’s Discussion and Analysis of Financial Condition and Results of Operations” included in our Annual Report on Form 10-K for the year ended December 31, 2022.
Recently Issued Accounting Standards
No recently issued accounting standards are expected to impact the Company.
29

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK.
We are exposed to various market risks, which may result in potential losses arising from adverse changes in market rates, such as interest rates and foreign exchange rates. We do not enter into derivatives or other financial instruments for trading or speculative purposes and do not believe we are exposed to material market risk with respect to our cash and cash equivalents or our marketable investments.
Interest Rate Risk. We had cash and cash equivalents of $114.2 million as of June 30, 2023, which consisted of funds held in money market funds, general checking and savings accounts. In addition, we had marketable investments of $106.9 million, which consisted primarily of corporate bonds, certificate of deposit, U.S. agency and government sponsored securities, and U.S. states and municipalities. Our investment policy is focused on the preservation of capital and supporting our liquidity needs. Under the policy, we invest in highly rated securities, while limiting the amount of credit exposure to any one issuer other than the U.S. government. We do not invest in financial instruments for trading or speculative purposes, nor do we use leveraged financial instruments. We utilize external investment managers who adhere to the guidelines of our investment policy. The revolving loans under the Credit Agreement bear interest at: (1) the adjusted EURIBOR rate, plus an applicable rate, for euro currency revolving borrowing; or (2) an alternate base rate, daily simple SOFR, or adjusted term SOFR rate, as applicable, plus an applicable rate, for revolving borrowing in U.S. dollars. As of June 30, 2023, there were no borrowings outstanding under the Credit Agreement. A hypothetical 100 basis point change in interest rates would not have a material impact on the value of our cash and cash equivalents or marketable investments.
Foreign Exchange Risk Management. We operate in countries other than the United States, and, therefore, we are exposed to foreign currency risks. We bill most sales outside of the United States in local currencies, primarily euro and Japanese yen, with some sales being denominated in other currencies. We expect that the percentage of our sales denominated in foreign currencies may increase in the foreseeable future as we continue to expand into international markets. When sales or expenses are not denominated in U.S. dollars, a fluctuation in exchange rates could affect our net income. We do not believe our net income would be materially impacted by an immediate 10% adverse change in foreign exchange rates. We do not currently hedge our exposure to foreign currency exchange rate fluctuations; however, we may choose to hedge our exposure in the future.
While our gross margin for the six months ended June 30, 2023 was primarily impacted by product mix, regional mix, start-up costs associated with new product launches, and macroeconomic factors such as inflation headwinds, changes in prices did not have a significant impact on our results of operations for any periods presented on our consolidated financial statements.

30

ITEM 4. CONTROLS AND PROCEDURES.
Evaluation of Disclosure Controls and Procedures
An evaluation as of June 30, 2023 was carried out under the supervision and with the participation of our management, including our principal executive officer and principal financial officer, of the effectiveness of our “disclosure controls and procedures,” which are defined in Rule 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”), as controls and other procedures of a company that are designed to ensure that the information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms, and that such information is accumulated and communicated to the company’s management, including its principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. Based upon that evaluation, our principal executive officer and principal financial officer concluded that our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) were effective at June 30, 2023.
Changes in Internal Control Over Financial Reporting
There was no change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the quarterly period ended June 30, 2023 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
Limitations on the Effectiveness of Controls
A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Because of inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues, if any, within a company have been detected. Accordingly, our disclosure controls and procedures are designed to provide reasonable, not absolute, assurance that the objectives of our disclosure control system are met and, as set forth above, our principal executive officer and principal financial officer have concluded, based on their evaluation as of the end of the period covered by this report, that our disclosure controls and procedures were effective to provide reasonable assurance that the objectives of our disclosure control system were met.
31

PART II - OTHER INFORMATION

ITEM 1. LEGAL PROCEEDINGS.
For information with respect to Legal Proceedings, see Note “8. Commitments and Contingencies” to our condensed consolidated financial statements in Part I, Item 1 of this Quarterly Report on Form 10-Q.
On April 7, 2023, a former contractor who had been retained by the Company through a third party staffing agency filed a putative class action lawsuit as well as a Private Attorney General Act (“PAGA”) representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the contractor and similarly situated Company contractors and employees in California, alleging various claims pursuant to the California Labor Code related to wages, overtime, meal and rest breaks, reimbursement of business expenses, wage statements and records, and other similar allegations. Additionally, on April 10, 2023, a current employee of the Company filed a PAGA representative action complaint against the Company in the Superior Court of the State of California for the County of Alameda, on behalf of the employee and similarly situated Company employees in California, alleging similar claims. The complaints seek payment of various alleged unpaid wages, penalties, interest and attorneys’ fees in unspecified amounts. The Company believes the claims lack merit, and intends to defend itself vigorously. Given the early stage of these proceedings, it is not yet possible to reliably determine any potential liability that could result from these matters. Accordingly, the Company has not accrued any amount for potential losses associated with these matters.

ITEM 1A. RISK FACTORS.
There have been no material changes to our risk factors reported in, or new risk factors identified since the filing of, our Annual Report on Form 10-K for the year ended December 31, 2022, which was filed with the SEC on February 23, 2023.

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS.
None.

ITEM 3. DEFAULTS UPON SENIOR SECURITIES.
None.

ITEM 4. MINE SAFETY DISCLOSURE.
None.

ITEM 5. OTHER INFORMATION.
Rule 10b5-1 Trading Plans
During the quarterly period ended June 30, 2023, certain of our directors and officers adopted trading plans, each of which is intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act (the “Rule 10b5-1 Trading Arrangements”). Each Rule 10b5-1 Trading Arrangement was entered into during an open trading window under our Securities Trading Policy. The following table presents the material terms of each Rule 10b5-1 Trading Arrangement adopted by our officers and directors during the three months ended June 30, 2023, other than terms with respect to the price at which the individual executing the Rule 10b5-1 Trading Arrangement is authorized to trade:

32

Name and Title of Officer or DirectorPlan Adoption DatePlan DurationTotal Securities to be Sold
Arani Bose, Director
5/19/20238/17/2023 - 1/31/202460,000
Harpreet Grewal, Director
5/23/20239/1/2023 - 1/15/2024680
Don Kassing, Director
5/9/20238/8/2023 - 5/9/2024767
Bridget O'Rourke, Director
5/22/20239/1/2023 - 12/1/2023250
Surbhi Sarna, Director
5/18/20239/1/2023 - 5/31/2024255
Thomas Wilder, Director
5/8/20238/7/2023 - 1/12/2024680
Maggie Yuen, Chief Financial Officer
5/16/20238/16/2023 - 5/16/20244,717
33

ITEM 6. EXHIBITS.
Exhibit NumberDescriptionFormFile No.Exhibit(s)Filing Date
Certification of Principal Executive Officer Required Under Rule 13a-14(a) and 15d-14(a) of the Securities Exchange Act of 1934, as amended.
Certification of Principal Financial Officer Required Under Rule 13a-14(a) and 15d-14(a) of the Securities Exchange Act of 1934, as amended.
Certification of Principal Executive Officer and Principal Financial Officer Required Under Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended, and 18 U.S.C. §1350.
101The following materials from the Company’s Quarterly Report on Form 10-Q for the quarter ended June 30, 2023 formatted in Inline Extensible Business Reporting Language (iXBRL) includes: (i) Condensed Consolidated Balance Sheets as of June 30, 2023 and December 31, 2022, (ii) Condensed Consolidated Statements of Operations for the three and six months ended June 30, 2023 and 2022, (ii) Condensed Consolidated Statements of Comprehensive Income (Loss) for the three and six months ended June 30, 2023 and 2022, (iii) Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2023 and 2022, (iv) Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2023 and 2022, and (v) Notes to Condensed Consolidated Financial Statements.
104Cover Page Interactive Data File (formatted as iXBRL with applicable taxonomy extension information contained in Exhibit 101).
* Furnished herewith.
34

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 hereunto duly authorized.
 
 PENUMBRA, INC.
Date: August 1, 2023 
 By: /s/ Maggie Yuen
 Maggie Yuen
 Chief Financial Officer
(Principal Financial Officer)

35
EX-31.1 2 pen-63023xexhibit311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO RULE 13a-14(a) AND 15d-14(a) OF THE SECURITIES EXCHANGE ACT, AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Adam Elsesser, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Penumbra, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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: August 1, 2023
 
/s/ Adam Elsesser
Adam Elsesser
Chairman, Chief Executive Officer and President


EX-31.2 3 pen-63023xexhibit312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO RULE 13a-14(a) AND 15d-14(a) OF THE SECURITIES EXCHANGE ACT, AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Maggie Yuen, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Penumbra, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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: August 1, 2023
 
/s/ Maggie Yuen
Maggie Yuen
   Chief Financial Officer


EX-32.1 4 pen-63023xexhibit321.htm EX-32.1 Document

Exhibit 32.1
PENUMBRA, INC.
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of Penumbra, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended June 30, 2023, as filed with the Securities and Exchange Commission (the “Report”), Adam Elsesser, Chairman, Chief Executive Officer and President of the Company, and Maggie Yuen, Chief Financial Officer of the Company, respectively, do each hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company at the dates and for the periods presented.
 

 Date: August 1, 2023
/s/ Adam Elsesser
Adam Elsesser
Chairman, Chief Executive Officer and President
/s/ Maggie Yuen
Maggie Yuen
   Chief Financial Officer


EX-101.SCH 5 pen-20230630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Condensed Consolidated Statements of Comprehensive (Loss) Income link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit) link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Organization and Description of Business link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Investments and Fair Value of Financial Instruments link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Balance Sheet Components link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Goodwill link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Stockholder's Equity link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Accumulated Other Comprehensive Income (Loss) link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Net Income (Loss) per Share link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Revenues link:presentationLink link:calculationLink link:definitionLink 9954701 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954702 - Disclosure - Investments and Fair Value of Financial Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954703 - Disclosure - Balance Sheet Components Balance Sheet Components (Tables) link:presentationLink link:calculationLink link:definitionLink 9954704 - Disclosure - Intangible Assets Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954705 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 9954706 - Disclosure - Stockholder's Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 9954707 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables) link:presentationLink link:calculationLink link:definitionLink 9954708 - Disclosure - Net Income (Loss) per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954709 - Disclosure - Revenues Revenues (Tables) link:presentationLink link:calculationLink link:definitionLink 9954710 - Disclosure - Summary of Significant Accounting Policies - Additional Disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9954711 - Disclosure - Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) link:presentationLink link:calculationLink link:definitionLink 9954712 - Disclosure - Investments and Fair Value of Financial Instruments - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954713 - Disclosure - Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) link:presentationLink link:calculationLink link:definitionLink 9954714 - Disclosure - Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) link:presentationLink link:calculationLink link:definitionLink 9954715 - Disclosure - Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954716 - Disclosure - Balance Sheet Components - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 9954717 - Disclosure - Balance Sheet Components - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954718 - Disclosure - Balance Sheet Components - Product Warranty (Details) link:presentationLink link:calculationLink link:definitionLink 9954719 - Disclosure - Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954721 - Disclosure - Debt (Details) link:presentationLink link:calculationLink link:definitionLink 9954722 - Disclosure - Commitments and Contingencies - Royalty Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954723 - Disclosure - Stockholder's Equity - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954724 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Income Taxes Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954726 - Disclosure - Net Income (Loss) per Share - Basic and Diluted Earnings per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Net Income (Loss) per Share - Antidilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954728 - Disclosure - Revenues - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Revenues - Summary of Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 pen-20230630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 pen-20230630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 pen-20230630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred taxes Deferred Income Taxes and Tax Credits Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Proceeds from sales of marketable investments Proceeds from Sale of Debt Securities, Available-for-Sale Schedule of Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Accrued liabilities Total accrued liabilities Accrued Liabilities, Current Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Research and development Research and Development Expense Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Equity Award [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Indebtedness Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Neuro Neuro [Member] Neuro [Member] Revolving Credit Facility Revolving Credit Facility [Member] Schedule of Marketable 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 MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance Shares Performance Shares [Member] Accounts payable Accounts Payable, Current Restatement Determination Date: Restatement Determination Date [Axis] Corporate bonds Corporate Debt Securities [Member] Commitments and contingencies Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Stockholder's Equity Equity [Text Block] Geographical [Axis] Geographical [Axis] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Inventory write-downs Inventory Write-down Award requisite service period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period Royalty Agreement, April 2012 Royalty Agreement, April 2012 [Member] Royalty Agreement, April 2012 [Member] Proceeds from issuance of stock under employee stock purchase plan Proceeds from Stock Plans Income Taxes Income Tax Disclosure [Text Block] Settlements of warranty claims Standard and Extended Product Warranty Accrual, Decrease for Payments Current liabilities: Liabilities, Current [Abstract] Fair Value Measurements, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Accounts receivable, net of allowance for credit losses of $4,775 and $862 at June 30, 2023 and December 31, 2022, respectively Accounts Receivable, after Allowance for Credit Loss, Current Goodwill [Roll Forward] Goodwill [Roll Forward] SUPPLEMENTAL CASH FLOW INFORMATION: Supplemental Cash Flow Elements [Abstract] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Level 3 Fair Value, Inputs, Level 3 [Member] Increase in minimum annual royalty payments Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments Line of Credit Line of Credit [Member] Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Net income (loss) Net income (loss) Net income (loss) Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Due in one to five years Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five Term of agreement Royalty Obligations, Term of Agreement Royalty Obligations, Term of Agreement Liabilities and Stockholders’ Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Gross Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Thomas Wilder [Member] Thomas Wilder Contract liabilities, net Contract with Customer, Liability Other Other Intangible Assets [Member] Reconciliation of the Numerator and Denominator used in the Calculation of the Basic and Diluted Earnings per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Executive Category: Executive Category [Axis] Weighted-Average Amortization Period Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Other Commitments [Table] Other Commitments [Table] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name Goodwill Goodwill Goodwill Goodwill Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Certificate of deposit Certificates of Deposit [Member] Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Accruals of warranties issued Standard and Extended Product Warranty Accrual, Increase (Decrease) for Changes in Estimate for New and Preexisting Warranties Standard and Extended Product Warranty Accrual, Increase (Decrease) for Changes in Estimate for New and Preexisting Warranties Accumulated Other Comprehensive Income (Loss) Comprehensive Income (Loss) Note [Text Block] Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Line of credit, increase limit Line Of Credit Facility, Accordian Feature, Increase Limit Line Of Credit Facility, Accordian Feature, Increase Limit Sales, general and administrative Selling, General and Administrative Expenses [Member] Net change in unrealized gains (losses) on available-for-sale securities, 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 Schedule of Contractual Maturities of Marketable Investments Investments Classified by Contractual Maturity Date [Table Text Block] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Line of Credit Facility [Table] Line of Credit Facility [Table] Income Statement Location [Axis] Income Statement Location [Axis] Financial Assets Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] Surbhi Sarna [Member] Surbhi Sarna Shares held for tax withholdings Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Revenue Revenues Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventories Increase (Decrease) in Inventories Research and development Research and Development Expense [Member] CASH FLOWS FROM INVESTING ACTIVITIES: Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Antidilutive securities excluded from the computation of earnings per share (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Document Quarterly Report Document Quarterly Report NONCASH INVESTING AND FINANCING ACTIVITIES: Noncash Investing and Financing Items [Abstract] Purchase of property and equipment funded through accounts payable and accrued liabilities Capital Expenditures Incurred but Not yet Paid Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Right-of-use assets obtained in exchange for lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Trading Arrangement: Trading Arrangement [Axis] Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Long-term Debt, Type [Domain] Long-Term Debt, Type [Domain] Entity File Number Entity File Number Current operating lease liabilities Operating Lease, Liability, Current Marketable Investments AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member] Allowance for Credit Loss Debt Securities, Available-for-Sale, Allowance for Credit Loss Issuance of common stock under employee stock purchase plan (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans Total amortization of finite lived intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company Net of tax OCI, before Reclassifications, Net of Tax, Attributable to Parent Finite lived intangible assets: net Finite-Lived Intangible Assets, Net Restatement Determination Date Restatement Determination Date Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] CASH AND CASH EQUIVALENTS—Beginning of period CASH AND CASH EQUIVALENTS—End of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Royalty as a percent of sales Royalty Obligations, Percent of Sales Royalty Obligations, Percent of Sales Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Weighted average shares outstanding: Denominator: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] 12 Months of more: Fair Value Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer Gross profit Gross Profit Deferred revenue Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Assets, Fair Value Disclosure Assets, Fair Value Disclosure Total: Gross Unrealized Losses Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss Maggie Yuen [Member] Maggie Yuen Sales, general and administrative Selling, General and Administrative Expense Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Employee Stock Option Employee Stock Option [Member] Currency Translation Adjustments Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Finite-lived Intangible Assets Amortization Expense Finite-Lived Intangible Assets Amortization Expense [Table Text Block] Unrecognized compensation cost, expected recognition period (in years) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Other Proceeds from (Payments for) Other Financing Activities Comprehensive income (loss) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Unrecognized compensation cost related to unvested share-based compensation arrangements Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type International Other Non-US [Member] Other Non-US [Member] Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Description Entity Address, Address Line One Product Warranty, Increase (Decrease) [Roll Forward] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Purchases of marketable investments Payments to Acquire Debt Securities, Available-for-Sale Schedule of Finite-lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Income Statement [Abstract] Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Allowance for credit loss Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease) Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Issuance of common stock Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Disclosure of Compensation Related Costs, Share-based Payments [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Other Commitments [Domain] Other Commitments [Domain] Inventories Inventories Inventory, Net Share-based compensation expense, capitalized in inventory Share-Based Payment Arrangement, Amount Capitalized Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Debt Securities, Available-for-Sale [Table] Debt Securities, Available-for-Sale [Table] Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities: Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Total Shareholder Return Amount Total Shareholder Return Amount Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Bank Of America And Citibank Bank Of America And Citibank [Member] Bank Of America And Citibank Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Harpreet Grewal [Member] Harpreet Grewal Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Other Commitments [Line Items] Other Commitments [Line Items] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] CASH FLOWS FROM OPERATING ACTIVITIES: Net Cash Provided by (Used in) Operating Activities [Abstract] Cash paid for amounts included in the measurement of operating lease liabilities Operating Lease, Payments Proceeds from maturities of marketable investments Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale PEO PEO [Member] Other Other Operating Activities, Cash Flow Statement Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward] AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward] Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Foreign currency translation and other adjustments Goodwill, Other Increase (Decrease) 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] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective tax rate Effective Income Tax Rate Reconciliation, Percent Credit Facility [Axis] Credit Facility [Axis] Total liabilities Liabilities Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Prepaid expenses and other current and non-current assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) Total AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Total: Fair Value Debt Securities, Available-for-Sale, Unrealized Loss Position Fair Value, Measurement Frequency [Domain] Measurement Frequency [Domain] All Executive Categories All Executive Categories [Member] Trade secrets and processes Trade Secrets [Member] Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Table] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Debt Disclosure [Abstract] Royalty Agreement, March 2005 Royalty Agreement, March 2005 [Member] Royalty Agreement, March 2005 [Member] Net income (loss) per share: Earnings Per Share [Abstract] Bridget O'Rourke [Member] Bridget O'Rourke Marketable Investments Marketable Securities, Policy [Policy Text Block] Foreign currency translation gains (losses) Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax Common stock Common Stock, Value, Issued Less than 12 months: Fair Value Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months Due in one to five years Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Proceeds from lease incentives Increase (Decrease) in Lease Incentives Increase (Decrease) in Lease Incentives Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Segments Segment Reporting, Policy [Policy Text Block] Total current assets Assets, Current Payments of finance lease obligations Finance Lease, Principal Payments Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Other comprehensive income (loss) before reclassifications: Other Comprehensive Income (Loss) before Reclassifications, Tax [Abstract] NonPerformanceShares [Member] Non-Performance Shares [Member] Share-based payment arrangement in which award of equity shares are granted without performance or market vesting conditions. Other income (expense), net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date PEO Name PEO Name Accrued expenses Other Sundry Liabilities, Current Schedule of Accumulated Other Comprehensive Income (Loss) Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Schedule of Goodwill Schedule of Goodwill [Table Text Block] Net cash provided by (used in) operating activities Net Cash Provided by (Used in) Operating Activities Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Marketable investments Fair Value Total Debt Securities, Available-for-Sale, Current Other accrued liabilities Other Accrued Liabilities, Current Borrowings outstanding Line of Credit, Current Organization and Description of Business Nature of Operations [Text Block] Depreciation and amortization Depreciation, Depletion and Amortization Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Balance at the beginning of the period Balance at the end of the period Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Total Penumbra, Inc. stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Goodwill impairment Goodwill, Impairment Loss Revenue recognized relating to contract liabilities Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustments, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Income (loss) before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Net income (loss) per share: Earnings Per Share Reconciliation [Abstract] U.S. states and municipalities US States and Political Subdivisions Debt Securities [Member] Other comprehensive income before reclassifications OCI, before Reclassifications, before Tax, Attributable to Parent Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Fair Value Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract] Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Schedule of Estimated Product Warranty Accrual Schedule of Product Warranty Liability [Table Text Block] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Document Fiscal Period Focus Document Fiscal Period Focus Accrued expenses and other non-current liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Net Income (Loss) per Share Earnings Per Share [Text Block] Arani Bose [Member] Arani Bose Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Property and equipment, net Property, Plant and Equipment, Net Don Kassing [Member] Don Kassing Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Total other comprehensive income (loss), net of tax Other comprehensive income (loss) Total other comprehensive (loss) income, net of tax Other Comprehensive Income (Loss), Net of Tax Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Payment of employee taxes related to vested stock Payment, Tax Withholding, Share-Based Payment Arrangement Net income (loss) Net Income (Loss), Including Portion Attributable to Noncontrolling Interest U.S. treasury US Treasury Securities [Member] Net cash provided by financing activities Net Cash Provided by (Used in) Financing Activities Deferred taxes Deferred Income Tax Assets, Net Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Other Payments for (Proceeds from) Other Investing Activities Developed technology Developed Technology Rights [Member] Retained Earnings (Accumulated Deficit) Retained Earnings [Member] Schedule of Stock-based Compensation Expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and stockholders’ equity Liabilities and Equity Amortized Cost Total Debt Securities, Available-for-Sale, Amortized Cost Other non-current assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets Operating Lease, Right-of-Use Asset Issuance of common stock under employee stock purchase plan Stock Issued During Period, Value, Employee Stock Purchase Plan Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Arrangement Duration Trading Arrangement Duration Minimum quarterly royalty payments Royalty Obligations, Minimum Quarterly Royalty Payments Royalty Obligations, Minimum Quarterly Royalty Payments Debt Securities, Available-for-sale, Unrealized Loss Position, Fair Value Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block] Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Cash paid for income taxes Income Taxes Paid Consolidation Consolidation, Policy [Policy Text Block] Balance Sheet Components Supplemental Balance Sheet Disclosures [Text Block] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Marketable investments Debt Securities, Available-for-Sale Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] 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] Gross Unrealized Gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax All Trading Arrangements All Trading Arrangements [Member] Due in less than one year Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Compensation Amount Outstanding Recovery Compensation Amount Royalty expense Royalty Expense Other Commitments [Axis] Other Commitments [Axis] Additional paid-in capital Additional Paid in Capital Proceeds from exercises of stock options Proceeds from Stock Options Exercised Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Vascular Peripheral Vascular [Member] Peripheral Vascular [Member] Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Weighted average shares used to compute net income (loss) attributable to common stockholders: Weighted Average Number of Shares Outstanding, Basic and Diluted [Abstract] Weighted Average Number of Shares Outstanding, Basic and Diluted Insider Trading Arrangements [Line Items] Allowance for credit losses Accounts Receivable, Allowance for Credit Loss Issuance of common stock (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Potential dilutive stock-based options and awards (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Adjustment to Compensation, Amount Adjustment to Compensation Amount Cost of revenue Cost of revenue Cost of Sales [Member] Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Adoption Date Trading Arrangement Adoption Date Schedule of Fair Value of Assets and Liabilities Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Non-current finance lease liabilities Finance Lease, Liability, Noncurrent Entity Central Index Key Entity Central Index Key Performance Shares Share-Based Payment Arrangement, Performance Shares [Policy Text Block] Disclosure of accounting policy for award under share-based payment arrangements with performance conditions. Includes, but is not limited to, methodology and assumption used in measuring cost. Stock-based compensation expense Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Finite lived intangible assets: gross carrying amount Finite-Lived Intangible Assets, Gross Provision for (benefit from) income taxes Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Finance lease right-of-use assets Finance Lease, Right-of-Use Asset, after Accumulated Amortization Payroll and employee-related cost Employee-related Liabilities, Current Investments and Fair Value of Financial Instruments Fair Value Disclosures [Text Block] Number of operating segments Number of Operating Segments Name Trading Arrangement, Individual Name Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Lender Name [Axis] Lender Name [Axis] 12 months or more: Gross Unrealized Losses Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Equity [Abstract] Equity [Abstract] Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Revenue from contract with customer Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Long-term Debt, Type [Axis] Long-Term Debt, Type [Axis] Amendment Flag Amendment Flag Intangible Assets Intangible Assets Disclosure [Text Block] Money market funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Less than 12 months: Gross Unrealized Losses Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Shares held for tax withholdings (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Due in less than one year Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Credit Facility [Domain] Credit Facility [Domain] Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Numerator: Net Income (Loss) Available to Common Stockholders, Basic [Abstract] Goodwill Goodwill Disclosure [Text Block] Diluted (in shares) Diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Summary of Contract Assets and Liabilities Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Right-of-use assets obtained in exchange for finance lease obligations Right-of-Use Asset Obtained in Exchange for Finance Lease Liability Intangible Assets, Net (Excluding Goodwill) [Abstract] Intangible Assets, Net (Excluding Goodwill) [Abstract] Interest income (expense), net Interest Income (Expense), Nonoperating, Net Operating expenses: Operating Expenses [Abstract] Revenues Revenue from Contract with Customer [Text Block] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional Paid-in Capital Additional Paid-in Capital [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Cover page. Cover [Abstract] Commercial paper Commercial Paper, Not Included with Cash and Cash Equivalents [Member] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Recurring Fair Value, Recurring [Member] Other non-current liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Total operating expenses Operating Expenses Number of business activities Number of Business Activities Number of Business Activities NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect CASH FLOWS FROM FINANCING ACTIVITIES: Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Current finance lease liabilities Finance Lease, Liability, Current Adjustment to Compensation: Adjustment to Compensation [Axis] Extended term of agreement Royalty Obligations, Extended Term of Agreement Royalty Obligations, Extended Term of Agreement Work in process Inventory, Work in Process, Net of Reserves Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Income (loss) from operations Operating Income (Loss) Cost of revenue Cost of Revenue Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Line of credit facility, unused capacity, commitment fee percentage Line of Credit Facility, Unused Capacity, Commitment Fee Percentage Statement [Line Items] Statement [Line Items] Other comprehensive income (loss), net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Stockholders’ equity: Equity, Including Portion Attributable to Noncontrolling Interest [Abstract] Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost, Fiscal Year Maturity [Abstract] U.S. agency and government sponsored securities U.S. Agency And Government Sponsored Securities [Member] Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Includes debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB). EX-101.PRE 9 pen-20230630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Cover - shares
6 Months Ended
Jun. 30, 2023
Jul. 18, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2023  
Document Transition Report false  
Entity File Number 001-37557  
Entity Registrant Name Penumbra, Inc  
Entity Address, Address Description One Penumbra Place  
Entity Address, City or Town Alameda  
Entity Address, State or Province CA  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 05-0605598  
Entity Address, Postal Zip Code 94502  
City Area Code 510  
Local Phone Number 748-3200  
Title of 12(b) Security Common Stock, Par value $0.001 per share  
Trading Symbol PEN  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   38,436,663
Entity Central Index Key 0001321732  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 114,167 $ 69,858
Marketable investments 106,896 118,172
Accounts receivable, net of allowance for credit losses of $4,775 and $862 at June 30, 2023 and December 31, 2022, respectively 208,965 203,384
Inventories 358,770 334,006
Prepaid expenses and other current assets 39,078 30,279
Total current assets 827,876 755,699
Property and equipment, net 65,958 65,015
Operating lease right-of-use assets 187,494 192,636
Finance lease right-of-use assets 31,751 33,323
Intangible assets, net 76,116 81,161
Goodwill 166,166 166,046
Deferred taxes 66,671 64,213
Other non-current assets 10,500 12,793
Total assets 1,432,532 1,370,886
Current liabilities:    
Accounts payable 25,819 26,679
Accrued liabilities 105,606 106,300
Current operating lease liabilities 10,715 10,033
Current finance lease liabilities 1,984 1,920
Total current liabilities 144,124 144,932
Non-current operating lease liabilities 194,655 198,955
Non-current finance lease liabilities 23,922 24,865
Other non-current liabilities 3,288 3,276
Total liabilities 365,989 372,028
Commitments and contingencies
Stockholders’ equity:    
Common stock 38 38
Additional paid-in capital 1,000,658 963,040
Accumulated other comprehensive loss (5,579) (8,124)
Retained earnings 71,426 43,904
Total Penumbra, Inc. stockholders’ equity 1,066,543 998,858
Total liabilities and stockholders’ equity $ 1,432,532 $ 1,370,886
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Allowance for credit losses $ 4,775 $ 862
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Operations - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Statement [Abstract]        
Revenue $ 261,499 $ 208,344 $ 502,897 $ 412,239
Cost of revenue 94,638 74,309 184,964 150,786
Gross profit 166,861 134,035 317,933 261,453
Operating expenses:        
Research and development 21,537 19,559 41,523 40,123
Sales, general and administrative 127,435 114,615 250,513 225,515
Total operating expenses 148,972 134,174 292,036 265,638
Income (loss) from operations 17,889 (139) 25,897 (4,185)
Interest income (expense), net 839 (72) 1,393 (119)
Other income (expense), net 808 (956) 898 (1,967)
Income (loss) before income taxes 19,536 (1,167) 28,188 (6,271)
Provision for (benefit from) income taxes 576 2,520 666 (2,663)
Net income (loss) $ 18,960 $ (3,687) $ 27,522 $ (3,608)
Net income (loss) per share:        
Basic (in dollars per share) $ 0.49 $ (0.10) $ 0.72 $ (0.10)
Diluted (in dollars per share) $ 0.48 $ (0.10) $ 0.70 $ (0.10)
Weighted average shares outstanding:        
Basic (in shares) 38,320,999 37,767,519 38,254,042 37,707,156
Diluted (in shares) 39,201,155 37,767,519 39,151,412 37,707,156
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Comprehensive (Loss) Income - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Statement of Comprehensive Income [Abstract]        
Net income (loss) $ 18,960 $ (3,687) $ 27,522 $ (3,608)
Other comprehensive income (loss), net of tax:        
Foreign currency translation adjustments, net of tax 654 (3,333) 1,057 (4,201)
Net change in unrealized gains (losses) on available-for-sale securities, net of tax 628 (853) 1,488 (3,327)
Total other comprehensive income (loss), net of tax 1,282 (4,186) 2,545 (7,528)
Comprehensive income (loss) $ 20,242 $ (7,873) $ 30,067 $ (11,136)
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.2
Consolidated Statements of Stockholders' Equity (Deficit) - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income (Loss)
Retained Earnings (Accumulated Deficit)
Beginning balance (in shares) at Dec. 31, 2021   37,578,483      
Beginning balance at Dec. 31, 2021 $ 953,927 $ 37 $ 910,614 $ (2,630) $ 45,906
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock (in shares)   103,984      
Issuance of common stock 1,103 $ 1 1,102    
Shares held for tax withholdings (in shares)   (14,243)      
Shares held for tax withholdings (3,181)   (3,181)    
Stock-based compensation 10,716   10,716    
Other comprehensive income (loss) (3,342)     (3,342)  
Net income (loss) 79       79
Ending balance (in shares) at Mar. 31, 2022   37,668,224      
Ending balance at Mar. 31, 2022 959,302 $ 38 919,251 (5,972) 45,985
Beginning balance (in shares) at Dec. 31, 2021   37,578,483      
Beginning balance at Dec. 31, 2021 953,927 $ 37 910,614 (2,630) 45,906
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Other comprehensive income (loss) (7,528)     (7,528)  
Net income (loss) (3,608)        
Ending balance (in shares) at Jun. 30, 2022   37,880,107      
Ending balance at Jun. 30, 2022 970,015 $ 38 937,837 (10,158) 42,298
Beginning balance (in shares) at Mar. 31, 2022   37,668,224      
Beginning balance at Mar. 31, 2022 959,302 $ 38 919,251 (5,972) 45,985
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock (in shares)   158,735      
Issuance of common stock 3,466   3,466    
Issuance of common stock under employee stock purchase plan (in shares)   66,098      
Issuance of common stock under employee stock purchase plan 7,998   7,998    
Shares held for tax withholdings (in shares)   (12,950)      
Shares held for tax withholdings (1,900)   (1,900)    
Stock-based compensation 9,022   9,022    
Other comprehensive income (loss) (4,186)     (4,186)  
Net income (loss) (3,687)       (3,687)
Ending balance (in shares) at Jun. 30, 2022   37,880,107      
Ending balance at Jun. 30, 2022 970,015 $ 38 937,837 (10,158) 42,298
Beginning balance (in shares) at Dec. 31, 2022   38,107,977      
Beginning balance at Dec. 31, 2022 998,858 $ 38 963,040 (8,124) 43,904
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock (in shares)   134,936      
Issuance of common stock 2,209   2,209    
Shares held for tax withholdings (in shares)   (813)      
Shares held for tax withholdings (204)   (204)    
Stock-based compensation 13,781   13,781    
Other comprehensive income (loss) 1,263     1,263  
Net income (loss) 8,562       8,562
Ending balance (in shares) at Mar. 31, 2023   38,242,100      
Ending balance at Mar. 31, 2023 1,024,469 $ 38 978,826 (6,861) 52,466
Beginning balance (in shares) at Dec. 31, 2022   38,107,977      
Beginning balance at Dec. 31, 2022 998,858 $ 38 963,040 (8,124) 43,904
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Other comprehensive income (loss) 2,545     2,545  
Net income (loss) 27,522        
Ending balance (in shares) at Jun. 30, 2023   38,405,605      
Ending balance at Jun. 30, 2023 1,066,543 $ 38 1,000,658 (5,579) 71,426
Beginning balance (in shares) at Mar. 31, 2023   38,242,100      
Beginning balance at Mar. 31, 2023 1,024,469 $ 38 978,826 (6,861) 52,466
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock (in shares)   114,930      
Issuance of common stock 1,614   1,614    
Issuance of common stock under employee stock purchase plan (in shares)   51,264      
Issuance of common stock under employee stock purchase plan 8,385   8,385    
Shares held for tax withholdings (in shares)   (2,689)      
Shares held for tax withholdings (822)   (822)    
Stock-based compensation 12,655   12,655    
Other comprehensive income (loss) 1,282     1,282  
Net income (loss) 18,960       18,960
Ending balance (in shares) at Jun. 30, 2023   38,405,605      
Ending balance at Jun. 30, 2023 $ 1,066,543 $ 38 $ 1,000,658 $ (5,579) $ 71,426
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.2
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Statement of Cash Flows [Abstract]    
Net income (loss) $ 27,522 $ (3,608)
Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:    
Depreciation and amortization 13,285 11,655
Stock-based compensation 25,589 17,679
Inventory write-downs 1,399 1,573
Deferred taxes (2,450) (2,741)
Other 3,587 (749)
Changes in operating assets and liabilities:    
Accounts receivable (8,421) (54,299)
Inventories (25,758) (36,051)
Prepaid expenses and other current and non-current assets (5,901) (2,460)
Accounts payable (259) 9,024
Accrued expenses and other non-current liabilities 1,635 15,658
Proceeds from lease incentives 0 230
Net cash provided by (used in) operating activities 30,228 (44,089)
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of marketable investments (15,194) 0
Proceeds from sales of marketable investments 0 1,180
Proceeds from maturities of marketable investments 27,970 44,579
Purchases of property and equipment (8,236) (9,388)
Other (500) 0
Net cash provided by (used in) investing activities 4,040 36,371
CASH FLOWS FROM FINANCING ACTIVITIES:    
Proceeds from exercises of stock options 3,823 4,568
Proceeds from issuance of stock under employee stock purchase plan 8,385 7,998
Payment of employee taxes related to vested stock (1,026) (5,081)
Payments of finance lease obligations (957) (858)
Other (155) (137)
Net cash provided by financing activities 10,070 6,490
Effect of foreign exchange rate changes on cash and cash equivalents (29) 83
NET INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS 44,309 (1,145)
CASH AND CASH EQUIVALENTS—Beginning of period 69,858 59,379
CASH AND CASH EQUIVALENTS—End of period 114,167 58,234
NONCASH INVESTING AND FINANCING ACTIVITIES:    
Right-of-use assets obtained in exchange for lease obligations 1,155 51,191
Right-of-use assets obtained in exchange for finance lease obligations 76 89
Purchase of property and equipment funded through accounts payable and accrued liabilities 1,468 3,059
SUPPLEMENTAL CASH FLOW INFORMATION:    
Cash paid for amounts included in the measurement of operating lease liabilities 9,816 8,458
Cash paid for income taxes $ 2,946 $ 2,157
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Organization and Description of Business
6 Months Ended
Jun. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Organization and Description of Business
1. Organization and Description of Business
Penumbra, Inc. (the “Company”) is a global healthcare company focused on innovative therapies. The Company designs, develops, manufactures and markets novel products and has a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. The Company focuses on developing, manufacturing and marketing novel products for use by specialist physicians and other healthcare providers to drive improved clinical and health outcomes. The Company believes that the cost-effectiveness of our products is attractive to our customers.
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies
2. Summary of Significant Accounting Policies
Basis of Presentation and Consolidation
The accompanying condensed consolidated balance sheet as of June 30, 2023, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended June 30, 2023 and 2022 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2022 was derived from the audited financial statements as of that date.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of June 30, 2023, the results of its operations for the three and six months ended June 30, 2023 and 2022, the changes in its comprehensive income (loss) and stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and its cash flows for the six months ended June 30, 2023 and 2022. The results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023 or for any other future annual or interim period.
The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2022, included in the Company’s Annual Report on Form 10-K. There have been no changes to the Company’s significant accounting policies during the six months ended June 30, 2023, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2022, except for the granting of restricted stock units with performance conditions to senior management during the three months ended March 31, 2023. Refer to Note “9. Stockholders’ Equity” for information on the Company’s accounting policy.
The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, contingent consideration and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which
form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other data. Actual results could differ from those estimates.
Segments
The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Investments and Fair Value of Financial Instruments
3. Investments and Fair Value of Financial Instruments
Marketable Investments
The Company’s marketable investments have been classified and accounted for as available-for-sale. The following table presents the Company’s marketable investments as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Commercial paper $3,173 $— $(2)$— $3,171 
Certificate of deposit3,535 — (1)— 3,534 
U.S. treasury18,021 $$(370)$— $17,652 
U.S. agency and government sponsored securities2,998 — (65)— 2,933 
U.S. states and municipalities12,615 — (249)— 12,366 
Corporate bonds68,565 — (1,325)— 67,240 
Total$108,907 $$(2,012)$— $106,896 
December 31, 2022
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
U.S. treasury$14,482 $— $(478)$— $14,004 
U.S. agency and government sponsored securities6,999 — (176)— 6,823 
U.S. states and municipalities23,460 — (501)— 22,959 
Corporate bonds76,731 — (2,345)— 74,386 
Total$121,672 $— $(3,500)$— $118,172 
As of June 30, 2023, the total amortized cost basis of the Company’s available-for-sale securities in an unrealized loss position exceeded its fair value by $2.0 million, which was primarily attributable to widening credit spreads and rising interest rates since purchase. The Company reviewed its available-for-sale securities in an unrealized loss position and concluded that the decline in fair value was not related to credit losses and is recoverable. During the three and six months ended June 30, 2023, no allowance for credit losses was recorded and instead the unrealized losses are reported as a component of accumulated other comprehensive loss.
The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than twelve months or for twelve months or more as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Less than 12 months12 months or moreTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Commercial paper$3,171 $(3)$— $— $3,171 $(3)
Certificate of deposit2,899 $(1)$— $— $2,899 $(1)
U.S. treasury$5,583 $(115)$9,235 $(255)$14,818 $(370)
U.S. agency and government sponsored securities— — 2,933 (64)2,933 (64)
U.S. states and municipalities— — 11,366 (249)11,366 (249)
Corporate bonds17,520 (41)49,719 (1,284)67,239 (1,325)
Total$29,173 $(160)$73,253 $(1,852)$102,426 $(2,012)
December 31, 2022
Less than 12 months12 months or moreTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
U.S. treasury— — 14,004 (478)14,004 (478)
U.S. agency and government sponsored securities— — 6,823 (176)6,823 (176)
U.S. states and municipalities4,567 (68)13,772 (433)18,339 (501)
Corporate bonds15,327 (101)59,059 (2,244)74,386 (2,345)
Total$19,894 $(169)$93,658 $(3,331)$113,552 $(3,500)
The following table presents the contractual maturities of the Company’s marketable investments as of June 30, 2023 (in thousands):
June 30, 2023
 Amortized CostFair Value
Due in less than one year$71,589 $70,480 
Due in one to five years37,318 36,416 
Total$108,907 $106,896 
Fair Value of Financial Instruments
Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the measurement date. The accounting guidance establishes a three-tiered hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value:
Level 1 - Quoted prices in active markets for identical assets or liabilities.
Level 2 - Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.
Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.
The categorization of a financial instrument within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement.
The Company classifies its cash equivalents and marketable investments within Level 1 and Level 2, as it uses quoted market prices or alternative pricing sources and models utilizing market observable inputs.
The Company determined the fair value of its Level 1 financial instruments, which are traded in active markets, using quoted market prices for identical instruments.
Marketable investments classified within Level 2 of the fair value hierarchy are valued based on other observable inputs, including broker or dealer quotations or alternative pricing sources. When quoted prices in active markets for identical assets or liabilities are not available, the Company relies on non-binding quotes from its investment managers, which are based on proprietary valuation models of independent pricing services. These models generally use inputs such as observable market data, quoted market prices for similar instruments, historical pricing trends of a security as relative to its peers. To validate the fair value determination provided by its investment managers, the Company reviews the pricing movement in the context of overall market trends and trading information from its investment managers. In addition, the Company assesses the inputs and methods used in determining the fair value in order to determine the classification of securities in the fair value hierarchy.
The Company did not hold any Level 3 marketable investments as of June 30, 2023 or December 31, 2022. During the six months ended June 30, 2023 and 2022, the Company did not have any transfers between Level 1, Level 2 or Level 3 of the fair value hierarchy. Additionally, the Company did not have any financial assets and liabilities measured at fair value on a non-recurring basis as of June 30, 2023 or December 31, 2022.
The following tables set forth the Company’s financial assets measured at fair value by level within the fair value hierarchy as of June 30, 2023 and December 31, 2022 (in thousands):
 As of June 30, 2023
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$36,916 $— $— $36,916 
Marketable investments:
Commercial paper— 3,171 — 3,171 
Certificate of deposit— 3,534 — 3,534 
U.S. treasury17,652 — — 17,652 
U.S. agency and government sponsored securities— 2,933 — 2,933 
U.S. states and municipalities— 12,366 — 12,366 
Corporate bonds— 67,240 — 67,240 
Total$54,568 $89,244 $— $143,812 
 As of December 31, 2022
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$21,521 $— $— $21,521 
Marketable investments:
U.S. treasury14,004 — — 14,004 
U.S. agency and government sponsored securities— 6,823 — 6,823 
U.S. states and municipalities— 22,959 — 22,959 
Corporate bonds— 74,386 — 74,386 
Total$35,525 $104,168 $— $139,693 
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Components
6 Months Ended
Jun. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Balance Sheet Components
4. Balance Sheet Components
Inventories
The following table shows the components of inventories as of June 30, 2023 and December 31, 2022 (in thousands):
 June 30, 2023December 31, 2022
Raw materials$100,167 $90,786 
Work in process42,391 26,793 
Finished goods216,212 216,427 
Inventories$358,770 $334,006 
Accrued Liabilities
The following table shows the components of accrued liabilities as of June 30, 2023 and December 31, 2022 (in thousands):
 June 30, 2023December 31, 2022
Payroll and employee-related cost$61,945 $60,480 
Accrued expenses10,507 10,902 
Deferred revenue8,430 9,158 
Other accrued liabilities24,724 25,760 
Total accrued liabilities$105,606 $106,300 
The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the six months ended June 30, 2023 and twelve months ended December 31, 2022, respectively (in thousands):
 June 30, 2023December 31, 2022
Balance at the beginning of the period$5,370 $4,310 
Accruals of warranties issued1,025 2,451 
Settlements of warranty claims(645)(1,391)
Balance at the end of the period$5,750 $5,370 
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets
6 Months Ended
Jun. 30, 2023
Intangible Assets, Net (Excluding Goodwill) [Abstract]  
Intangible Assets
5. Intangible Assets
Acquired Intangible Assets
The following tables present details of the Company’s acquired finite-lived intangible assets as of June 30, 2023 and December 31, 2022 (in thousands, except weighted-average amortization period):
As of June 30, 2023Weighted-Average Amortization PeriodGross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(14,877)$68,412 
Customer relationships15.0 years6,489 (2,595)3,894 
Trade secrets and processes20.0 years5,256 (1,446)3,810 
Total intangible assets 9.7 years$95,034 $(18,918)$76,116 
As of December 31, 2022Weighted-Average
Amortization Period
Gross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(10,113)$73,176 
Customer relationships15.0 years6,383 (2,340)4,043 
Trade secrets and processes20.0 years5,256 (1,314)3,942 
Other5.0 years1,646 (1,646)— 
Total intangible assets9.6 years$96,574 $(15,413)$81,161 
The gross carrying amount and accumulated amortization of the customer relationships are the only intangible assets subject to foreign currency translation effects.
The following table presents the amortization expense recorded related to the Company’s finite-lived intangible assets for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Cost of revenue$66 $66 $131 $132 
Sales, general and administrative2,488 1,972 4,975 3,954 
Total$2,554 $2,038 $5,106 $4,086 
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill
6. Goodwill
The following table presents the changes in goodwill during the six months ended June 30, 2023 (in thousands):
Total Company
Balance as of December 31, 2022$166,046 
Foreign currency translation 120 
Balance as of June 30, 2023$166,166 
Goodwill Impairment Review
The Company reviews goodwill for impairment annually during the fourth quarter or more frequently if events or circumstances indicate that an impairment loss may have occurred. The Company determined there were no impairment indicators as of June 30, 2023.
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Debt
6 Months Ended
Jun. 30, 2023
Debt Disclosure [Abstract]  
Indebtedness
7. Indebtedness
Credit Agreement
On April 24, 2020, the Company entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement is secured and provides for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for the Company to increase the aggregate borrowing capacity to up to $150 million, and originally matured on April 23, 2021. During the three months ended March 31, 2021 and 2022, the Credit Agreement was amended to extend the maturity date and make other changes to the terms of the Credit Agreement.
In the first quarter of 2023, the Company and JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A., as lenders, entered into Amendment No. 3 to the Credit Agreement. Pursuant to the amendment, (i) the maturity date of the Credit Agreement was extended from February 17, 2023 to February 16, 2024, (ii) certain changes were made to the reference benchmark interest rates, applicable margins and borrowing mechanics under the Credit Agreement, which have the overall effect of increasing the interest rates payable by the Company on amounts borrowed under the Credit Agreement, and (iii) the commitment fee payable on the average daily unused amount under the Credit Agreement was increased to 0.35% per annum.
The Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio and to not exceed a
maximum leverage ratio. As of June 30, 2023, the Company was in compliance with these requirements.
As of June 30, 2023 and December 31, 2022, there were no borrowings outstanding under the Credit Agreement.
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies
8. Commitments and Contingencies
Royalty Obligations
In March 2005, the Company entered into a license agreement that requires the Company to make minimum royalty payments to the licensor on a quarterly basis. In July 2019, the Company amended the license agreement to extend its term for an additional ten years and to increase the required minimum annual royalty payments by $0.2 million. As of both June 30, 2023 and December 31, 2022, the amended license agreement required minimum quarterly royalty payments of $0.3 million. Unless terminated earlier, the term of the amended license agreement shall expire June 30, 2029.
In April 2012, the Company entered into an agreement that requires the Company to pay, on a quarterly basis, a 5% royalty on sales of products covered under applicable patents. The first commercial sale of covered products occurred in April 2014. Unless terminated earlier, the royalty term for each applicable product shall continue for fifteen years following the first commercial sale of such patented product, or when the applicable patent covering such product has expired, whichever is sooner.
Royalty expense included in cost of revenue for the three months ended June 30, 2023 and 2022 was $0.7 million and $0.6 million, respectively, and for the six months ended June 30, 2023 and 2022, was $1.3 million and $1.2 million, respectively.
Contingencies
From time to time, the Company may have certain contingent liabilities that arise in the ordinary course of business. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.
Indemnification
The Company enters into standard indemnification arrangements in the ordinary course of business. In many such arrangements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties for losses suffered or incurred by the indemnified parties in connection with any trade secret, copyright, patent or other intellectual property infringement claim by any third-party with respect to the Company’s technology. The Company also agrees to indemnify many indemnified parties for product defect and similar claims. The term of these indemnification agreements is generally perpetual. The maximum potential amount of future payments the Company could be required to make under these agreements is not determinable because it involves claims that may be made against the Company in the future, but have not yet been made.
The Company has entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers, other than liabilities arising from willful misconduct of the individual.
The Company has not incurred costs to defend lawsuits or settle claims related to these indemnification agreements. No liability associated with any of these indemnification requirements has been recorded to date.
Litigation
From time to time, the Company is subject to other claims and assessments in the ordinary course of business. The Company is not currently a party to any such litigation matter that, individually or in the aggregate, is expected to have a material adverse effect on the Company’s business, financial condition, results of operations or cash flows.
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholder's Equity
6 Months Ended
Jun. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Stockholder's Equity 9. Stockholders’ Equity
Stock-based Compensation
Stock-based compensation expense is associated with restricted stock units (“RSUs”), RSUs with performance conditions (“PSUs”), stock options, and the Company’s Employee Stock Purchase Plan.
Certain RSUs granted to senior management during the three months ended March 31, 2023, will vest subject to the achievement of pre-established financial performance targets for the year ending December 31, 2023, and continued service. The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded
vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.
The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Cost of revenue$1,281 $880 $2,472 $1,736 
Research and development2,431 1,514 4,709 2,900 
Sales, general and administrative9,111 6,392 18,408 13,043 
Total$12,823 $8,786 $25,589 $17,679 
As of June 30, 2023, total unrecognized compensation cost related to unvested share-based compensation arrangements, excluding PSUs, was $71.4 million, which is expected to be recognized over a weighted average period of 2.8 years.
As of June 30, 2023, total unrecognized compensation cost related to unvested PSU share-based compensation arrangements was $15.8 million, which is expected to be recognized over a weighted average period of 3.7 years.
The total stock-based compensation cost capitalized in inventory was $2.1 million and $2.2 million as of June 30, 2023 and December 31, 2022, respectively.
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Accumulated Other Comprehensive Income (Loss)
6 Months Ended
Jun. 30, 2023
Equity [Abstract]  
Accumulated Other Comprehensive Income (Loss)
10. Accumulated Other Comprehensive Income (Loss)
Other comprehensive income (loss) consists of two components: unrealized gains or losses on the Company’s available-for-sale marketable investments and gains or losses from foreign currency translation adjustments. Until realized and reported as a component of consolidated net income (loss), these comprehensive income (loss) items accumulate and are included within accumulated other comprehensive income (loss). Unrealized gains and losses on the Company’s marketable investments are reclassified from accumulated other comprehensive income (loss) into earnings when realized upon sale, and are determined based on specific identification of securities sold. Gains and losses from the translation of assets and liabilities denominated in non-U.S. dollar functional currencies are included in accumulated other comprehensive income (loss).
The following table summarizes the changes in the accumulated balances during the period and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income (loss) into earnings affect the Company’s condensed consolidated statements of operations and condensed consolidated statements of comprehensive income (loss) (in thousands):    
Three Months Ended June 30, 2023Three Months Ended June 30, 2022
 Marketable
Investments
 Currency Translation
Adjustments
 Total Marketable
Investments
 Currency Translation
Adjustments
 Total
Balance, beginning of the period$(2,640)$(4,221)$(6,861)$(3,069)$(2,903)$(5,972)
Other comprehensive income (loss) before reclassifications:
Unrealized gains (losses) — marketable investments628 — 628 (853)— (853)
Foreign currency translation gains (losses)— 654 654 — (3,333)(3,333)
Net of tax628 654 1,282 (853)(3,333)(4,186)
Net current-year other comprehensive income (loss)628 654 1,282 (853)(3,333)(4,186)
Balance, end of the period$(2,012)$(3,567)$(5,579)$(3,922)$(6,236)$(10,158)
Six Months Ended June 30, 2023Six Months Ended June 30, 2022
Marketable
Investments
Currency Translation
Adjustments
TotalMarketable
Investments
Currency Translation
Adjustments
Total
Balance, beginning of the period$(3,500)$(4,624)$(8,124)$(595)$(2,035)$(2,630)
Other comprehensive income (loss) before reclassifications:
Unrealized gains (losses) — marketable investments1,488 — 1,488 (3,327)— (3,327)
Foreign currency translation gains (losses)— 1,057 1,057 — (4,201)(4,201)
Net of tax1,488 1,057 2,545 (3,327)(4,201)(7,528)
Net current-year other comprehensive income (loss) 1,488 1,057 2,545 (3,327)(4,201)(7,528)
Balance, end of the period$(2,012)$(3,567)$(5,579)$(3,922)$(6,236)$(10,158)
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes
6 Months Ended
Jun. 30, 2023
Income Tax Disclosure [Abstract]  
Income Taxes
11. Income Taxes
The Company’s income tax expense (benefit), deferred tax assets and liabilities, and reserves for unrecognized tax benefits reflect management’s best assessment of estimated current and future taxes to be paid. The Company is subject to income taxes in both the United States and foreign jurisdictions. Significant judgment and estimates are required in determining the consolidated income tax expense (benefit).
During interim periods, the Company generally utilizes the estimated annual effective tax rate (“AETR”) method which involves the use of forecasted information. Under the AETR method, the provision is calculated by applying the estimated AETR for the full fiscal year to “ordinary” income or loss (pretax income or loss excluding unusual or infrequently occurring discrete items) for the reporting period. Jurisdictions with tax assets for which the Company believes a tax benefit cannot be realized are excluded from the computation of its AETR.
The Company’s provision for income taxes for the three months ended June 30, 2023 was $0.6 million, which was primarily due to tax expenses attributable to its worldwide profits offset by excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction. The Company’s provision for income taxes for the three months ended June 30, 2022 was $2.5 million, which was primarily due to tax deficiencies (shortfalls) expenses from stock-based compensation attributable to its U.S. jurisdiction as a result of stock price fluctuation, offset by tax benefits attributable to its worldwide losses. The Company’s effective tax rate changed to 2.9% for the three months ended June 30, 2023 from (215.9)% for the three months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in 2023 comparing to large tax expenses over relatively small worldwide losses in 2022.
The Company’s provision for income taxes for the six months ended June 30, 2023 was $0.7 million, which was primarily due to tax expenses attributable to its worldwide profits offset by excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction. The Company’s benefit from income taxes for the six months ended June 30, 2022 was $2.7 million, which was primarily due to tax benefits attributable to its worldwide losses, offset by tax deficiencies (shortfall) expenses from stock-based compensation attributable to its U.S. jurisdiction as a result of stock price fluctuation. The Company’s effective tax rate changed to 2.4% for the six months ended June 30, 2023 from 42.5% for the six months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in 2023 comparing to large tax benefits over relatively small worldwide losses in 2022.
Significant domestic deferred tax assets (“DTAs”) were generated in recent years, primarily due to excess tax benefits from stock option exercises and vesting of restricted stock units. The Company evaluates all available positive and negative evidence, objective and subjective in nature, in each reporting period to determine if sufficient taxable income will be generated to realize the benefits of its DTAs and, if not, a valuation allowance to reduce the DTAs is recorded.
As of June 30, 2023 and 2022, the Company maintains a valuation allowance against its Federal Research and Development Tax Credit DTAs as the Company could not conclude at the required more-likely-than-not level of certainty, that the benefit of these tax attributes would be realized prior to expiration. The Company intends to continue maintaining this full valuation allowance until there is sufficient evidence to reverse it. However, considering current earnings and anticipated future earnings, as well as the impact of IRC Section 174 requiring qualified research expenditures to be capitalized and amortized over 5 or 15 years, the Company anticipates net operating loss (“NOL”) utilization may be accelerated. As a consequence, the Company believes there is a reasonable possibility that sufficient positive evidence may become available to conclude this valuation allowance may no longer be needed within the next 12 months. Release of the valuation allowance will result in the recognition of Federal Research and Development Tax Credit DTAs and a decrease to income tax expenses for the period in which the release is recorded. The exact timing and amount of the valuation allowance release are highly dependent on the level
of taxable income in future years. The Company will continue to closely monitor the need for this valuation allowance in each subsequent reporting period.
As of June 30, 2023 and 2022, the company maintains a full valuation allowance against its California DTAs as the Company does not expect to generate sufficient future taxable income in California to realize the tax benefit due to the computation of California taxes under the single sales factor and non-conformity of the Section 174 capitalization rule.
The Company maintains that all foreign earnings, with the exception of a portion of the earnings of its German subsidiary, are permanently reinvested outside the United States and therefore deferred taxes attributable to such earnings are not provided for in the Company’s condensed consolidated financial statements as of June 30, 2023.
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income (Loss) per Share
6 Months Ended
Jun. 30, 2023
Earnings Per Share [Abstract]  
Net Income (Loss) per Share
12. Net Income (Loss) per Share
The Company computed basic net income (loss) per share based on the weighted average number of shares of common stock outstanding during the period. The Company computed diluted net income (loss) per share based on the weighted average number of shares of common stock outstanding plus potentially dilutive common stock equivalents outstanding during the period using the treasury stock method. For the purposes of this calculation, stock options, restricted stock units and stock sold through the Company’s employee stock purchase plan are considered common stock equivalents.
A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income (loss) per share is as follows (in thousands, except share and per share amounts):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Numerator:
Net income (loss)$18,960 $(3,687)$27,522 $(3,608)
Denominator:
Weighted average shares used to compute net income (loss) attributable to common stockholders:
Basic38,320,999 37,767,519 38,254,042 37,707,156 
Potential dilutive stock-based options and awards880,156 — 897,370 — 
Diluted39,201,155 37,767,519 39,151,412 37,707,156 
Net income (loss) per share:
Basic$0.49 $(0.10)$0.72 $(0.10)
Diluted$0.48 $(0.10)$0.70 $(0.10)
For the three months ended June 30, 2023 and 2022, outstanding stock-based awards of 8 thousand and 1,766 thousand shares, respectively, and for the six months ended June 30, 2023 and 2022 outstanding stock-based awards of 8 thousand and 1,878 thousand shares, respectively, were excluded from the computation of diluted net income (loss) per share because their effect would have been anti-dilutive.
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Revenues
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenues
13. Revenues
Revenue Recognition
Revenue is recognized in an amount that reflects the consideration the Company expects to be entitled to in exchange for goods or services. All revenue recognized in the condensed consolidated statements of operations is considered to be revenue from contracts with customers.
The following table presents the Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
United States$186,772 $141,456 $358,651 $285,764 
International74,727 66,888 144,246 126,475 
Total$261,499 $208,344 $502,897 $412,239 
The following table presents the Company’s revenues disaggregated by product category for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Vascular$152,684 $123,543 $295,533 $246,352 
Neuro108,815 84,801 207,364 165,887 
Total$261,499 $208,344 $502,897 $412,239 
China Distribution and Technology Licensing Agreement
In December 2020, the Company entered into a distribution and technology licensing arrangement with its existing distribution partner in China. In addition to modifying the Company’s standard distribution agreement with its partner in China, the Company agreed to license the technology for certain products to its partner in China to permit the manufacturing and commercialization of such products in China as well as provide certain regulatory support. During the three months ended March 31, 2022, the Company further amended the distribution agreement and entered into an additional license agreement, pursuant to which the Company agreed to license the technology for additional products to its partner in China on substantially the same terms as the existing license agreement. Apart from the standard distribution agreement, the Company will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support and royalty payments on the down-stream sale of the licensed products.
Performance Obligations
Delivery of products - The Company’s contracts with customers typically contain a single performance obligation, delivery of the Company’s products. Satisfaction of that performance obligation occurs when control of the promised goods transfers to the customer, which is generally upon shipment for non-consignment sale agreements and upon utilization for consignment sale agreements.
Payment terms - The Company’s payment terms vary by the type and location of our customer. The timing between fulfillment of performance obligations and when payment is due is not significant and does not give rise to financing transactions. The Company did not have any contracts with significant financing components as of June 30, 2023.
Product returns - The Company may allow customers to return products purchased at the Company’s discretion. The Company estimates the amount of its product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period in which the related product revenue is recognized. The Company currently estimates product return liabilities using its own historic sales information, trends, industry data, and other relevant data points.
Warranties - The Company offers its standard warranty to all customers and it is not available for sale on a standalone basis. The Company’s standard warranty represents its guarantee that its products function as intended, are free from defects, and comply with agreed-upon specifications and quality standards. This assurance does not constitute a service and is not a separate performance obligation.
Transaction Price
Revenue is recorded at the net sales price, which includes estimates of variable consideration such as product returns utilizing historical return rates, rebates, discounts, and other adjustments to net revenue. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price. When determining if variable consideration should be constrained, management considers whether there are
factors that could result in a significant reversal of revenue and the likelihood of a potential reversal. Variable consideration is included in revenue only to the extent that it is probable that a significant reversal of the revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. These estimates are reassessed each reporting period. During the three and six months ended June 30, 2023, the Company made no material changes in estimates for variable consideration. When the Company performs shipping and handling activities after control of goods is transferred to the customer, they are considered as fulfillment activities, and costs are accrued for when the related revenue is recognized. Taxes collected from customers relating to product sales and remitted to governmental authorities are excluded from revenues.
Contract liabilities, net
The following information summarizes the Company’s contract assets and liabilities, net as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023December 31, 2022
Contract liabilities, net$7,883 $8,783 
Contract liabilities represents amounts that the Company has already invoiced and are ultimately expected to be recognized as revenue, but for which not all revenue recognition criteria have been met and is recognized as the associated performance obligations are satisfied. Contract assets for the periods presented primarily represent the difference between the revenue that was recognized based on the relative standalone selling price of the related performance obligations satisfied and the contractual billing terms in the arrangements. Revenue recognized during the three and six months ended June 30, 2023 relating to contract liabilities as of March 31, 2023 and December 31, 2022 was $0.4 million and $0.9 million, respectively.
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Pay vs Performance Disclosure            
Net income (loss) $ 18,960 $ 8,562 $ (3,687) $ 79 $ 27,522 $ (3,608)
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Insider Trading Arrangements
3 Months Ended 6 Months Ended
Jun. 30, 2023
shares
Jun. 30, 2023
shares
Trading Arrangements, by Individual    
Material Terms of Trading Arrangement  
Rule 10b5-1 Trading Plans
During the quarterly period ended June 30, 2023, certain of our directors and officers adopted trading plans, each of which is intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act (the “Rule 10b5-1 Trading Arrangements”). Each Rule 10b5-1 Trading Arrangement was entered into during an open trading window under our Securities Trading Policy. The following table presents the material terms of each Rule 10b5-1 Trading Arrangement adopted by our officers and directors during the three months ended June 30, 2023, other than terms with respect to the price at which the individual executing the Rule 10b5-1 Trading Arrangement is authorized to trade:
Name and Title of Officer or DirectorPlan Adoption DatePlan DurationTotal Securities to be Sold
Arani Bose, Director
5/19/20238/17/2023 - 1/31/202460,000
Harpreet Grewal, Director
5/23/20239/1/2023 - 1/15/2024680
Don Kassing, Director
5/9/20238/8/2023 - 5/9/2024767
Bridget O'Rourke, Director
5/22/20239/1/2023 - 12/1/2023250
Surbhi Sarna, Director
5/18/20239/1/2023 - 5/31/2024255
Thomas Wilder, Director
5/8/20238/7/2023 - 1/12/2024680
Maggie Yuen, Chief Financial Officer
5/16/20238/16/2023 - 5/16/20244,717
Rule 10b5-1 Arrangement Adopted true  
Non-Rule 10b5-1 Arrangement Adopted false  
Rule 10b5-1 Arrangement Terminated false  
Non-Rule 10b5-1 Arrangement Terminated false  
Arani Bose [Member]    
Trading Arrangements, by Individual    
Name Arani Bose  
Title Director  
Adoption Date 5/19/2023  
Arrangement Duration 167 days  
Aggregate Available 60,000 60,000
Harpreet Grewal [Member]    
Trading Arrangements, by Individual    
Name Harpreet Grewal  
Title Director  
Adoption Date 5/23/2023  
Arrangement Duration 136 days  
Aggregate Available 680 680
Don Kassing [Member]    
Trading Arrangements, by Individual    
Name Don Kassing  
Title Director  
Adoption Date 5/9/2023  
Arrangement Duration 275 days  
Aggregate Available 767 767
Bridget O'Rourke [Member]    
Trading Arrangements, by Individual    
Name Bridget O'Rourke  
Title Director  
Adoption Date 5/22/2023  
Arrangement Duration 91 days  
Aggregate Available 250 250
Surbhi Sarna [Member]    
Trading Arrangements, by Individual    
Name Surbhi Sarna  
Title Director  
Adoption Date 5/18/2023  
Arrangement Duration 273 days  
Aggregate Available 255 255
Thomas Wilder [Member]    
Trading Arrangements, by Individual    
Name Thomas Wilder  
Title Director  
Adoption Date 5/8/2023  
Arrangement Duration 158 days  
Aggregate Available 680 680
Maggie Yuen [Member]    
Trading Arrangements, by Individual    
Name Maggie Yuen  
Title Chief Financial Officer  
Adoption Date 5/16/2023  
Arrangement Duration 274 days  
Aggregate Available 4,717 4,717
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation
Basis of Presentation and Consolidation
The accompanying condensed consolidated balance sheet as of June 30, 2023, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended June 30, 2023 and 2022 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2022 was derived from the audited financial statements as of that date.
The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of June 30, 2023, the results of its operations for the three and six months ended June 30, 2023 and 2022, the changes in its comprehensive income (loss) and stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and its cash flows for the six months ended June 30, 2023 and 2022. The results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023 or for any other future annual or interim period.
The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2022, included in the Company’s Annual Report on Form 10-K. There have been no changes to the Company’s significant accounting policies during the six months ended June 30, 2023, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2022, except for the granting of restricted stock units with performance conditions to senior management during the three months ended March 31, 2023. Refer to Note “9. Stockholders’ Equity” for information on the Company’s accounting policy.
Consolidation The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
Use of Estimates
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, contingent consideration and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which
form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other data. Actual results could differ from those estimates.
Segments Segments The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance.
Marketable Investments Marketable InvestmentsThe Company’s marketable investments have been classified and accounted for as available-for-sale.
Performance Shares The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments (Tables)
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Schedule of Marketable Investments The following table presents the Company’s marketable investments as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
Commercial paper $3,173 $— $(2)$— $3,171 
Certificate of deposit3,535 — (1)— 3,534 
U.S. treasury18,021 $$(370)$— $17,652 
U.S. agency and government sponsored securities2,998 — (65)— 2,933 
U.S. states and municipalities12,615 — (249)— 12,366 
Corporate bonds68,565 — (1,325)— 67,240 
Total$108,907 $$(2,012)$— $106,896 
December 31, 2022
Securities with net gains or losses in accumulated other comprehensive income (loss)
Amortized CostGross Unrealized GainsGross Unrealized LossesAllowance
 for
 Credit Loss
Fair Value
U.S. treasury$14,482 $— $(478)$— $14,004 
U.S. agency and government sponsored securities6,999 — (176)— 6,823 
U.S. states and municipalities23,460 — (501)— 22,959 
Corporate bonds76,731 — (2,345)— 74,386 
Total$121,672 $— $(3,500)$— $118,172 
Debt Securities, Available-for-sale, Unrealized Loss Position, Fair Value
The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than twelve months or for twelve months or more as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023
Less than 12 months12 months or moreTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
Commercial paper$3,171 $(3)$— $— $3,171 $(3)
Certificate of deposit2,899 $(1)$— $— $2,899 $(1)
U.S. treasury$5,583 $(115)$9,235 $(255)$14,818 $(370)
U.S. agency and government sponsored securities— — 2,933 (64)2,933 (64)
U.S. states and municipalities— — 11,366 (249)11,366 (249)
Corporate bonds17,520 (41)49,719 (1,284)67,239 (1,325)
Total$29,173 $(160)$73,253 $(1,852)$102,426 $(2,012)
December 31, 2022
Less than 12 months12 months or moreTotal
Fair ValueGross Unrealized LossesFair ValueGross Unrealized LossesFair ValueGross Unrealized Losses
U.S. treasury— — 14,004 (478)14,004 (478)
U.S. agency and government sponsored securities— — 6,823 (176)6,823 (176)
U.S. states and municipalities4,567 (68)13,772 (433)18,339 (501)
Corporate bonds15,327 (101)59,059 (2,244)74,386 (2,345)
Total$19,894 $(169)$93,658 $(3,331)$113,552 $(3,500)
Schedule of Contractual Maturities of Marketable Investments The following table presents the contractual maturities of the Company’s marketable investments as of June 30, 2023 (in thousands):
June 30, 2023
 Amortized CostFair Value
Due in less than one year$71,589 $70,480 
Due in one to five years37,318 36,416 
Total$108,907 $106,896 
Schedule of Fair Value of Assets and Liabilities
The following tables set forth the Company’s financial assets measured at fair value by level within the fair value hierarchy as of June 30, 2023 and December 31, 2022 (in thousands):
 As of June 30, 2023
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$36,916 $— $— $36,916 
Marketable investments:
Commercial paper— 3,171 — 3,171 
Certificate of deposit— 3,534 — 3,534 
U.S. treasury17,652 — — 17,652 
U.S. agency and government sponsored securities— 2,933 — 2,933 
U.S. states and municipalities— 12,366 — 12,366 
Corporate bonds— 67,240 — 67,240 
Total$54,568 $89,244 $— $143,812 
 As of December 31, 2022
 Level 1Level 2Level 3Fair Value
Financial Assets
Cash equivalents:
Money market funds$21,521 $— $— $21,521 
Marketable investments:
U.S. treasury14,004 — — 14,004 
U.S. agency and government sponsored securities— 6,823 — 6,823 
U.S. states and municipalities— 22,959 — 22,959 
Corporate bonds— 74,386 — 74,386 
Total$35,525 $104,168 $— $139,693 
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Components Balance Sheet Components (Tables)
6 Months Ended
Jun. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Schedule of Inventories
The following table shows the components of inventories as of June 30, 2023 and December 31, 2022 (in thousands):
 June 30, 2023December 31, 2022
Raw materials$100,167 $90,786 
Work in process42,391 26,793 
Finished goods216,212 216,427 
Inventories$358,770 $334,006 
Schedule of Accrued Liabilities The following table shows the components of accrued liabilities as of June 30, 2023 and December 31, 2022 (in thousands):
 June 30, 2023December 31, 2022
Payroll and employee-related cost$61,945 $60,480 
Accrued expenses10,507 10,902 
Deferred revenue8,430 9,158 
Other accrued liabilities24,724 25,760 
Total accrued liabilities$105,606 $106,300 
Schedule of Estimated Product Warranty Accrual
The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the six months ended June 30, 2023 and twelve months ended December 31, 2022, respectively (in thousands):
 June 30, 2023December 31, 2022
Balance at the beginning of the period$5,370 $4,310 
Accruals of warranties issued1,025 2,451 
Settlements of warranty claims(645)(1,391)
Balance at the end of the period$5,750 $5,370 
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets Intangible Assets (Tables)
6 Months Ended
Jun. 30, 2023
Intangible Assets, Net (Excluding Goodwill) [Abstract]  
Schedule of Finite-lived Intangible Assets
The following tables present details of the Company’s acquired finite-lived intangible assets as of June 30, 2023 and December 31, 2022 (in thousands, except weighted-average amortization period):
As of June 30, 2023Weighted-Average Amortization PeriodGross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(14,877)$68,412 
Customer relationships15.0 years6,489 (2,595)3,894 
Trade secrets and processes20.0 years5,256 (1,446)3,810 
Total intangible assets 9.7 years$95,034 $(18,918)$76,116 
As of December 31, 2022Weighted-Average
Amortization Period
Gross Carrying AmountAccumulated AmortizationNet
Finite-lived intangible assets:
Developed technology8.8 years$83,289 $(10,113)$73,176 
Customer relationships15.0 years6,383 (2,340)4,043 
Trade secrets and processes20.0 years5,256 (1,314)3,942 
Other5.0 years1,646 (1,646)— 
Total intangible assets9.6 years$96,574 $(15,413)$81,161 
Finite-lived Intangible Assets Amortization Expense
The following table presents the amortization expense recorded related to the Company’s finite-lived intangible assets for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Cost of revenue$66 $66 $131 $132 
Sales, general and administrative2,488 1,972 4,975 3,954 
Total$2,554 $2,038 $5,106 $4,086 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill (Tables)
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill The following table presents the changes in goodwill during the six months ended June 30, 2023 (in thousands):
Total Company
Balance as of December 31, 2022$166,046 
Foreign currency translation 120 
Balance as of June 30, 2023$166,166 
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholder's Equity (Tables)
6 Months Ended
Jun. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Schedule of Stock-based Compensation Expense The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Cost of revenue$1,281 $880 $2,472 $1,736 
Research and development2,431 1,514 4,709 2,900 
Sales, general and administrative9,111 6,392 18,408 13,043 
Total$12,823 $8,786 $25,589 $17,679 
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Accumulated Other Comprehensive Income (Loss) (Tables)
6 Months Ended
Jun. 30, 2023
Equity [Abstract]  
Schedule of Accumulated Other Comprehensive Income (Loss) The following table summarizes the changes in the accumulated balances during the period and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income (loss) into earnings affect the Company’s condensed consolidated statements of operations and condensed consolidated statements of comprehensive income (loss) (in thousands):    
Three Months Ended June 30, 2023Three Months Ended June 30, 2022
 Marketable
Investments
 Currency Translation
Adjustments
 Total Marketable
Investments
 Currency Translation
Adjustments
 Total
Balance, beginning of the period$(2,640)$(4,221)$(6,861)$(3,069)$(2,903)$(5,972)
Other comprehensive income (loss) before reclassifications:
Unrealized gains (losses) — marketable investments628 — 628 (853)— (853)
Foreign currency translation gains (losses)— 654 654 — (3,333)(3,333)
Net of tax628 654 1,282 (853)(3,333)(4,186)
Net current-year other comprehensive income (loss)628 654 1,282 (853)(3,333)(4,186)
Balance, end of the period$(2,012)$(3,567)$(5,579)$(3,922)$(6,236)$(10,158)
Six Months Ended June 30, 2023Six Months Ended June 30, 2022
Marketable
Investments
Currency Translation
Adjustments
TotalMarketable
Investments
Currency Translation
Adjustments
Total
Balance, beginning of the period$(3,500)$(4,624)$(8,124)$(595)$(2,035)$(2,630)
Other comprehensive income (loss) before reclassifications:
Unrealized gains (losses) — marketable investments1,488 — 1,488 (3,327)— (3,327)
Foreign currency translation gains (losses)— 1,057 1,057 — (4,201)(4,201)
Net of tax1,488 1,057 2,545 (3,327)(4,201)(7,528)
Net current-year other comprehensive income (loss) 1,488 1,057 2,545 (3,327)(4,201)(7,528)
Balance, end of the period$(2,012)$(3,567)$(5,579)$(3,922)$(6,236)$(10,158)
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income (Loss) per Share (Tables)
6 Months Ended
Jun. 30, 2023
Earnings Per Share [Abstract]  
Reconciliation of the Numerator and Denominator used in the Calculation of the Basic and Diluted Earnings per Share A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income (loss) per share is as follows (in thousands, except share and per share amounts):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Numerator:
Net income (loss)$18,960 $(3,687)$27,522 $(3,608)
Denominator:
Weighted average shares used to compute net income (loss) attributable to common stockholders:
Basic38,320,999 37,767,519 38,254,042 37,707,156 
Potential dilutive stock-based options and awards880,156 — 897,370 — 
Diluted39,201,155 37,767,519 39,151,412 37,707,156 
Net income (loss) per share:
Basic$0.49 $(0.10)$0.72 $(0.10)
Diluted$0.48 $(0.10)$0.70 $(0.10)
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Revenues Revenues (Tables)
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue
The following table presents the Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
United States$186,772 $141,456 $358,651 $285,764 
International74,727 66,888 144,246 126,475 
Total$261,499 $208,344 $502,897 $412,239 
The following table presents the Company’s revenues disaggregated by product category for the three and six months ended June 30, 2023 and 2022 (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2023202220232022
Vascular$152,684 $123,543 $295,533 $246,352 
Neuro108,815 84,801 207,364 165,887 
Total$261,499 $208,344 $502,897 $412,239 
Summary of Contract Assets and Liabilities
The following information summarizes the Company’s contract assets and liabilities, net as of June 30, 2023 and December 31, 2022 (in thousands):
June 30, 2023December 31, 2022
Contract liabilities, net$7,883 $8,783 
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Summary of Significant Accounting Policies - Additional Disclosures (Details)
6 Months Ended
Jun. 30, 2023
segment
activity
Accounting Policies [Abstract]  
Number of business activities | activity 1
Number of operating segments | segment 1
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost $ 108,907 $ 121,672
Gross Unrealized Gains 1 0
Gross Unrealized Losses (2,012) (3,500)
Allowance for Credit Loss 0 0
Fair Value 106,896 118,172
Commercial paper    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 3,173  
Gross Unrealized Gains 0  
Gross Unrealized Losses (2)  
Allowance for Credit Loss 0  
Fair Value 3,171  
Certificate of deposit    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 3,535  
Gross Unrealized Gains 0  
Gross Unrealized Losses (1)  
Allowance for Credit Loss 0  
Fair Value 3,534  
U.S. treasury    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 18,021 14,482
Gross Unrealized Gains 1 0
Gross Unrealized Losses (370) (478)
Allowance for Credit Loss 0 0
Fair Value 17,652 14,004
U.S. agency and government sponsored securities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 2,998 6,999
Gross Unrealized Gains 0 0
Gross Unrealized Losses (65) (176)
Allowance for Credit Loss 0 0
Fair Value 2,933 6,823
U.S. states and municipalities    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 12,615 23,460
Gross Unrealized Gains 0 0
Gross Unrealized Losses (249) (501)
Allowance for Credit Loss 0 0
Fair Value 12,366 22,959
Corporate bonds    
Debt Securities, Available-for-sale [Line Items]    
Amortized Cost 68,565 76,731
Gross Unrealized Gains 0 0
Gross Unrealized Losses (1,325) (2,345)
Allowance for Credit Loss 0 0
Fair Value $ 67,240 $ 74,386
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2023
Dec. 31, 2022
Fair Value Disclosures [Abstract]      
Gross Unrealized Losses $ (2,012,000) $ (2,012,000) $ (3,500,000)
Allowance for credit loss $ 0 $ 0  
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value $ 29,173 $ 19,894
Less than 12 months: Gross Unrealized Losses (160) (169)
12 Months of more: Fair Value 73,253 93,658
12 months or more: Gross Unrealized Losses (1,852) (3,331)
Total: Fair Value 102,426 113,552
Total: Gross Unrealized Losses (2,012) (3,500)
Commercial paper    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 3,171  
Less than 12 months: Gross Unrealized Losses (3)  
12 Months of more: Fair Value 0  
12 months or more: Gross Unrealized Losses 0  
Total: Fair Value 3,171  
Total: Gross Unrealized Losses (3)  
Certificate of deposit    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 2,899  
Less than 12 months: Gross Unrealized Losses (1)  
12 Months of more: Fair Value 0  
12 months or more: Gross Unrealized Losses 0  
Total: Fair Value 2,899  
Total: Gross Unrealized Losses (1)  
U.S. treasury    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 5,583 0
Less than 12 months: Gross Unrealized Losses (115) 0
12 Months of more: Fair Value 9,235 14,004
12 months or more: Gross Unrealized Losses (255) (478)
Total: Fair Value 14,818 14,004
Total: Gross Unrealized Losses (370) (478)
U.S. agency and government sponsored securities    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 0 0
Less than 12 months: Gross Unrealized Losses 0 0
12 Months of more: Fair Value 2,933 6,823
12 months or more: Gross Unrealized Losses (64) (176)
Total: Fair Value 2,933 6,823
Total: Gross Unrealized Losses (64) (176)
U.S. states and municipalities    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 0 4,567
Less than 12 months: Gross Unrealized Losses 0 (68)
12 Months of more: Fair Value 11,366 13,772
12 months or more: Gross Unrealized Losses (249) (433)
Total: Fair Value 11,366 18,339
Total: Gross Unrealized Losses (249) (501)
Corporate bonds    
Debt Securities, Available-for-sale [Line Items]    
Less than 12 months: Fair Value 17,520 15,327
Less than 12 months: Gross Unrealized Losses (41) (101)
12 Months of more: Fair Value 49,719 59,059
12 months or more: Gross Unrealized Losses (1,284) (2,244)
Total: Fair Value 67,239 74,386
Total: Gross Unrealized Losses $ (1,325) $ (2,345)
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Amortized Cost    
Due in less than one year $ 71,589  
Due in one to five years 37,318  
Total 108,907 $ 121,672
Fair Value    
Due in less than one year 70,480  
Due in one to five years 36,416  
Total $ 106,896 $ 118,172
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) - Recurring - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Financial Assets    
Assets, Fair Value Disclosure $ 143,812 $ 139,693
Commercial paper    
Financial Assets    
Marketable investments 3,171  
Certificate of deposit    
Financial Assets    
Marketable investments 3,534  
U.S. treasury    
Financial Assets    
Marketable investments 17,652 14,004
U.S. agency and government sponsored securities    
Financial Assets    
Marketable investments 2,933 6,823
U.S. states and municipalities    
Financial Assets    
Marketable investments 12,366 22,959
Corporate bonds    
Financial Assets    
Marketable investments 67,240 74,386
Money market funds    
Financial Assets    
Cash equivalents 36,916 21,521
Level 1    
Financial Assets    
Assets, Fair Value Disclosure 54,568 35,525
Level 1 | Commercial paper    
Financial Assets    
Marketable investments 0  
Level 1 | Certificate of deposit    
Financial Assets    
Marketable investments 0  
Level 1 | U.S. treasury    
Financial Assets    
Marketable investments 17,652 14,004
Level 1 | U.S. agency and government sponsored securities    
Financial Assets    
Marketable investments 0 0
Level 1 | U.S. states and municipalities    
Financial Assets    
Marketable investments 0 0
Level 1 | Corporate bonds    
Financial Assets    
Marketable investments 0 0
Level 1 | Money market funds    
Financial Assets    
Cash equivalents 36,916 21,521
Level 2    
Financial Assets    
Assets, Fair Value Disclosure 89,244 104,168
Level 2 | Commercial paper    
Financial Assets    
Marketable investments 3,171  
Level 2 | Certificate of deposit    
Financial Assets    
Marketable investments 3,534  
Level 2 | U.S. treasury    
Financial Assets    
Marketable investments 0 0
Level 2 | U.S. agency and government sponsored securities    
Financial Assets    
Marketable investments 2,933 6,823
Level 2 | U.S. states and municipalities    
Financial Assets    
Marketable investments 12,366 22,959
Level 2 | Corporate bonds    
Financial Assets    
Marketable investments 67,240 74,386
Level 2 | Money market funds    
Financial Assets    
Cash equivalents 0 0
Level 3    
Financial Assets    
Assets, Fair Value Disclosure 0 0
Level 3 | Commercial paper    
Financial Assets    
Marketable investments 0  
Level 3 | Certificate of deposit    
Financial Assets    
Marketable investments 0  
Level 3 | U.S. treasury    
Financial Assets    
Marketable investments 0 0
Level 3 | U.S. agency and government sponsored securities    
Financial Assets    
Marketable investments 0 0
Level 3 | U.S. states and municipalities    
Financial Assets    
Marketable investments 0 0
Level 3 | Corporate bonds    
Financial Assets    
Marketable investments 0 0
Level 3 | Money market funds    
Financial Assets    
Cash equivalents $ 0 $ 0
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Components - Inventories (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Organization, Consolidation and Presentation of Financial Statements [Abstract]    
Raw materials $ 100,167 $ 90,786
Work in process 42,391 26,793
Finished goods 216,212 216,427
Inventories $ 358,770 $ 334,006
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Components - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Organization, Consolidation and Presentation of Financial Statements [Abstract]    
Payroll and employee-related cost $ 61,945 $ 60,480
Accrued expenses 10,507 10,902
Deferred revenue 8,430 9,158
Other accrued liabilities 24,724 25,760
Total accrued liabilities $ 105,606 $ 106,300
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Balance Sheet Components - Product Warranty (Details) - USD ($)
$ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2023
Dec. 31, 2022
Product Warranty, Increase (Decrease) [Roll Forward]    
Balance at the beginning of the period $ 5,370 $ 4,310
Accruals of warranties issued 1,025 2,451
Settlements of warranty claims (645) (1,391)
Balance at the end of the period $ 5,750 $ 5,370
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]          
Weighted-Average Amortization Period     9 years 8 months 12 days   9 years 7 months 6 days
Finite lived intangible assets: gross carrying amount $ 95,034   $ 95,034   $ 96,574
Accumulated amortization (18,918)   (18,918)   (15,413)
Finite lived intangible assets: net 76,116   76,116   81,161
Intangible assets, net 76,116   76,116   $ 81,161
Total amortization of finite lived intangible assets 2,554 $ 2,038 $ 5,106 $ 4,086  
Developed technology          
Finite-Lived Intangible Assets [Line Items]          
Weighted-Average Amortization Period     8 years 9 months 18 days   8 years 9 months 18 days
Finite lived intangible assets: gross carrying amount 83,289   $ 83,289   $ 83,289
Accumulated amortization (14,877)   (14,877)   (10,113)
Finite lived intangible assets: net 68,412   $ 68,412   $ 73,176
Customer relationships          
Finite-Lived Intangible Assets [Line Items]          
Weighted-Average Amortization Period     15 years   15 years
Finite lived intangible assets: gross carrying amount 6,489   $ 6,489   $ 6,383
Accumulated amortization (2,595)   (2,595)   (2,340)
Finite lived intangible assets: net 3,894   $ 3,894   $ 4,043
Trade secrets and processes          
Finite-Lived Intangible Assets [Line Items]          
Weighted-Average Amortization Period     20 years   20 years
Finite lived intangible assets: gross carrying amount 5,256   $ 5,256   $ 5,256
Accumulated amortization (1,446)   (1,446)   (1,314)
Finite lived intangible assets: net 3,810   3,810   $ 3,942
Other          
Finite-Lived Intangible Assets [Line Items]          
Weighted-Average Amortization Period         5 years
Finite lived intangible assets: gross carrying amount         $ 1,646
Accumulated amortization         (1,646)
Finite lived intangible assets: net         $ 0
Cost of revenue          
Finite-Lived Intangible Assets [Line Items]          
Total amortization of finite lived intangible assets 66 66 131 132  
Sales, general and administrative          
Finite-Lived Intangible Assets [Line Items]          
Total amortization of finite lived intangible assets $ 2,488 $ 1,972 $ 4,975 $ 3,954  
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Goodwill (Details)
6 Months Ended
Jun. 30, 2023
USD ($)
Goodwill [Roll Forward]  
Goodwill $ 166,046,000
Foreign currency translation and other adjustments 120,000
Goodwill 166,166,000
Goodwill impairment $ 0
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Debt (Details) - Revolving Credit Facility - USD ($)
6 Months Ended
Jun. 30, 2023
Dec. 31, 2022
Apr. 24, 2020
Line of Credit Facility [Line Items]      
Borrowing capacity     $ 100,000,000
Line of credit, increase limit     $ 150,000,000
Borrowings outstanding $ 0 $ 0  
Bank Of America And Citibank | Line of Credit      
Line of Credit Facility [Line Items]      
Line of credit facility, unused capacity, commitment fee percentage 0.35%    
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies - Royalty Obligations (Details) - USD ($)
$ in Millions
1 Months Ended 3 Months Ended 6 Months Ended
Jul. 31, 2019
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Cost of revenue          
Other Commitments [Line Items]          
Royalty expense   $ 0.7 $ 0.6 $ 1.3 $ 1.2
Royalty Agreement, March 2005          
Other Commitments [Line Items]          
Extended term of agreement 10 years        
Increase in minimum annual royalty payments $ 0.2        
Minimum quarterly royalty payments   $ 0.3   $ 0.3  
Royalty Agreement, April 2012          
Other Commitments [Line Items]          
Royalty as a percent of sales       5.00%  
Term of agreement       15 years  
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Stockholder's Equity - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]          
Stock-based compensation expense $ 12,823   $ 8,786 $ 25,589 $ 17,679
Share-based compensation expense, capitalized in inventory   $ 2,200   2,100  
NonPerformanceShares [Member]          
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]          
Unrecognized compensation cost related to unvested share-based compensation arrangements 71,400     $ 71,400  
Unrecognized compensation cost, expected recognition period (in years)       2 years 9 months 18 days  
Performance Shares          
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]          
Award requisite service period       4 years 3 months  
Unrecognized compensation cost related to unvested share-based compensation arrangements 15,800     $ 15,800  
Unrecognized compensation cost, expected recognition period (in years)       3 years 8 months 12 days  
Cost of revenue          
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]          
Stock-based compensation expense 1,281   880 $ 2,472 1,736
Research and development          
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]          
Stock-based compensation expense 2,431   1,514 4,709 2,900
Sales, general and administrative          
Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]          
Stock-based compensation expense $ 9,111   $ 6,392 $ 18,408 $ 13,043
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Accumulated Other Comprehensive Income (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]            
Beginning balance $ 1,024,469 $ 998,858 $ 959,302 $ 953,927 $ 998,858 $ 953,927
Other comprehensive income (loss) before reclassifications:            
Total other comprehensive (loss) income, net of tax 1,282 1,263 (4,186) (3,342) 2,545 (7,528)
Ending balance 1,066,543 1,024,469 970,015 959,302 1,066,543 970,015
Marketable Investments            
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]            
Beginning balance (2,640) (3,500) (3,069) (595) (3,500) (595)
Other comprehensive income (loss) before reclassifications:            
Other comprehensive income before reclassifications 628   (853)   1,488 (3,327)
Foreign currency translation gains (losses) 0   0   0 0
Net of tax 628   (853)   1,488 (3,327)
Total other comprehensive (loss) income, net of tax 628   (853)   1,488 (3,327)
Ending balance (2,012) (2,640) (3,922) (3,069) (2,012) (3,922)
Currency Translation Adjustments            
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]            
Beginning balance (4,221) (4,624) (2,903) (2,035) (4,624) (2,035)
Other comprehensive income (loss) before reclassifications:            
Other comprehensive income before reclassifications 0   0   0 0
Foreign currency translation gains (losses) 654   (3,333)   1,057 (4,201)
Net of tax 654   (3,333)   1,057 (4,201)
Total other comprehensive (loss) income, net of tax 654   (3,333)   1,057 (4,201)
Ending balance (3,567) (4,221) (6,236) (2,903) (3,567) (6,236)
Total            
AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]            
Beginning balance (6,861) (8,124) (5,972) (2,630) (8,124) (2,630)
Other comprehensive income (loss) before reclassifications:            
Other comprehensive income before reclassifications 628   (853)   1,488 (3,327)
Foreign currency translation gains (losses) 654   (3,333)   1,057 (4,201)
Net of tax 1,282   (4,186)   2,545 (7,528)
Total other comprehensive (loss) income, net of tax 1,282 1,263 (4,186) (3,342) 2,545 (7,528)
Ending balance $ (5,579) $ (6,861) $ (10,158) $ (5,972) $ (5,579) $ (10,158)
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Tax Disclosure [Abstract]        
Provision for (benefit from) income taxes $ 576 $ 2,520 $ 666 $ (2,663)
Effective tax rate 2.90% 215.90% (2.40%) 42.50%
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income (Loss) per Share - Basic and Diluted Earnings per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Numerator:            
Net income (loss) $ 18,960 $ 8,562 $ (3,687) $ 79 $ 27,522 $ (3,608)
Weighted average shares used to compute net income (loss) attributable to common stockholders:            
Basic (in shares) 38,320,999   37,767,519   38,254,042 37,707,156
Potential dilutive stock-based options and awards (in shares) 880,156   0   897,370 0
Diluted (in shares) 39,201,155   37,767,519   39,151,412 37,707,156
Net income (loss) per share:            
Basic (in dollars per share) $ 0.49   $ (0.10)   $ 0.72 $ (0.10)
Diluted (in dollars per share) $ 0.48   $ (0.10)   $ 0.70 $ (0.10)
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Net Income (Loss) per Share - Antidilutive Securities (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Earnings Per Share [Abstract]        
Antidilutive securities excluded from the computation of earnings per share (in shares) 8 1,766 8 1,878
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Revenues - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer $ 261,499 $ 208,344 $ 502,897 $ 412,239
United States        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 186,772 141,456 358,651 285,764
International        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 74,727 66,888 144,246 126,475
Neuro        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer 108,815 84,801 207,364 165,887
Vascular        
Disaggregation of Revenue [Line Items]        
Revenue from contract with customer $ 152,684 $ 123,543 $ 295,533 $ 246,352
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.2
Revenues - Summary of Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]      
Contract liabilities, net $ 7,883 $ 7,883 $ 8,783
Revenue recognized relating to contract liabilities $ 400 $ 900  
XML 61 R9999.htm IDEA: XBRL DOCUMENT v3.23.2
Label Element Value
Net Income (Loss), Including Portion Attributable to Noncontrolling Interest us-gaap_ProfitLoss $ (3,687,000)
Net Income (Loss), Including Portion Attributable to Noncontrolling Interest us-gaap_ProfitLoss $ 18,960,000
XML 62 pen-20230630_htm.xml IDEA: XBRL DOCUMENT 0001321732 2023-01-01 2023-06-30 0001321732 2023-07-18 0001321732 2023-06-30 0001321732 2022-12-31 0001321732 2023-04-01 2023-06-30 0001321732 2022-04-01 2022-06-30 0001321732 2022-01-01 2022-06-30 0001321732 us-gaap:CommonStockMember 2022-12-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001321732 us-gaap:RetainedEarningsMember 2022-12-31 0001321732 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001321732 2023-01-01 2023-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001321732 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001321732 us-gaap:CommonStockMember 2023-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001321732 us-gaap:RetainedEarningsMember 2023-03-31 0001321732 2023-03-31 0001321732 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 2023-06-30 0001321732 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001321732 us-gaap:CommonStockMember 2023-06-30 0001321732 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001321732 us-gaap:RetainedEarningsMember 2023-06-30 0001321732 us-gaap:CommonStockMember 2021-12-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001321732 us-gaap:RetainedEarningsMember 2021-12-31 0001321732 2021-12-31 0001321732 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001321732 2022-01-01 2022-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001321732 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001321732 us-gaap:CommonStockMember 2022-03-31 0001321732 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001321732 us-gaap:RetainedEarningsMember 2022-03-31 0001321732 2022-03-31 0001321732 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001321732 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001321732 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001321732 us-gaap:CommonStockMember 2022-06-30 0001321732 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001321732 us-gaap:RetainedEarningsMember 2022-06-30 0001321732 2022-06-30 0001321732 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-06-30 0001321732 us-gaap:CertificatesOfDepositMember 2023-06-30 0001321732 us-gaap:USTreasurySecuritiesMember 2023-06-30 0001321732 pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2023-06-30 0001321732 us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-06-30 0001321732 us-gaap:CorporateDebtSecuritiesMember 2023-06-30 0001321732 us-gaap:USTreasurySecuritiesMember 2022-12-31 0001321732 pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2022-12-31 0001321732 us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-12-31 0001321732 us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CertificatesOfDepositMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:FairValueMeasurementsRecurringMember 2023-06-30 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USTreasurySecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember pen:U.S.AgencyAndGovernmentSponsoredSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USStatesAndPoliticalSubdivisionsMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001321732 2022-01-01 2022-12-31 0001321732 us-gaap:DevelopedTechnologyRightsMember 2023-01-01 2023-06-30 0001321732 us-gaap:DevelopedTechnologyRightsMember 2023-06-30 0001321732 us-gaap:CustomerRelationshipsMember 2023-01-01 2023-06-30 0001321732 us-gaap:CustomerRelationshipsMember 2023-06-30 0001321732 us-gaap:TradeSecretsMember 2023-01-01 2023-06-30 0001321732 us-gaap:TradeSecretsMember 2023-06-30 0001321732 us-gaap:DevelopedTechnologyRightsMember 2022-01-01 2022-12-31 0001321732 us-gaap:DevelopedTechnologyRightsMember 2022-12-31 0001321732 us-gaap:CustomerRelationshipsMember 2022-01-01 2022-12-31 0001321732 us-gaap:CustomerRelationshipsMember 2022-12-31 0001321732 us-gaap:TradeSecretsMember 2022-01-01 2022-12-31 0001321732 us-gaap:TradeSecretsMember 2022-12-31 0001321732 us-gaap:OtherIntangibleAssetsMember 2022-01-01 2022-12-31 0001321732 us-gaap:OtherIntangibleAssetsMember 2022-12-31 0001321732 us-gaap:CostOfSalesMember 2023-04-01 2023-06-30 0001321732 us-gaap:CostOfSalesMember 2022-04-01 2022-06-30 0001321732 us-gaap:CostOfSalesMember 2023-01-01 2023-06-30 0001321732 us-gaap:CostOfSalesMember 2022-01-01 2022-06-30 0001321732 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-04-01 2023-06-30 0001321732 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-04-01 2022-06-30 0001321732 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-06-30 0001321732 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-06-30 0001321732 us-gaap:RevolvingCreditFacilityMember 2020-04-24 0001321732 us-gaap:RevolvingCreditFacilityMember pen:BankOfAmericaAndCitibankMember us-gaap:LineOfCreditMember 2023-01-01 2023-06-30 0001321732 us-gaap:RevolvingCreditFacilityMember 2023-06-30 0001321732 us-gaap:RevolvingCreditFacilityMember 2022-12-31 0001321732 pen:RoyaltyAgreementMarch2005Member 2019-07-01 2019-07-31 0001321732 pen:RoyaltyAgreementMarch2005Member 2023-06-30 0001321732 pen:RoyaltyAgreementApril2012Member 2023-01-01 2023-06-30 0001321732 us-gaap:PerformanceSharesMember 2023-01-01 2023-06-30 0001321732 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-01 2023-06-30 0001321732 us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-01 2022-06-30 0001321732 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-06-30 0001321732 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-06-30 0001321732 pen:NonPerformanceSharesMember 2023-06-30 0001321732 pen:NonPerformanceSharesMember 2023-01-01 2023-06-30 0001321732 us-gaap:PerformanceSharesMember 2023-06-30 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-03-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-03-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-03-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2022-03-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-04-01 2023-06-30 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-04-01 2023-06-30 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-04-01 2022-06-30 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2022-04-01 2022-06-30 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-06-30 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-06-30 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-06-30 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2022-06-30 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-12-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2022-12-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-12-31 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2021-12-31 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-01-01 2023-06-30 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2023-01-01 2023-06-30 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-06-30 0001321732 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-01-01 2022-06-30 0001321732 us-gaap:AccumulatedTranslationAdjustmentMember 2022-01-01 2022-06-30 0001321732 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-06-30 0001321732 country:US 2023-04-01 2023-06-30 0001321732 country:US 2022-04-01 2022-06-30 0001321732 country:US 2023-01-01 2023-06-30 0001321732 country:US 2022-01-01 2022-06-30 0001321732 pen:OtherNonUSMember 2023-04-01 2023-06-30 0001321732 pen:OtherNonUSMember 2022-04-01 2022-06-30 0001321732 pen:OtherNonUSMember 2023-01-01 2023-06-30 0001321732 pen:OtherNonUSMember 2022-01-01 2022-06-30 0001321732 pen:PeripheralVascularMember 2023-04-01 2023-06-30 0001321732 pen:PeripheralVascularMember 2022-04-01 2022-06-30 0001321732 pen:PeripheralVascularMember 2023-01-01 2023-06-30 0001321732 pen:PeripheralVascularMember 2022-01-01 2022-06-30 0001321732 pen:NeuroMember 2023-04-01 2023-06-30 0001321732 pen:NeuroMember 2022-04-01 2022-06-30 0001321732 pen:NeuroMember 2023-01-01 2023-06-30 0001321732 pen:NeuroMember 2022-01-01 2022-06-30 0001321732 pen:AraniBoseMember 2023-04-01 2023-06-30 0001321732 pen:AraniBoseMember 2023-06-30 0001321732 pen:HarpreetGrewalMember 2023-04-01 2023-06-30 0001321732 pen:HarpreetGrewalMember 2023-06-30 0001321732 pen:DonKassingMember 2023-04-01 2023-06-30 0001321732 pen:DonKassingMember 2023-06-30 0001321732 pen:BridgetORourkeMember 2023-04-01 2023-06-30 0001321732 pen:BridgetORourkeMember 2023-06-30 0001321732 pen:SurbhiSarnaMember 2023-04-01 2023-06-30 0001321732 pen:SurbhiSarnaMember 2023-06-30 0001321732 pen:ThomasWilderMember 2023-04-01 2023-06-30 0001321732 pen:ThomasWilderMember 2023-06-30 0001321732 pen:MaggieYuenMember 2023-04-01 2023-06-30 0001321732 pen:MaggieYuenMember 2023-06-30 shares iso4217:USD iso4217:USD shares pen:activity pen:segment pure 0001321732 2023 Q2 false --12-31 P167D P136D P275D P91D P273D P158D P274D 10-Q true 2023-06-30 false 001-37557 Penumbra, Inc DE 05-0605598 One Penumbra Place Alameda CA 94502 510 748-3200 Common Stock, Par value $0.001 per share PEN NYSE Yes Yes Large Accelerated Filer false false false 38436663 114167000 69858000 106896000 118172000 4775000 862000 208965000 203384000 358770000 334006000 39078000 30279000 827876000 755699000 65958000 65015000 187494000 192636000 31751000 33323000 76116000 81161000 166166000 166046000 66671000 64213000 10500000 12793000 1432532000 1370886000 25819000 26679000 105606000 106300000 10715000 10033000 1984000 1920000 144124000 144932000 194655000 198955000 23922000 24865000 3288000 3276000 365989000 372028000 38000 38000 1000658000 963040000 -5579000 -8124000 71426000 43904000 1066543000 998858000 1432532000 1370886000 261499000 208344000 502897000 412239000 94638000 74309000 184964000 150786000 166861000 134035000 317933000 261453000 21537000 19559000 41523000 40123000 127435000 114615000 250513000 225515000 148972000 134174000 292036000 265638000 17889000 -139000 25897000 -4185000 839000 -72000 1393000 -119000 808000 -956000 898000 -1967000 19536000 -1167000 28188000 -6271000 576000 2520000 666000 -2663000 18960000 -3687000 27522000 -3608000 0.49 -0.10 0.72 -0.10 0.48 -0.10 0.70 -0.10 38320999 37767519 38254042 37707156 39201155 37767519 39151412 37707156 18960000 -3687000 27522000 -3608000 654000 -3333000 1057000 -4201000 628000 -853000 1488000 -3327000 1282000 -4186000 2545000 -7528000 20242000 -7873000 30067000 -11136000 38107977 38000 963040000 -8124000 43904000 998858000 134936 2209000 2209000 813 204000 204000 13781000 13781000 1263000 1263000 8562000 8562000 38242100 38000 978826000 -6861000 52466000 1024469000 114930 1614000 1614000 51264 8385000 8385000 2689 822000 822000 12655000 12655000 1282000 1282000 18960000 18960000 38405605 38000 1000658000 -5579000 71426000 1066543000 37578483 37000 910614000 -2630000 45906000 953927000 103984 1000 1102000 1103000 14243 3181000 3181000 10716000 10716000 -3342000 -3342000 79000 79000 37668224 38000 919251000 -5972000 45985000 959302000 158735 3466000 3466000 66098 7998000 7998000 12950 1900000 1900000 9022000 9022000 -4186000 -4186000 -3687000 -3687000 37880107 38000 937837000 -10158000 42298000 970015000 27522000 -3608000 13285000 11655000 25589000 17679000 1399000 1573000 -2450000 -2741000 3587000 -749000 8421000 54299000 25758000 36051000 5901000 2460000 -259000 9024000 1635000 15658000 0 230000 30228000 -44089000 15194000 0 0 1180000 27970000 44579000 8236000 9388000 500000 0 4040000 36371000 3823000 4568000 8385000 7998000 1026000 5081000 957000 858000 -155000 -137000 10070000 6490000 -29000 83000 44309000 -1145000 69858000 59379000 114167000 58234000 1155000 51191000 76000 89000 1468000 3059000 9816000 8458000 2946000 2157000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. Organization and Description of Business </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Penumbra, Inc. (the “Company”) is a global healthcare company focused on innovative therapies. The Company designs, develops, manufactures and markets novel products and has a broad portfolio that addresses challenging medical conditions in markets with significant unmet need. The Company focuses on developing, manufacturing and marketing novel products for use by specialist physicians and other healthcare providers to drive improved clinical and health outcomes. The Company believes that the cost-effectiveness of our products is attractive to our customers.</span></div> <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2. Summary of Significant Accounting Policies</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated balance sheet as of June 30, 2023, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended June 30, 2023 and 2022 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2022 was derived from the audited financial statements as of that date.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of June 30, 2023, the results of its operations for the three and six months ended June 30, 2023 and 2022, the changes in its comprehensive income (loss) and stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and its cash flows for the six months ended June 30, 2023 and 2022. The results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023 or for any other future annual or interim period.</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2022, included in the Company’s Annual Report on Form 10-K. There have been no changes to the Company’s significant accounting policies during the six months ended June 30, 2023, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2022, except for the granting of restricted stock units with performance conditions to senior management during the three months ended March 31, 2023. Refer to Note “9. Stockholders’ Equity” for information on the Company’s accounting policy.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, contingent consideration and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which </span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other data. Actual results could differ from those estimates. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Segments </span></div>The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance. <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation and Consolidation</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated balance sheet as of June 30, 2023, the condensed consolidated statements of operations, the condensed consolidated statements of comprehensive income (loss), and the condensed consolidated statements of stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and the condensed consolidated statements of cash flows for the six months ended June 30, 2023 and 2022 are unaudited. The unaudited condensed consolidated financial statements included herein have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and the applicable rules and regulations of the U.S. Securities and Exchange Commission (the “SEC”) for interim financial information. Accordingly, they do not include all of the information and notes required by U.S. GAAP for complete financial statements. The condensed consolidated balance sheet data as of December 31, 2022 was derived from the audited financial statements as of that date.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to state fairly the Company’s financial position as of June 30, 2023, the results of its operations for the three and six months ended June 30, 2023 and 2022, the changes in its comprehensive income (loss) and stockholders’ equity for the three and six months ended June 30, 2023 and 2022, and its cash flows for the six months ended June 30, 2023 and 2022. The results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023 or for any other future annual or interim period.</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information included in this Quarterly Report on Form 10-Q should be read in conjunction with the audited consolidated financial statements and notes thereto for the fiscal year ended December 31, 2022, included in the Company’s Annual Report on Form 10-K. There have been no changes to the Company’s significant accounting policies during the six months ended June 30, 2023, as compared to the significant accounting policies described in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2022, except for the granting of restricted stock units with performance conditions to senior management during the three months ended March 31, 2023. Refer to Note “9. Stockholders’ Equity” for information on the Company’s accounting policy.</span></div> The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities and equity accounts; disclosure of contingent assets and liabilities at the date of the financial statements; and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, the Company evaluates its estimates, including those related to marketable investments, allowances for credit losses, the amount of variable consideration included in the transaction price, warranty reserve, valuation of inventories, useful lives of property and equipment, intangibles, operating and financing lease right-of-use (“ROU”) assets and liabilities, income taxes, contingent consideration and other contingencies, including the probability of achieving performance targets associated with equity awards with performance conditions, among others. The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which </span></div>form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other data. Actual results could differ from those estimates. Segments The Company determined its operating segment on the same basis that it uses to evaluate its performance internally. The Company has one business activity: the design, development, manufacturing and marketing of innovative medical products, and operates as one operating segment. The Company’s chief operating decision-maker, its Chief Executive Officer, reviews its consolidated operating results for the purpose of allocating resources and evaluating financial performance. 1 1 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. Investments and Fair Value of Financial Instruments </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable Investments</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s marketable investments have been classified and accounted for as available-for-sale. The following table presents the Company’s marketable investments as of June 30, 2023 and December 31, 2022 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,173 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,535 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,021 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(370)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,652 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,998 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(65)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,615 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(249)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,565 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,325)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,907 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,896 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,482 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,999 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(176)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,460 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(501)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,959 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,345)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121,672 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118,172 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, the total amortized cost basis of the Company’s available-for-sale securities in an unrealized loss position exceeded its fair value by $2.0 million, which was primarily attributable to widening credit spreads and rising interest rates since purchase. The Company reviewed its available-for-sale securities in an unrealized loss position and concluded that the decline in fair value was not related to credit losses and is recoverable. During the three and six months ended June 30, 2023, no allowance for credit losses was recorded and instead the unrealized losses are reported as a component of accumulated other comprehensive loss. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than twelve months or for twelve months or more as of June 30, 2023 and December 31, 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">12 months or more</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,583 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(115)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,235 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(255)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(370)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(249)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(249)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(41)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,719 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,284)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,239 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,325)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,173 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(160)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73,253 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,852)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102,426 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;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><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">12 months or more</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(176)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(176)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,567 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(68)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,772 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(433)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,339 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(501)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(101)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,059 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,345)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,894 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(169)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93,658 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,331)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113,552 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the contractual maturities of the Company’s marketable investments as of June 30, 2023 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:49.851%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.767%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in less than one year</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,589 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70,480 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one to five years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,416 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,907 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,896 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability (an exit price) in an orderly transaction between market participants at the measurement date. The accounting guidance establishes a three-tiered hierarchy, which prioritizes the inputs used in the valuation methodologies in measuring fair value: </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 - Quoted prices in active markets for identical assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 - Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 - Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The categorization of a financial instrument within the valuation hierarchy is based on the lowest level of input that is significant to the fair value measurement.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its cash equivalents and marketable investments within Level 1 and Level 2, as it uses quoted market prices or alternative pricing sources and models utilizing market observable inputs. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determined the fair value of its Level 1 financial instruments, which are traded in active markets, using quoted market prices for identical instruments.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Marketable investments classified within Level 2 of the fair value hierarchy are valued based on other observable inputs, including broker or dealer quotations or alternative pricing sources. When quoted prices in active markets for identical assets or liabilities are not available, the Company relies on non-binding quotes from its investment managers, which are based on proprietary valuation models of independent pricing services. These models generally use inputs such as observable market data, quoted market prices for similar instruments, historical pricing trends of a security as relative to its peers. To validate the fair value determination provided by its investment managers, the Company reviews the pricing movement in the context of overall market trends and trading information from its investment managers. In addition, the Company assesses the inputs and methods used in determining the fair value in order to determine the classification of securities in the fair value hierarchy.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not hold any Level 3 marketable investments as of June 30, 2023 or December 31, 2022. During the six months ended June 30, 2023 and 2022, the Company did not have any transfers between Level 1, Level 2 or Level 3 of the fair value hierarchy. Additionally, the Company did not have any financial assets and liabilities measured at fair value on a non-recurring basis as of June 30, 2023 or December 31, 2022.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the Company’s financial assets measured at fair value by level within the fair value hierarchy as of June 30, 2023 and December 31, 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"> </td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,652 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,652 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,568 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89,244 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">143,812 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of 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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,521 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,521 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,959 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,959 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,525 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">104,168 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">139,693 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> Marketable InvestmentsThe Company’s marketable investments have been classified and accounted for as available-for-sale. The following table presents the Company’s marketable investments as of June 30, 2023 and December 31, 2022 (in thousands):<div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,173 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,535 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,021 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(370)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,652 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,998 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(65)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,615 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(249)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,565 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,325)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,907 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,896 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.580%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Securities with net gains or losses in accumulated other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Allowance<br/> for<br/> Credit Loss</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,482 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,999 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(176)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23,460 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(501)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,959 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,345)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">121,672 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">118,172 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3173000 0 2000 0 3171000 3535000 0 1000 0 3534000 18021000 1000 370000 0 17652000 2998000 0 65000 0 2933000 12615000 0 249000 0 12366000 68565000 0 1325000 0 67240000 108907000 1000 2012000 0 106896000 14482000 0 478000 0 14004000 6999000 0 176000 0 6823000 23460000 0 501000 0 22959000 76731000 0 2345000 0 74386000 121672000 0 3500000 0 118172000 2000000 0 0 <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the gross unrealized losses and the fair value for those marketable investments that were in an unrealized loss position for less than twelve months or for twelve months or more as of June 30, 2023 and December 31, 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">12 months or more</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,583 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(115)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,235 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(255)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(370)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(64)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(249)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(249)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,520 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(41)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49,719 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,284)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,239 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,325)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29,173 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(160)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73,253 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,852)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102,426 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;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><td style="width:26.970%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.165%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Less than 12 months</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">12 months or more</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Unrealized Losses</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(478)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(176)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(176)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,567 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(68)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,772 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(433)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,339 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(501)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(101)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59,059 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,244)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,345)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,894 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(169)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93,658 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,331)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113,552 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3171000 3000 0 0 3171000 3000 2899000 1000 0 0 2899000 1000 5583000 115000 9235000 255000 14818000 370000 0 0 2933000 64000 2933000 64000 0 0 11366000 249000 11366000 249000 17520000 41000 49719000 1284000 67239000 1325000 29173000 160000 73253000 1852000 102426000 2012000 0 0 14004000 478000 14004000 478000 0 0 6823000 176000 6823000 176000 4567000 68000 13772000 433000 18339000 501000 15327000 101000 59059000 2244000 74386000 2345000 19894000 169000 93658000 3331000 113552000 3500000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the contractual maturities of the Company’s marketable investments as of June 30, 2023 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:49.851%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.767%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Amortized Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Fair Value</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in less than one year</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71,589 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70,480 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one to five years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,416 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,907 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,896 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> 71589000 70480000 37318000 36416000 108907000 106896000 <div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the Company’s financial assets measured at fair value by level within the fair value hierarchy as of June 30, 2023 and December 31, 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"> </td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of June 30, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,171 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,652 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,652 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,366 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54,568 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89,244 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">143,812 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:46.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.201%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of 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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,521 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,521 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Marketable investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. treasury</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. agency and government sponsored securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. states and municipalities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,959 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,959 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35,525 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">104,168 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">139,693 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 36916000 0 0 36916000 0 3171000 0 3171000 0 3534000 0 3534000 17652000 0 0 17652000 0 2933000 0 2933000 0 12366000 0 12366000 0 67240000 0 67240000 54568000 89244000 0 143812000 21521000 0 0 21521000 14004000 0 0 14004000 0 6823000 0 6823000 0 22959000 0 22959000 0 74386000 0 74386000 35525000 104168000 0 139693000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. Balance Sheet Components </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of inventories as of June 30, 2023 and December 31, 2022 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,167 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,786 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in process</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42,391 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,793 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">216,212 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">216,427 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</span></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">358,770 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">334,006 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accrued Liabilities</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of accrued liabilities as of June 30, 2023 and December 31, 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payroll and employee-related cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,945 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,480 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,507 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,902 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,430 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,158 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,724 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,760 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">105,606 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the six months ended June 30, 2023 and twelve months ended December 31, 2022, respectively (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,370 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,310 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accruals of warranties issued</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,025 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Settlements of warranty claims</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(645)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,391)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the end of the period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,750 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,370 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of inventories as of June 30, 2023 and December 31, 2022 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100,167 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90,786 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in process</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42,391 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,793 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">216,212 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">216,427 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories</span></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">358,770 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">334,006 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 100167000 90786000 42391000 26793000 216212000 216427000 358770000 334006000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of accrued liabilities as of June 30, 2023 and December 31, 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payroll and employee-related cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61,945 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,480 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,507 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,902 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,430 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,158 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,724 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,760 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">105,606 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">106,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 61945000 60480000 10507000 10902000 8430000 9158000 24724000 25760000 105606000 106300000 <div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the changes in the Company’s estimated product warranty accrual, included in accrued liabilities, for the six months ended June 30, 2023 and twelve months ended December 31, 2022, respectively (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:68.153%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.541%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,370 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,310 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accruals of warranties issued</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,025 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Settlements of warranty claims</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(645)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,391)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at the end of the period</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,750 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,370 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5370000 4310000 1025000 2451000 645000 1391000 5750000 5370000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5. Intangible Assets</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Acquired Intangible Assets</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present details of the Company’s acquired finite-lived intangible assets as of June 30, 2023 and December 31, 2022 (in thousands, except weighted-average amortization period):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(14,877)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,412 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,489 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,595)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,894 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,446)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,810 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.7 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95,034 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(18,918)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,116 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average <br/>Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,113)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73,176 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,383 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,340)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,043 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,314)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,942 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,646 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,646)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.6 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96,574 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(15,413)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81,161 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The gross carrying amount and accumulated amortization of the customer relationships are the only intangible assets subject to foreign currency translation effects.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the amortization expense recorded related to the Company’s finite-lived intangible assets for the three and six months ended June 30, 2023 and 2022 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.087%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.981%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.134%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">131 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,488 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,972 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,975 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,954 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,554 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,038 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,106 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,086 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present details of the Company’s acquired finite-lived intangible assets as of June 30, 2023 and December 31, 2022 (in thousands, except weighted-average amortization period):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(14,877)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68,412 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,489 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,595)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,894 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,446)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,810 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.7 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95,034 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(18,918)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76,116 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">As of December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Weighted-Average <br/>Amortization Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Gross Carrying Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.8 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,113)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73,176 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,383 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,340)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,043 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade secrets and processes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20.0 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,256 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,314)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,942 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.0 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,646 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,646)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total intangible assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9.6 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96,574 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(15,413)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81,161 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> P8Y9M18D 83289000 14877000 68412000 P15Y 6489000 2595000 3894000 P20Y 5256000 1446000 3810000 P9Y8M12D 95034000 18918000 76116000 P8Y9M18D 83289000 10113000 73176000 P15Y 6383000 2340000 4043000 P20Y 5256000 1314000 3942000 P5Y 1646000 1646000 0 P9Y7M6D 96574000 15413000 81161000 <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the amortization expense recorded related to the Company’s finite-lived intangible assets for the three and six months ended June 30, 2023 and 2022 (in thousands):</span></div><div style="margin-bottom:6pt;margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.087%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.981%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.134%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">131 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">132 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,488 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,972 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,975 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,954 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,554 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,038 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,106 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,086 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 66000 66000 131000 132000 2488000 1972000 4975000 3954000 2554000 2038000 5106000 4086000 <div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6. Goodwill </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill during the six months ended June 30, 2023 (in thousands):</span><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><td style="width:81.597%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.470%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total Company</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,046 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency translation </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">120 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,166 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill Impairment Review</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company reviews goodwill for impairment annually during the fourth quarter or more frequently if events or circumstances indicate that an impairment loss may have occurred. The Company determined there were no impairment indicators as of June 30, 2023.</span></div> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in goodwill during the six months ended June 30, 2023 (in thousands):</span><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><td style="width:81.597%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.470%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Total Company</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,046 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Foreign currency translation </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">120 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance as of June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">166,166 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 166046000 120000 166166000 0 <div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">7. Indebtedness</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 24, 2020, the Company entered into a Credit Agreement (the “Credit Agreement”) with JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A. as lenders. The Credit Agreement is secured and provides for up to $100 million in available revolving borrowing capacity with an option, subject to certain conditions, for the Company to increase the aggregate borrowing capacity to up to $150 million, and originally matured on April 23, 2021. During the three months ended March 31, 2021 and 2022, the Credit Agreement was amended to extend the maturity date and make other changes to the terms of the Credit Agreement. </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> In the first quarter of 2023, the Company and JPMorgan Chase Bank, N.A., as administrative agent and lender, and Bank of America, N.A. and Citibank, N.A., as lenders, entered into Amendment No. 3 to the Credit Agreement. Pursuant to the amendment, (i) the maturity date of the Credit Agreement was extended from February 17, 2023 to February 16, 2024, (ii) certain changes were made to the reference benchmark interest rates, applicable margins and borrowing mechanics under the Credit Agreement, which have the overall effect of increasing the interest rates payable by the Company on amounts borrowed under the Credit Agreement, and (iii) the commitment fee payable on the average daily unused amount under the Credit Agreement was increased to 0.35% per annum.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio and to not exceed a </span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">maximum leverage ratio. As of June 30, 2023, the Company was in compliance with these requirements. </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023 and December 31, 2022, there were no borrowings outstanding under the Credit Agreement.</span></div> 100000000 150000000 0.0035 0 0 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8. Commitments and Contingencies </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Royalty Obligations</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2005, the Company entered into a license agreement that requires the Company to make minimum royalty payments to the licensor on a quarterly basis. In July 2019, the Company amended the license agreement to extend its term for an additional ten years and to increase the required minimum annual royalty payments by $0.2 million. As of both June 30, 2023 and December 31, 2022, the amended license agreement required minimum quarterly royalty payments of $0.3 million. Unless terminated earlier, the term of the amended license agreement shall expire June 30, 2029.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In April 2012, the Company entered into an agreement that requires the Company to pay, on a quarterly basis, a 5% royalty on sales of products covered under applicable patents. The first commercial sale of covered products occurred in April 2014. Unless terminated earlier, the royalty term for each applicable product shall continue for fifteen years following the first commercial sale of such patented product, or when the applicable patent covering such product has expired, whichever is sooner.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Royalty expense included in cost of revenue for the three months ended June 30, 2023 and 2022 was $0.7 million and $0.6 million, respectively, and for the six months ended June 30, 2023 and 2022, was $1.3 million and $1.2 million, respectively.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contingencies</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company may have certain contingent liabilities that arise in the ordinary course of business. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indemnification </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into standard indemnification arrangements in the ordinary course of business. In many such arrangements, the Company agrees to indemnify, hold harmless, and reimburse the indemnified parties for losses suffered or incurred by the indemnified parties in connection with any trade secret, copyright, patent or other intellectual property infringement claim by any third-party with respect to the Company’s technology. The Company also agrees to indemnify many indemnified parties for product defect and similar claims. The term of these indemnification agreements is generally perpetual. The maximum potential amount of future payments the Company could be required to make under these agreements is not determinable because it involves claims that may be made against the Company in the future, but have not yet been made.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers, other than liabilities arising from willful misconduct of the individual.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has not incurred costs to defend lawsuits or settle claims related to these indemnification agreements. No liability associated with any of these indemnification requirements has been recorded to date.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Litigation</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is subject to other claims and assessments in the ordinary course of business. The Company is not currently a party to any such litigation matter that, individually or in the aggregate, is expected to have a material adverse effect on the Company’s business, financial condition, results of operations or cash flows.</span></div> P10Y 200000 300000 0.05 P15Y 700000 600000 1300000 1200000 9. Stockholders’ Equity<div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based Compensation</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is associated with restricted stock units (“RSUs”), RSUs with performance conditions (“PSUs”), stock options, and the Company’s Employee Stock Purchase Plan.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain RSUs granted to senior management during the three months ended March 31, 2023, will vest subject to the achievement of pre-established financial performance targets for the year ending December 31, 2023, and continued service. The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded </span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">three and six</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended June 30, 2023 and 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.426%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,281 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,472 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,431 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,514 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,709 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,900 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,111 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,392 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,408 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,043 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,823 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,786 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,589 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,679 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, total unrecognized compensation cost related to unvested share-based compensation arrangements, excluding PSUs, was $71.4 million, which is expected to be recognized over a weighted average period of 2.8 years.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, total unrecognized compensation cost related to unvested PSU share-based compensation arrangements was $15.8 million, which is expected to be recognized over a weighted average period of 3.7 years.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total stock-based compensation cost capitalized in inventory was $2.1 million and $2.2 million as of June 30, 2023 and December 31, 2022, respectively.</span></div> The fair value of these PSUs is based on the closing price of the Company's common stock on the date of grant. Stock-based compensation costs associated with these PSUs are recognized over the requisite service period of 4.25 years using graded vesting which results in more accelerated expense recognition compared to traditional time-based vesting over the same vesting period. Each reporting period, the Company monitors the probability of achieving the performance targets and may adjust periodic stock-based compensation expense based on its determination of the likelihood of achieving these performance targets and the estimated number of shares of common stock that will vest. The actual number of PSUs awarded is based on the actual performance during the performance period compared to the performance targets. P4Y3M <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the stock-based compensation expense included in the Company’s condensed consolidated statements of operations for the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">three and six</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended June 30, 2023 and 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.426%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,281 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,472 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,431 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,514 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,709 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,900 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales, general and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,111 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,392 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,408 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,043 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,823 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,786 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,589 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,679 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 1281000 880000 2472000 1736000 2431000 1514000 4709000 2900000 9111000 6392000 18408000 13043000 12823000 8786000 25589000 17679000 71400000 P2Y9M18D 15800000 P3Y8M12D 2100000 2200000 <div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10. Accumulated Other Comprehensive Income (Loss)</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Other comprehensive income (loss) consists of two components: unrealized gains or losses on the Company’s available-for-sale marketable investments and gains or losses from foreign currency translation adjustments. Until realized and reported as a component of consolidated net income (loss), these comprehensive income (loss) items accumulate and are included within accumulated other comprehensive income (loss). Unrealized gains and losses on the Company’s marketable investments are reclassified from accumulated other comprehensive income (loss) into earnings when realized upon sale, and are determined based on specific identification of securities sold. Gains and losses from the translation of assets and liabilities denominated in non-U.S. dollar functional currencies are included in accumulated other comprehensive income (loss).</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in the accumulated balances during the period and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income (loss) into earnings affect the Company’s condensed consolidated statements of operations and condensed consolidated statements of comprehensive income (loss) (in thousands):    </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.414%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,640)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,221)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,861)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,069)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,903)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(5,972)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Unrealized gains (losses) — marketable investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Foreign currency translation gains (losses)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net of tax</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,282 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,186)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net current-year other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,282 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,186)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, end of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,567)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(5,579)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,922)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,236)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(10,158)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.553%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,624)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(8,124)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(595)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,035)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,630)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Unrealized gains (losses) — marketable investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Foreign currency translation gains (losses)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net of tax</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2,545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(7,528)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net current-year other comprehensive income (loss) </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2,545 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(7,528)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, end of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,567)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(5,579)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,922)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,236)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(10,158)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in the accumulated balances during the period and includes information regarding the manner in which the reclassifications out of accumulated other comprehensive income (loss) into earnings affect the Company’s condensed consolidated statements of operations and condensed consolidated statements of comprehensive income (loss) (in thousands):    </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.414%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%"> Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,640)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,221)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,861)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,069)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,903)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(5,972)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Unrealized gains (losses) — marketable investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Foreign currency translation gains (losses)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net of tax</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,282 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,186)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net current-year other comprehensive income (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">628 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">654 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,282 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(853)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,333)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,186)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, end of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,567)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(5,579)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,922)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,236)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(10,158)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.553%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Marketable<br/>Investments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Currency Translation<br/>Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, beginning of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,500)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,624)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(8,124)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(595)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,035)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,630)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Other comprehensive income (loss) before reclassifications:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Unrealized gains (losses) — marketable investments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Foreign currency translation gains (losses)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net of tax</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2,545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(7,528)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Net current-year other comprehensive income (loss) </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">1,057 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">2,545 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,327)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(4,201)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(7,528)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Balance, end of the period</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(2,012)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,567)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(5,579)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(3,922)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(6,236)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(10,158)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> -2640000 -4221000 -6861000 -3069000 -2903000 -5972000 628000 0 628000 -853000 0 -853000 0 654000 654000 0 -3333000 -3333000 628000 654000 1282000 -853000 -3333000 -4186000 628000 654000 1282000 -853000 -3333000 -4186000 -2012000 -3567000 -5579000 -3922000 -6236000 -10158000 -3500000 -4624000 -8124000 -595000 -2035000 -2630000 1488000 0 1488000 -3327000 0 -3327000 0 1057000 1057000 0 -4201000 -4201000 1488000 1057000 2545000 -3327000 -4201000 -7528000 1488000 1057000 2545000 -3327000 -4201000 -7528000 -2012000 -3567000 -5579000 -3922000 -6236000 -10158000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11. Income Taxes </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s income tax expense (benefit), deferred tax assets and liabilities, and reserves for unrecognized tax benefits reflect management’s best assessment of estimated current and future taxes to be paid. The Company is subject to income taxes in both the United States and foreign jurisdictions. Significant judgment and estimates are required in determining the consolidated income tax expense (benefit).</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During interim periods, the Company generally utilizes the estimated annual effective tax rate (“AETR”) method which involves the use of forecasted information. Under the AETR method, the provision is calculated by applying the estimated AETR for the full fiscal year to “ordinary” income or loss (pretax income or loss excluding unusual or infrequently occurring discrete items) for the reporting period. Jurisdictions with tax assets for which the Company believes a tax benefit cannot be realized are excluded from the computation of its AETR.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s provision for income taxes for the three months ended June 30, 2023 was $0.6 million, which was primarily due to tax expenses attributable to its worldwide profits offset by excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction. The Company’s provision for income taxes for the three months ended June 30, 2022 was $2.5 million, which was primarily due to tax deficiencies (shortfalls) expenses from stock-based compensation attributable to its U.S. jurisdiction as a result of stock price fluctuation, offset by tax benefits attributable to its worldwide losses. The Company’s effective tax rate changed to 2.9% for the three months ended June 30, 2023 from (215.9)% for the three months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2023 </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">comparing to large tax expenses over relatively small worldwide losses in 2022.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s provision for income taxes for the six months ended June 30, 2023 was $0.7 million, which was primarily due to tax expenses attributable to its worldwide profits offset by excess tax benefits from stock-based compensation attributable to its U.S. jurisdiction. The Company’s benefit from income taxes for the six months ended June 30, 2022 was $2.7 million, which was primarily due to tax benefits attributable to its worldwide losses, offset by tax deficiencies (shortfall) expenses from stock-based compensation attributable to its U.S. jurisdiction as a result of stock price fluctuation. The Company’s effective tax rate changed to 2.4% for the six months ended June 30, 2023 from 42.5% for the six months ended June 30, 2022, primarily due to small tax expenses over relatively large worldwide profits in </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> comparing to large tax benefits over relatively small worldwide losses in 2022.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant domestic deferred tax assets (“DTAs”) were generated in recent years, primarily due to excess tax benefits from stock option exercises and vesting of restricted stock units. The Company evaluates all available positive and negative evidence, objective and subjective in nature, in each reporting period to determine if sufficient taxable income will be generated to realize the benefits of its DTAs and, if not, a valuation allowance to reduce the DTAs is recorded. </span></div><div style="text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023 and 2022, the Company maintains a valuation allowance against its Federal Research and Development Tax Credit DTAs as the Company could not conclude at the required more-likely-than-not level of certainty, that the benefit of these tax attributes would be realized prior to expiration. The Company intends to continue maintaining this full valuation allowance until there is sufficient evidence to reverse it. However, considering current earnings and anticipated future earnings, as well as the impact of IRC Section 174 requiring qualified research expenditures to be capitalized and amortized over 5 or 15 years, the Company anticipates net operating loss (“NOL”) utilization may be accelerated. As a consequence, the Company believes there is a reasonable possibility that sufficient positive evidence may become available to conclude this valuation allowance may no longer be needed within the next 12 months. Release of the valuation allowance will result in the recognition of Federal Research and Development Tax Credit DTAs and a decrease to income tax expenses for the period in which the release is recorded. The exact timing and amount of the valuation allowance release are highly dependent on the level </span></div><div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of taxable income in future years. The Company will continue to closely monitor the need for this valuation allowance in each subsequent reporting period.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023 and 2022, the company maintains a full valuation allowance against its California DTAs as the Company does not expect to generate sufficient future taxable income in California to realize the tax benefit due to the computation of California taxes under the single sales factor and non-conformity of the Section 174 capitalization rule.</span></div>The Company maintains that all foreign earnings, with the exception of a portion of the earnings of its German subsidiary, are permanently reinvested outside the United States and therefore deferred taxes attributable to such earnings are not provided for in the Company’s condensed consolidated financial statements as of June 30, 2023. 600000 2500000 0.029 2.159 700000 -2700000 -0.024 0.425 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12. Net Income (Loss) per Share </span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company computed basic net income (loss) per share based on the weighted average number of shares of common stock outstanding during the period. The Company computed diluted net income (loss) per share based on the weighted average number of shares of common stock outstanding plus potentially dilutive common stock equivalents outstanding during the period using the treasury stock method. For the purposes of this calculation, stock options, restricted stock units and stock sold through the Company’s employee stock purchase plan are considered common stock equivalents.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income (loss) per share is as follows (in thousands, except share and per share amounts):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"><tr><td style="width:1.0%"></td><td style="width:47.855%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.840%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.840%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.989%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.992%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,687)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,608)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt;padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares used to compute net income (loss) attributable to common stockholders:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,320,999 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,767,519 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,254,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,707,156 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potential dilutive stock-based options and awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">880,156 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">897,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,201,155 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,767,519 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,151,412 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,707,156 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss) per share:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.49 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.48 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.70 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended June 30, 2023 and 2022, outstanding stock-based awards of 8 thousand and 1,766 thousand shares, respectively, and for the six months ended June 30, 2023 and 2022 outstanding stock-based awards of 8 thousand and 1,878 thousand shares, respectively, were excluded from the computation of diluted net income (loss) per share because their effect would have been anti-dilutive.</span></div> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A reconciliation of the numerator and denominator used in the calculation of the basic and diluted net income (loss) per share is as follows (in thousands, except share and per share amounts):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"><tr><td style="width:1.0%"></td><td style="width:47.855%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.840%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.840%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.989%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.546%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.992%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,687)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,608)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt;padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares used to compute net income (loss) attributable to common stockholders:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,320,999 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,767,519 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38,254,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,707,156 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potential dilutive stock-based options and awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">880,156 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">897,370 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,201,155 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,767,519 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39,151,412 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,707,156 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income (loss) per share:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.49 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Diluted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.48 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.70 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.10)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 18960000 -3687000 27522000 -3608000 38320999 37767519 38254042 37707156 880156 0 897370 0 39201155 37767519 39151412 37707156 0.49 -0.10 0.72 -0.10 0.48 -0.10 0.70 -0.10 8000 1766000 8000 1878000 <div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">13. Revenues </span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized in an amount that reflects the consideration the Company expects to be entitled to in exchange for goods or services. All revenue recognized in the condensed consolidated statements of operations is considered to be revenue from contracts with customers.</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three and six months ended June 30, 2023 and 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.380%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.060%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">186,772 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">141,456 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">358,651 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">285,764 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">International</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66,888 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,246 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">126,475 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">261,499 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,344 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">502,897 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">412,239 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company’s revenues disaggregated by product category for the three and six months ended June 30, 2023 and 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.380%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.060%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vascular</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">152,684 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">123,543 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">295,533 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">246,352 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Neuro</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,815 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84,801 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">207,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">165,887 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">261,499 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,344 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">502,897 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">412,239 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">China Distribution and Technology Licensing Agreement</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2020, the Company entered into a distribution and technology licensing arrangement with its existing distribution partner in China. In addition to modifying the Company’s standard distribution agreement with its partner in China, the Company agreed to license the technology for certain products to its partner in China to permit the manufacturing and commercialization of such products in China as well as provide certain regulatory support. During the three months ended March 31, 2022, the Company further amended the distribution agreement and entered into an additional license agreement, pursuant to which the Company agreed to license the technology for additional products to its partner in China on substantially the same terms as the existing license agreement. Apart from the standard distribution agreement, the Company will receive fixed payments upon transferring its distinct licensed technology and providing related regulatory support and royalty payments on the down-stream sale of the licensed products.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Obligations</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Delivery of products - The Company’s contracts with customers typically contain a single performance obligation, delivery of the Company’s products. Satisfaction of that performance obligation occurs when control of the promised goods transfers to the customer, which is generally upon shipment for non-consignment sale agreements and upon utilization for consignment sale agreements.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment terms - The Company’s payment terms vary by the type and location of our customer. The timing between fulfillment of performance obligations and when payment is due is not significant and does not give rise to financing transactions. The Company did not have any contracts with significant financing components as of June 30, 2023.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product returns - The Company may allow customers to return products purchased at the Company’s discretion. The Company estimates the amount of its product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period in which the related product revenue is recognized. The Company currently estimates product return liabilities using its own historic sales information, trends, industry data, and other relevant data points.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Warranties - The Company offers its standard warranty to all customers and it is not available for sale on a standalone basis. The Company’s standard warranty represents its guarantee that its products function as intended, are free from defects, and comply with agreed-upon specifications and quality standards. This assurance does not constitute a service and is not a separate performance obligation.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Transaction Price</span></div><div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recorded at the net sales price, which includes estimates of variable consideration such as product returns utilizing historical return rates, rebates, discounts, and other adjustments to net revenue. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price. When determining if variable consideration should be constrained, management considers whether there are </span></div><div style="margin-bottom:6pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">factors that could result in a significant reversal of revenue and the likelihood of a potential reversal. Variable consideration is included in revenue only to the extent that it is probable that a significant reversal of the revenue recognized will not occur when the uncertainty associated with the variable consideration is subsequently resolved. These estimates are reassessed each reporting period. During the three and six months ended June 30, 2023, the Company made no material changes in estimates for variable consideration. When the Company performs shipping and handling activities after control of goods is transferred to the customer, they are considered as fulfillment activities, and costs are accrued for when the related revenue is recognized. Taxes collected from customers relating to product sales and remitted to governmental authorities are excluded from revenues.</span></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract liabilities, net </span></div><div style="text-indent:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following information summarizes the Company’s contract assets and liabilities, net as of June 30, 2023 and December 31, 2022 (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.523%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,883 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,783 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities represents amounts that the Company has already invoiced and are ultimately expected to be recognized as revenue, but for which not all revenue recognition criteria have been met and is recognized as the associated performance obligations are satisfied. Contract assets for the periods presented primarily represent the difference between the revenue that was recognized based on the relative standalone selling price of the related performance obligations satisfied and the contractual billing terms in the arrangements. Revenue recognized during the three and six months ended June 30, 2023 relating to contract liabilities as of March 31, 2023 and December 31, 2022 was $0.4 million and $0.9 million, respectively.</span></div> <div style="margin-bottom:6pt;margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company’s revenues disaggregated by geography, based on the destination to which the Company ships its products, for the three and six months ended June 30, 2023 and 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.380%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.060%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">186,772 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">141,456 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">358,651 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">285,764 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">International</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66,888 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">144,246 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">126,475 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">261,499 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,344 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">502,897 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">412,239 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:6pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the Company’s revenues disaggregated by product category for the three and six months ended June 30, 2023 and 2022 (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.380%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.056%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.523%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.060%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Three Months Ended June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vascular</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">152,684 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">123,543 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">295,533 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">246,352 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Neuro</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">108,815 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84,801 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">207,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">165,887 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">261,499 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">208,344 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">502,897 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">412,239 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 186772000 141456000 358651000 285764000 74727000 66888000 144246000 126475000 261499000 208344000 502897000 412239000 152684000 123543000 295533000 246352000 108815000 84801000 207364000 165887000 261499000 208344000 502897000 412239000 <div style="text-indent:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following information summarizes the Company’s contract assets and liabilities, net as of June 30, 2023 and December 31, 2022 (in thousands): </span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.523%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">June 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,883 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,783 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 7883000 8783000 400000 900000 <div style="margin-bottom:6pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Rule 10b5-1 Trading Plans</span></div><div style="text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarterly period ended June 30, 2023, certain of our directors and officers adopted trading plans, each of which is intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) under the Exchange Act (the “Rule 10b5-1 Trading Arrangements”). Each Rule 10b5-1 Trading Arrangement was entered into during an open trading window under our Securities Trading Policy. The following table presents the material terms of each Rule 10b5-1 Trading Arrangement adopted by our officers and directors during the three months ended June 30, 2023, other than terms with respect to the price at which the individual executing the Rule 10b5-1 Trading Arrangement is authorized to trade:</span></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"><tr><td style="width:1.0%"></td><td style="width:33.456%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.564%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.306%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.564%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.306%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.564%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.240%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Name and Title of Officer or Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Plan Adoption Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Plan Duration</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total Securities to be Sold</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Arani Bose, Director</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/19/2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8/17/2023 - 1/31/2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60,000</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Harpreet Grewal, Director</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/23/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9/1/2023 - 1/15/2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">680</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Don Kassing, Director</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/9/2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8/8/2023 - 5/9/2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">767</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Bridget O'Rourke, Director</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/22/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9/1/2023 - 12/1/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">250</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Surbhi Sarna, Director</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/18/2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9/1/2023 - 5/31/2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">255</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Thomas Wilder, Director</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/8/2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8/7/2023 - 1/12/2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">680</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Maggie Yuen, Chief Financial Officer</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5/16/2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8/16/2023 - 5/16/2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,717</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> false false false true Arani Bose Director 5/19/2023 60000 Harpreet Grewal Director 5/23/2023 680 Don Kassing Director 5/9/2023 767 Bridget O'Rourke Director 5/22/2023 250 Surbhi Sarna Director 5/18/2023 255 Thomas Wilder Director 5/8/2023 680 Maggie Yuen Chief Financial Officer 5/16/2023 4717 EXCEL 63 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )>% 5<'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 " "7A0%7:+O[(^X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R$G*&";UI:.G#@8K;.QF;+4UBV-C:R1]^R5>FS*V!]C1TN]/ MGT"M#D+[B,_1!XQD,=V-KNN3T&'-3D1! "1]0J=2.27ZJ7GPT2F:GO$(0>D/ M=42H.;\'AZ2,(@4SL @+D^"V@68J[^B621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M )>% 5>,B_Q'O04 +\> 8 >&PO=V]R:W-H965T&UL MM9EK;]LV%(;_"N$-PP;4L4CYELXQX#C)EJU-W3C;T W[0$NT+502-8JRDW^_ M0\F6G((Z=H7Z2Z+;>7Y&@KU>=T+80FSU$8IU>MM=;)VTXG]=8BXNF% M3$0,;Y9215S#K5IUTD0)[N=!4=AACM/O1#R(6^-1_FRFQB.9Z3"(Q4R1-(LB MKEZN12BW5RW:VC]X#%9K;1YTQJ.$K\18!8\%5,9_A7X>GW5&K:(+Y8\"_6CW/XJ=D ]H^?),,W_ MDFWQ;;?;(EZ6:AGM@J$$41 7__GSKB(. VA- -L%L"\":-TON+L -PMU2FYC7_BOXSM0EK) ;%^@:X8*_I;%%\1UWA#F,-=2 MGNFQ\/""T*$M_%5QW+)^W%S/1>OGG\DBU0J:W+^V&BH4NG8%TP_?I@GWQ%4+ M.EHJU$:TQC]\1_O.SS:\;R3V"K9;PG8Q]?&-]#+HHIH\O23"1HJ'4Z?]T8:$ M1C5$ZI5(O=.0/F9<::'"%_(H$JFT#0^7TBJS5TYS$IZ#I-$ M*Y=$<7.3#T<36.;6@^$"/>I8L<[AB6AEBBCN9-Y)#_(U6\L8,PU'1 ;=8=N% M5;^5[QR6B%:>B.*&YBG08(?DDE#VX^(G,A=>IB"35DA<:2JC"/KQ7$OO,S1T MKLB&AYD@WSL7X)I( FN\? 5LK81S6"=:>2>*FQYPO'X0K\C\)5K(T,I^Q#7= M/EBQSF&66&66&&YK]LDDM\_>FLL)CP@]?)I;)Q,\K"E?Y8C828YHFBEE MUBW%8B7/(TRAF76GY8CB)^O^S!2/:LI9&2)VDB&ZCV%Q7>S)F04HWX-;.7'% M.LYS^"%6^2%VDA\R"S1P/^""5E)91Z(C.N^X@K8^\3P!0B#C%Y)6XG/8(5;9 M(7:2'9I'/ S)=9;"Z]3>;G&=VO4V'M>4K[(_["3['A,O5XYW!!K')!##S MR8=,@Z>-S01J)?Y&_F97#X5:+U;L3OLNOU^WQUU-C;&R@FQD[:'IC"B M*K!\][$OGLGOPI[&8[M$#G49';A6HXX'-\UE9788[E7VT^5=D!IK^TF 4\/V M-(_(M=N4M5UJ!3V'_7$K^^/BKJ7UI2QLD N;EB^ M9-SM4==3XG(?K0T6#VK*6-D?%S8(P*UHRH>][5@G8,C0C/A MY2>G*?',-DYQ6E@^+4]G)_F99*?ZO#C:?<_-?)F24"PAU+D8P("GBM/2XD;+ M)#]P7$BM991?K@7WA3(?P/NEE'I_8WZ@/+,>_P]02P,$% @ EX4!5P!X M\ 5D!@ .AL !@ !X;"]W;W)K@:;>_&8F.A4BB*]%Y^?8[RHYDBR?>0U.Q>U;?-2DI-'LJB:LXG*ZW79]-IDZYD*9I3M985/%FJNA0: M;NN;:;.NI24O:])LRE+4CQ]DH>[/ M)W3R],.W_&:ES0_3^6PM;N25U#_6ES7<33LO65[*JLE516JY/)^\IV<+[IL& MK<7?N;QO]JZ)">5:J5MS\SD[GWA&D2QDJHT+ 7_NY$(6A?$$.G[NG$ZZ=YJ& M^]=/WC^VP4,PUZ*1"U7\DV=Z=3Z))R232[$I]#=U_X?S$7;-VUKB":OS#!>Z1J>YM!.SQ>JRF!09$;@JE%%G@D--Q]$(:I4 MDBOCN"$GY,?5!?GMZ'=R1/**?%^I32.JK)E--6@PGJ;I[GT?MN]C(^_[Q\BY6[O(^7XAF16#4 M2&HNY,]-?B<*"!X=Q:VKL'5E2L'=G%*?AM%L>KH])!957+8DHH#ZV&025EJ2US')-"@6SK#&/C_SC* K:P3B*0T:$ M)I 8LDN,]@G,=5E>R[J;[\?PIF8MV\)7/&+]$5B!,@^Z(QCT!V;&>>SC_1%V M_1$Z^^,SC%6E59U+=*Q"ZZ4\B*/(&VA#S+@/3,*U19VVR*GMLI9KD6=$/JQ- MM6O:#E9Z!;V;'I0 3'ED2TJ\*!X(1ZP\%B6X[KC3'3MU?U=:%"^0&%LOCUD4 M1\-$L,VB( B3$9%))S)YIG-A55'KQ[9335U9FX1M=Y]3Z%90*G5YJ>-; MC:-38N?H8&*&E ZG+V(6@Q4=$=J#D;K)^$FI[#XO"E0:MT"&7$M(_(UH\X)65VGP+PS"RAADQ\QD=&^8>@]3-P:]M&:U4=?)\ MG:(V>J@7>$,(8&902\>D]H2B;D1MRZE#GDT?ZG,6<#84B!CRR(OCL>'N046C M%ZU(BUQFO\G88=$\YZL9SCD(#MN'%@I@F MPY%!S" 91A!'>\91-^1 8KV!+-P;%U2ES2V8X*%GE0O,+N1[F7"XG^D!Q]R M>YH_:@"Z9W0S!%Q>1(GE0O#S#WG&:;6S2)ATA&K=A8 M/^]M'-UP.UR9/:?4!A?U?FWJ@P=H8Y5;".&T.C])ZS'(W9M]G M66[.H2%GS,'"25Z15*QSR"'T- W%IA=:NU[$,(%5@3^"*]X#EKL!"\N73;DI MVL/=W;F'*F'(5N9$_DZV9U.H)T$0#1,>,XOW^78HNZU^*8?*[2T^V,19,6 MC0!AIQ>&@<^',=B&21*/GKCR'K+<#5FK_+?E]951^/:A,;I[P@S1W=-T[\.& M^:KT1=0W>=4 _I?0TCN-H"/J[8>:[8U6Z_9;Q[726I7MY4H*D&\,X/E2*?UT M8SZ?=)_+YO\"4$L#!!0 ( )>% 5?9ZEY92@( "D% 8 >&PO=V]R M:W-H965T&ULK511;],P$/XK)S.A(<&<)EL[1AIIZS0!$E*U M,GA /+C)M;'FV,%VV_'O.3M9U(ENXH&7Q&??]_F^\]WE.V/O78WHX:%1VDU9 M[7U[P;DK:VR$.S$M:CI9&=L(3Z9=<]=:%%4$-8JG23+FC9":%7G-6[FN?=C@1=Z*-2[0W[5S2Q8?6"K9H';2:+"X MFK++T<4L"_[1X9O$G=M;0U"R-.8^&)^J*4M"0*BP](%!T&^+,U0J$%$8OWI. M-EP9@/OK1_:;J)VT+(7#F5'?9>7K*3MG4.%*;)2_-;N/V.LY"WRE42Y^8=?Y M3MXS*#?.FZ8'4P2-U-U?//1YV .,3I\!I#T@_5= U@-BYG@7691U+;PHED*]@7=PM[B&XZ,W< 12P]?:;)S0E0)6\A3=+L 'SV,OP:2X*/(CQ]"N>4B2$=Z9".-/)ES_ M/,FG(O5@5G C M-25!"@5SXV2LNA^72^/UJ-$X^ M'!+^G\B>I"$;TI"]Q%Y<*NKN6 T)Z"T6$D/RCB'!Y^X(QM'LC VML7I9'*6 M\^V^GK^=SL?IX-.%R?<*.0R1+\*NI7:@<$6HY&1RQL!VC=D9WK2QMI?&4Z?$ M94VS#&UPH/.5,?[1".TR3,?B#U!+ P04 " "7A0%7"B+P#^<% L&P M& 'AL+W=O25TFYZL27YW$.=R\O+ M8VG\).17M>%J2VDB?+ M*BC/1L3SV"A/TF(P&5?7[N5D+'8Z2PM^+Y':Y7DB_[GCF7BZ'>#!RX6/Z7JC MRPNCR7B;K/D#UY^W]]*XILY(65 A?@CY4_JY!B5 M4AZ%^%J>O%O>#KSRCGC&%[JD2,S7GD]YEI5,YC[^/I .CF.6@:?'+^P_5^*- MF,=$\:G(OJ1+O;D=1 .TY*MDE^F/XNE7?A!$2[Z%R%3UB9YJ;.@/T&*GM,@/ MP>8.\K2HOY/G0R). @P/'$ . <0."%H"_$. _ZTC!(> X%M'H(> 2OJHUEXE M;I;H9#*6X@G)$FW8RH,J^U6TR5=:E(7RH*7Y-35Q>C(5Q=),.U\BM/DR]: 5$BOT80G/\W^OP_CWZ6#/]8%W[%Y[?PO2L6(N=-': _WSXJ+CMLF"WPY,-U-<[OE@\N,/F'D_07GNDVS6)]F\)[*S&0F. M,Q)TL4\^\CTO=AS*?AW(JL!R9]A/",-!'(]'^].\ C O\H/@'#9S8=0C41R> MP^8N+,"$^,V@9RKI427M5#D52IK#4L.CU+"SG1QVD&*-^/.VW&_4#:0X[+.-]$DVZY-LWA/9 MV4Q$QYF(7FDCBB=RL4%FUS:.:F^LXK9L\-!T1&XM8.I;C6#JHG!,J;W27%2 M*;&K#T!YF+047WR4''=*?D@RKJ[0FA>F"+-*>+(T7BHM-[32IT+:8U<5,1W$ M6E53 (8#ANW%Y\((]2BVY0,P0ND)VYE^[#4FS^O,P">AC7#A+$+0M7FNI,"T M?V(IAW!^@$-[.P%P)":>SRSM$([1T\9^+O[$X>).\0OB-?<-!%MS'J=AB>1K6H*@(9VA

;$_\I60_"4+.GEN6?(! MU,+M%3H%8&:F6&CK=V$DPI&3 8"-D1"W9* QD+C;0=Y+L4^KYQA&.[IX-%W? M^*MJW5^^G@G7Z='0R8,+(I1X=AI<%&-.TW-!0\)8RX:'&V>)NZWE[[Q9\54I M@&*98^%Q%#//ENO"ACZ+G&EW822DA-B*03:OK)= M!\X&Y**&WC6V:Q+BLO>I^6MS1GJR-SYKS6O)"HF=5MK8;V-!P35).EWL]Z[) M7MEFO;+-^V([GZ#&$I-N2]RLR7IFP&HDKB7U(Y]XL?-@"4*&(0LIMMTPR$EH MX 7VHH0YO1#3EJ,J?TG$$*VZ(J%A7;_#-U,,7)_AFWG]XJ:A MK]\CO4_D.BT4ROC*#&7ZB[E=6;^:J4^TV%;O'AZ%UB*O#C<\67)9 LSO*R'T MRTDYP/$%V>1?4$L#!!0 ( )>% 5&PO=V]R M:W-H965T&ULK5=;D]HV%/XK&C?3V]\NDT/7'R2!2$*/564 MR9E5*+6=V+;,"E)A>X9%8ZK=L> M1#KE.T5+1AX$DKNJPN++/:'\,+-2 MEQ5ALN0,";*>67?N9#G6]K7!KR4YR*,RTI&L./^D*V_SF>7H"1%*,J41,'SV M9$XHU4 PC<\MIM4-J1V/R\_HW]>Q0RPK+,F7AR %PS Y>Z^#U'8(S#G[K MX+]TA*!U"%XZ0M@ZU*';3>PU<0NL<#H5_("$M@8T7:C9K[V!KY)IG3PJ ;TE M^*ETSED.62"[R1FN9S:"J:G![&S=BKWS52\,U/QT3O.5"'1$J:4 M&_P7E_VC"_XVT-)QXSUS<^]=!/QQQVZ1[[Q!GN/YAOG,7^[NF<+Y?Z,O__/H M)V3XG5#\&L\_@] M6.FWW[B1\YV)^&N"+:X)MKP2V$F*@BY%P27T]&CP)/8WB)%:JPH_34Q$A-<4Y#7!%M<$6UX)["1)49>DZ*(@X2B'@YK! M.28$8=D7!-L#DQ0W5X3\3SC>ZC/F.%>F5#6CA$<*BL*@I]BASJ9F:/ M2XI7E(S@'CB2F!(D"7!8JI)\E:MXR)67]+@:VHR2L$_5T,@-DA[2TH#D^UYL MIBKIJ$HN4O6!*TP1_S$$_Z*'5*$[BO@"&5CX\/OJ+Q8#ENJX?]<*V MCZZH%1&;^FT@(;T[III+2-?:/3_NZEMWK_W>GKHKZ5;4IU^8_#]5V533F[?;33;W9EL5L7VFUO*%I*F]6 MQ6(]N+_=_^W=]OZVVC7+Q;I\MTWJW6I5;+^]*9?5X]V #+[_X?WBT[QI_W!S M?[LI/I4?RN:WS;NM>7=S1)DM5N6Z7E3K9%L^W U^)J^U'+45]B7^M2@?ZY/7 M27LK'ZOJ<_OF[>QND+975"[+:=-"%.;7EW)<+I&&1(LWK9;U_F?R>"B; M#I+IKFZJU:&RN8+58OWTN_AZ:(B3"H2=J4 /%6C7"NQ0@7D5Z.A,!7ZHP+T* M7)ZI( X5A%_AW$W+0P6Y;_NGQMJW]*1HBOO;;?68;-O2!JU]L9=K7]LT\&+= M]JP/S=;\=V'J-??C:EU7R\6L:,I9\J$QOTRW:>JD>C#OJNGG>;65,WQ5Q@6],1SCV!GKL#73/Q,\PO2D_+=8M MA1FMRV(]-==LVJ6>%]NR?ID4C>&:ODH8^7-"4TH@I:/X[33YNMX4T_)N8)JG M+K=?RL']'_] 9/H72/\G,+$':Z?(+_=L)$89S]CMS9=3J3%9%2:81@)SU&1' M-5E/-;LH^(0I3QH]%RRG([?)QV$QYA69 $@DE82[Q518;$@E2]U2.BS%19[* M8RFGA?BQA?B^&CO30F9@FL=Q7;;3VM.KE^U)>9P]%MO9?Z&6 MXYA]'Q-L@@FF,,$T$IBCOCBJ+Z+CXVU=[_;#PCSLID\/D[I5_G32@W2.HO;5 M601S'$E9GGF#9(+)J3#!-!*8HZ \*BBO4A!2388-;5K:F]5D,,L03P@0AGI3 M6O2J^S8P$IC3P*-C X^B#?QA/PJ2>;F<)2:,29KBJUF@-O-VY:2D'I9V.",9-Z(&$=Y^SZI.E$J M3$J-!.:HDA]5R>.JM+/5L V-9^T$MC$!0]%&)9 :.?"D&!'IJ1'EZZM&)TJ% M2:F1P!PU2&JCX32JQU/T-G6BM\4A>EN>B=[>'##=3LNX]U 8QZG[2H.*IKK= M@L8B==4Y\2I(5)U_E$T'-4AP*Z/'J8%T"$K<)U'H6 M\0A^*;;'").""J&:! 1R":3,*/77T*B\"A5-8Z&YBEJG@,2M D_13BJRH-US MD3-_+3PF@%.0^#-MFA7-0G@[ @HPPH!SEE0+&( M549LK$WD#S3+"&:,/$9%FZ"B*50TC87F=@+K!Y"X(7#= AF(W$>"9OY8P0RV M)ZAHJMLM:"Q25QT;XY-XD-]M@0S%V#(-U$"-ZU'1%"J:QD)S1;,6 (E[ /'5 M]-]V:_,D2B/K,,SP>TS"D)^-LBPU<;__U,+D5:AH&@O-_1#5N@@T[B*$J^F+ M*M(P ,]':4J$-RH/Y:*K:0C+B.BO.Q10;D@,I3^I >4XI7D&+RBH#>=I/)R_ MN)R^&(/$"7I_W!S&RFA8JFL=!<44\R"/JF$'02,@SBP6#R4"[>_0$L M*)@$RD'!)% L$DQ2&W)3]@.7TS0:W_<>"9AH$U0TA8JFL=#<3F =!1IW%*[] M"#H.VUONT$2:E*O-LOI6EH<_;G;;Z;R=CC?FJ75Q^*&: M%S3,*9 RS8/G&JHK@8JFL=!.NQ#.D!N4-@_U1[NLQCE]3[P':A5.A MS;Z@2XY0]V/ M@(HV0453J&@:"\WM!-8H8'&CX%J7/ [;6^[0("",YTSZ(PO5($!%TUAHKI#6 M(&!Q@Z"/2\["&)W2U,_DCA/V'H-=.!4JI\9"%[[WH% M4A(RXF>SHG(J5#2-A>;*:2T%'K<4KK'@.!".T]1[PH_CQ+UW)'?A5*B<&@O- ME<;Z"3SN)_0QX'@811,3G/A;[^*,O37I1*I02346FBN*M15XW%:XRH+C8?A/ MJ/3W$L>9>XN#:B1TN@.-Q>EJHX4V\M4/,@4-'T MI?9PM; N!(^[$-VW?#%0)50+@D,6!.64^)_@3%!Y%2J:QD)S%;46!(];$/$M M7["*P.$'*>5<^JMRWL& ,#R4991/R<%*#>4F23^7!46$_0TP\5M)FM \'AJ MP?/MMSA![[X?Y@F14JFL9"#^!S5QYKX:HJ*I3G>@L3A=;6R\+Q".1!!AL$U'(LCGB%/U%@,U90 536.A MN:)9)T \Y_R$TT]!P658'+WO-"J \Q,RG@J9^NG?J+P*%4UCH;F*6AM!]#T_ MX;**0 B>2BG\\ZS&HL,!"B!8FDI_;:* @D,A_ -2-%!L1#@]LYH6-J07\9"^ MUY8ON-DPH^6Q"*/E,Y$D*J]"1=-8:*ZH)\"$U[&<<+>8[ + MIT+EU%AHKB36KQ#7)1@@[/F*,_<>?F&F@2!4!L?^HKH2J&@:"\T]^=>Z$C+N M2B#O^9)AM)^QS/?D)ET9A'+[O*)10%H+, MO!7H!)54H:)I+#173VMER M)#5?DFTA@BT 6N%%QXMY#K0NG0N746&BN--:3 MD'%/HD^^B03S 40P_:&F-'0C5:BD&@O-%<4:(#)N@%SEIWK3 M5)O]%[9]K)JF6NU?SLO"!#5M ?/_AZIJOK]IOP/N^#6$]_\#4$L#!!0 ( M )>% 5>&PO=V]R:W-H965T&UL MK5I;;^.V$OXKA%L4NT"]EDA=TR2 XSBMBXWC$V>W#P=]D"7:5E<274G.Y?SZ M,Y0*L=WU9CV7L?>(Q7ZY(/#*XO-\&*SFGY;3/+X6[0:(GBE&9%S#*4 MT^55;VA>C"S")U02WV/Z4NQ=(V[*@K$?_&827?4,CH@F-"RYB@#^/=,131*N M"7#\NU/::Y[))^Y?OVN_JXP'8Q9!04^02\FX"[$RS%!+*; M4'EN4".KS+H-RN#Z,F>7UB&41!(5& M"*X*EL114,+-O(1_$*VR0&R)1D&Q1G<0\0+UT;?Y+?KT\V?T,XHS]+1FVR+( MHN)R4 (:KG,0[IY\4S\9*Y[LH'N6E>L"C0%!=#A_ %8TIN!W4VZP5N&?V^P+ M(L:O"!N82/",/CX=:^"0QK.DTD<4^AH7=CSXW^&B*'-(W[]E/JMU6G*=?$U? M%)L@I%<]6+0%S9]I[_J7GTS'^$UF\)F4'9AO->9;.NW74RA!<1:RE*)/"2N* MSS)K:Q5.I8(7G.=K[-K<^\_[9HA2?>(87B-U@,]N\-G:\ RC?V!UU2E>,JA( M(@U,3PMSDCU#-K+\#;WD<4G[$7O)I'75D[C2[T*4"-DND2/T&X3^D: O:9Z# M%\O@E4JA^<)3^]BRC0XVF91KF7)PIM%2F:&%]U"N:2XE(D-X(+$]MX-*(M5W M+450S3V"-;6%9K0.LA4M.%ONE8FBH%!X^,))XF 1)^J2L5-_IIIQ+FV'SL"M M,[ V1,,P9%M>DMMYIZ M6**B6-^R#$]50EJJ-'U]V1_._T!W7Q_^FJ.[QX=[-)E^'\^?)M/?T7#T-/D^ M>9J,Y_)ZK^7@D^O]F;0=[LA:2L9Z2IYM\W =\$4#FZ TR'_0DJ]QB"2D7=U] MRWR )51LVJ9O=:(GD5/D'V[Y&FLIL+-4BB Y&;QY=.5(1$S34T%OV17KV?40 M>AJ4V[Q:'R?B%UD5N[XKV""*69:M:H)QR[U8S[T'*0,U -9[^5;57/KO-MYP MV%+4$J[U,'&ZJ"5B/O$4!1:WC(SUC*SL/;&,70W!F:*4*AM:8L5Z8CU22.LL M.%Y(LC>9#J>C#Y11K"7U4\OHN;0=>J&E M;WP*?=-7FH?Q;H44?',+K,@WM/+XB2Q-/$RZ\1.E+-M1+8N6S+&>S ^!QT6Q M#:#K:'%OLPC:*)IN$O9&Z6YPLZL :),$TDTZ%DG;(\)9@D3*]7V522VQ8_TF M>!:\O9_J-;BK_3#L:9+J\+1DB"\MN*KLD5H@V0*;!A:JE43,-CS%JB(M+9,C MM%S;4"70,LZJF-1-(5LD\2I0)A.1$+-O=W?2,BE/U<22EIF)GIF5-9:(= KM M0C MXGR*M#1,CIPZCY^@TQX]CH?S,?IT.ZZO/L,8JIAD.+VM+\;_^3;Y/OPZGC[- MI1:(?&Q9Q!!LD)"[:5J*\TK24C?14[<2ZR\_>=C$O]W059QE/+UXCT3SF$52 M*T12=GQ/.*:0B-D^475RI.5NHM\X'[-BS/?16ORRXV#+=(1Z(\K90'&*G3]I M:9>XVN9C^C"MH._MW<":#[<@1$OJ)[_,.9.V0U^T3$[T3%Z]X.VS91\:R/?C M2[8H Q#C_61;.:"4?)!+)$?4DJHM2MFFZ:LHL*5QHJ?QD^PYC2-%TG:[Q"Z1 M41TY6"VK6Q_;;*LW3FC)&R[H4-8YVZZ@H'?.WNHW.;OSKB,'6I9(\J;E=&N+ M1(H8MLK4MA6P](?J\V^SV=?Q/123X5?4[!%@H=X]/-X/GR8/4^F*M,YZEGXN M;8<^:!L/2]]X5.^4JV-@GJ)!6DV+IVY-# W?O9)6OGG;*#EXF^Y8 52)EVMTF<+#W M045*\U7UG4F!JL52?Y#0C#;?L@RK+S@ZXS?FQ:C^(J554W\@@%SM.UQO:)$#3;5@'#!>L]_+AKDG>^\:1 ]?6VW<*FF\[R[3U)4- MML+-J$/#)Q795G@V;9VZSJ*0,:C5:9YE%VDKE$G6R[BWM>LE]5XK@UL+KF]; M81\VJ&F_2N;)8>.SJAL?-M+ULA,UWJ'_L]M:MM()1:H6C5-DP&*U2J[GEYOS MX!\=_E*X=T=K")441/?!N)6K) N$4&/I X+@OQW>H-8!B&E\&3&3*64(/%X? MT-_'VKF60CB\(?VWDKY9)6\2D%B)7OO/M/^ 8SVO UY)VL5?V(^^60)E[SRU M8S S:)49_L7748?G!.1C0!YY#XDBR[?"B_72TAYL\&:TL(BEQF@FITQHRIVW M?*HXSJ]_M[4PZIL8)#(2WJ(KK>JB315L>L<1SBU3S]E"3%J.R)L!.?\/Y OX M1,8W#MX9B?+'^)193E3S ]5-?A+P8V]FL,C.(,_RQ0F\Q53Z(N(MGE'Z&=R0 M<:25?%1B:]&A\>(@Q7MEA"F5T'#'F\@WTSOXY[IPWO+=^O"XX;-'T;6'%&=R: M<@:_^ ;AY8LW>9Y=W5#;"?,0K?G5*U .!-2:"E:X0:%]4PJ+4 YN4!$_!Y3 M"90QM!/A.0/C6=$I=#/X@Z%'3'Z73M7&G?%BQX.GXU4K3%]QHWJ6.E+F(72/ MW$+&0@V=)=F7?CAJ1.!26!(2.K*^XIM!G$MX$%(R@&.,LA%:HZF5J:%%J4KF M79*1*HC@F.248:]\ X&0JMC+>.A-R_/6(,H?:0\UNE#C2)S!CZF'7(_<@_43 M>Q[3P!!0/(#K,-Q6Y3QTS8-3;)BA/ JJ'6O,X3LET3KP!-(&854;-EGODML? M:XO"Q!C@Z#+0;U])!RZ[N,+BNVD M>#H,/N8S>^HAI$?CCIWJ.-2Y']0;/TR^:7?Z;EP/X_+1??CH?!*6^^= 8\6A MV>RWUPG889 /AJ% 5>S!=QLQ < -H5 8 >&PO=V]R:W-H965T&UL MM5C;+.72N*,U[L/6_L D2T)8Q)@ -"R M_CZG&R!-V[)GG*E]L042Z.OITPT>;9R_"6NBJ.[JRH;CT3K&YL-T&HHUU3I, M7$,6;Y;.USIBZ5?3T'C2I1RJJ^E\-GLWK;6QHY,C>7;I3XY<&RMCZ=*KT-:U M]MLSJMSF>+0WZAY\-*MUY ?3DZ-&K^B*XG5SZ;&:]E)*4Y,-QEGE:7D\.MW[ M<'; ^V7#OPUMPN"W8D\6SMWPXN_E\6C&!E%%160)&O]NZ9RJB@7!C-^SS%&O MD@\.?W?2_RJ^PY>%#G3NJO^8,JZ/1^]'JJ2E;JOXT6W^1MF?[UE>X:H@?]4F M[3W8'ZFB#='5^3 LJ(U-__5=CL/@P/O9,P?F^.,Y:1<18^W!N?BR55*AG)+=656UBQ-H6U4IT7A6AN-7:E+5YG" M4#B:1NCC4],BRSY+LN?/R'ZG?G8VKH.ZL"65#\]/86=O[+PS]FS^HL!_M':B M]F=C-9_-]U^0M]\[OR_R]I^1M\-+]=_318@>8/G?+H>3O(/=\KB /H1&%W0\ M0H4$\K@",582H9TX'Z">01Y1SX# OVL,K#K&)GM9,0+>DC,6:U)O*A?#=6/SZ8DFH MXN)F[:J2?/CVF_?SO1\.%?W>FKA5H%61$]>>2*0&"A(V):UEGZ#4>$DU3 7PKLLAP56WY M/35L LZRJ&LK=EZQ&1*)TYH\4*S><";FL\/KR=5$_71Z>BGKO=O%7;'6=B6NU"9(#WO#F[/6JXOS M7A\GQ-@(L^I!X(Q-+1X=UE4,\XKBK0S:2G?7U2B>*9SG?Y(!=4+\FI_;YQ M,$+P!^5!'!X5Z< M9Q#M1(O.\=4BF;X&>#N YA(Z@D9-+X2YH&]HT^>E(K;C#F6N,9;C#8MK;3'- M\)8Q3RT\?DAV=/D)[;PO2(V\($L5]@ XGO%L=6R]!#L8Q IZ+>(8 A-P=$FU M6FKCJP=5DADE#*QL7# I_\_1)C@:@EN791>;PKRR.79)=!43&8EV(2'T*Y2._$"\EIO@5%%=PT0PYC+ M.K>D/>M@A#RNJWV%3;R1R=)A-U:M@$A;VP(( V9!AHW+_#VDB)Z5![:JF1+^0[ AX#73ZU-0[90]*O+*%,4VT\ M>N?YTH0">[L 0, 37AD_,O]I49RF0#QUY9\2"H3JGAVLZ^$+,W9)"X,A:-B) MNB&H;*62/P^T,9>F#$%9TL 6Z!V8C^ MF28,U"XHF2M-$@^(":ZX)S _F\0HS%T$>O0#;AQ&*E75@UC]K'VQ[E$^@4=+ M& A!OP I70_]"[KN#OJX$/K(W34WUWNXN]V1>QSN[8N-[Z7Q)L$_B>M'A&Z@ MZ8AI YNK[5NWL1S'=@'"-V )0K\]K:I4LWE$[KILJA1<36S010KL/7*I,K@< MZCSW%,.!>Z*N@S#.18BFEBF(/4N=,,=D^9Q'+(ICQWPL*;X?'?) $89)18)J M?0,2ZU6QS3K@RM]D+##5Z>62NV*B0(8JS-9U'S#LIXA)O3)Z8:K[F2KWA2ZV MAZH$EM%*F.]D7I?\L1U)@AQZ("3IY!QVB=GE]V$_ >ZRSM,MV;8S"6P->#PH M_'1(D)0I]U<>Q("\E>.G,FZ,'\"";G752KP8''WT.G9+DEU@V94D60+M;RC* M=&KL+>718LRSAMLDP,AT!WXQ47''I:PU.<.^W )S(J&;.7:U!!J"CH?N@L:8 MYSR3PE;EV^)8)1JS:0,NV0B9NTP3>>!XWXK9/:I.F): >Y&M@ M#P[EB02>\ZZ<)JPJTAP'_MCRUBW?0G8_R7_\]?I^AM^)@'$W@41]QZL!9!Y& M@,^E?MIO*;,]TP8M5^)+2$X((W3)Z74P1FA+%\D MT#%GC-F7#4ABP<1'K!P7\,CY%(N&,D[OI3P]2FV,FHG M\PH984JSY*:2;R-<77T(^3J7K=OUX68Z^-Z&V^1*OBJ*6!O3I[?^:?_A\C1] MK[O?GKYZHM&M#")?T1)'9Y,?OA\E<'>+Z!KY>K=P,;I:?J[A+WG>@/=+AXZ8 M%ZR@_YQ[\@=02P,$% @ EX4!5]63PFA5"P ?", !D !X;"]W;W)K M&ULU5IM;]LX$OXKA'>Q2 #5T8LMVVD;($VO>SWL M KWM=O?#X3[($FT3E467E)*FO_Z>&4JR)-M)T^T!=Q_:2"(YG/=YAO2+.VT^ MVHV4I?B\S0O[R0(C*VVV28E7L[ZP.R.3C!=M\XO0 M]^.+;:**T=4+_O;.7+W059FK0KXSPE;;;6+N7\E\(>2=[;S+$B2I=8? MZ>5M]G+D$T,REVE)%!+\N94W,L^)$-CX5-,7_Q9V;.PU'(JULJ;?U8G"P587[ MFWRN]=!9,/=/+ CK!2'S[39B+E\G97+UPN@[86@VJ-$#B\JKP9PJR"CO2X-1 MA77EU=OB5MH26BZM2(I,O$F4$7\D>26%7HDWJDB*5"6Y>%O8TE0\[\5%B8UI M^45:;_+*;1*>V"06O^JBW%CQMR*367_]!1ANN0X;KE^%#Q+\1U6,1>1[(O3# MZ %Z4:N%B.E%)^AUI'ZM;)IK6QEIQ;^NEY :CO/O8S([DI/C)"F8+NTN2>7+ M$:+%2G,K1U<__1#$_O,'&)ZT#$\>HOZ]S/;@)L=%B,;B&S87OR;FHRR392Y[ MRW_?2'&CM[NDN/_IAWD8S)Y;>'<[576F;I);*992%B+-$VO52LF,MT_25%=% MB3?D*)& I]M$Y;3^&3X\LTDNQ[S12N?(0:I8"T>=A2+2Y==S ?*0$?XG6_]C M)E[+5&Z7TH@HX*^A.%,%".O*8MB>7P[6O)=I952IX&5WJMR( OEWC1P*\D; M_RP&%"6MM-I6>4+2:;!I1 H^C=Q06KPEUO NQ1FM.!?76VU*]05S;[0MQ<\& M7\6' LDZYZ\_\P8'GW]QVUV3=F ZV34HU+*5ALVY2W;8_T<1><$LPE]65?@< M3V?A>>^=9@3B1H*9E4K!/.DLDSMM58G!:31M)Y\%Y^TSC4S$A_'[L2C!'&+P M7@1SSP\#T*1_9]',[^\4S+QX&KHUJ"%%>L_66.M;:0JRF+ [75AM(*;=JSST M%HOYGH=XNF<"0U'D"-H2K#L7WU:%2M4."N/U0>C%04>(<++84\!@%,?0G-EI M0\(O-3Q Q'-O&G<%]Z*PLV\\\\*)+W[7)50-P?RYM_!GC>"AYP<#)0=^[,T7 M\1'/^W_QK;ZE(='$F\S#OF=-9O.!V!//]R=/MG@,BR\ZRI_%'=5[\_!1DX>1 M-XG]/86IW_'<$%XS71R8?!9[LRCHN(D733HFGTV\:![O31X&7CP;R(^8\(<^ MCY@(,._Z,!5YG,I*)IBT!DO)8( NBA<<2W:'&;.K._*50E1[HY)'"(YF E;R MF;L4AFV%;W"K7672#=#9N%M2@!IO M >-JUOZ2D+1_JHLTKTC2=)&&GH;D++9(VM*C\]?^[YAQQ9/?" M\=51)$F$&FKEJ7+,AKB#.SQF/Z($1G@%ZO*=S,%PK5D,\4;#CP@@^=T*_B_M MYD'8[+%_:G9SN:"3(T\EU.\SY41U=[6VGW6&U=W-.%'C0U2F!4T)3A'ISAC6 M@:DWG4<\%DQI_<(+@1BH"D[Y'25@'LQ;//#44M PT:_X9_'DO/OX2#D8$@D" M+OH."?1>AD4!D&4:^JALD'RR\&;!@K! .,>>A &B10L-FL(0+FK$=8;N@10P MB[QPZCYX\RGC@L /O4D8=[#"H8/^3[I@W_@':G75WL& WLM?M;HK^@X(=)\? ML?L$(&X&#R%V(F^&,GPVB1 (J,D1F8YAP8')IS H5@4T.%UX/K "S!1.8/,: M!#38H 4#"P3(Q-E\P4$0 >DZI\=.'%+3+00GCAK;")MND;)1S M A8\H0=Z./D-P&.WW:XX=>]3,ZJ-N)<)I:)9@$1 26+F QCZS5R:@8JZHI)# M,ZV(9EZ$A!#%WB2(CT'H&BI_3:/Z9E]]4*$SN4)YYV)("@)N265=='259^A' MJ;Y*L,)5WLH\IS*$_A28&Q&U2Q0/0.F%72$8$Y&K9*G@3??B+"'PA'3)9,_K M$D;%V@ 9\9+$G5TM)8H3.E]G$%"%-LDIV1JNJFXY@B0'0 ;7-OB3 $C=-V -G&GRD2_2*4 5NPI[5I8P5<&? M2%<)<[F5\(!,YWI= RK'$VV^K^F72$.W,D=;\TS\L]*$)5C\NB6A,[I:3,M5 MF? @A"5 2TIU/4RM0FPSKLF%(/?6,>>@"3M3LQ5;C-"-7M(Q!GFT)Z3BB9F" M!4LHG#8KFC=/V KRP^Z?ADPVW+5$">HYSI\3$;=_K:DC.].<-"&C(AR-T4M. M%1GAYN%SKL!2L=#H+9.KF( =2CY"S\*#*XCJVE7V$ZTXL]?N)]N3) M1)G8CY*=*85E[&G8B:=;L-QY),VO/]UMS6![IR.CK5R6+I( M.#SH*P65U6AZFC*E,YDC,$LH]PL-UA0.#-X7*)/D0)SB#BU'(C;\'C.);;($ M^0'25>:20C^(/1L/&U3HB[)V#&.1OV=Y) M7)@>Z,>C<3STNB/- =) J@%3R0$.]YC-AF+/]$5'>:.IR>X?89IVE>O M6ZNIQ^0*7F!2\6Q)&:S1-N@;O64S[E6(O0O )M,S7JN4G=%@%GH'%NLD=N=< M'$6 ^-2)%N5>9"A0I74\4ZOF9@.:0?V4K.#83;9IDNKQ1.>=]A*KMI#>]+UO MHVR)U$&Z:Y@!DB3$Q6FD1G_W@KO@W!D*T4X*V4FH !QK$E-1P1QZ3Q,:3@50 MS*W*7'(\J=#RX.AA#QLX)H%1>4F=QPB-R<_<6_,Y0)XWDM=B<*9%8+EC#W<% MQ]WL W:E\WF19!GWO7V>R,$8='=*.2FR3AQ.F MCLRT3>3]TY53P3E(2,!+Y.T;G=.)Q7U;O9Z 1>$N!\U/[WSEX5,55@FMZ2NO MY8SN(>A#@^EL"\_J9.GM?PRDX11BR"JO"'0E^O0:/GNP0T(5CEINC'<0!MR>X(\C!BNI4^>.9_)N/ M8XX#HG])EYOROHG<546!^R,U(XL@/G6$X@:/ MU[C+PV.9_0T)';WTWTXM][==K?1/59YTJS*X0'GD/F5P M<7+B'F5*#3NUS?,%]=N#JX3(FP?-0?JQ\Y+_FG>$:&WY6NOHV9@;/.4= ^NY M0Y$3!R??:CUW(O*D"Y+!7<@C5R.#.Y 35R+1%)J8<@<_\0*V8\=\T<*+%Y$X M=IU^T?E%!$)IS;_[ 'JD9MC].*+]VOZTY-K]HF(_W?TN!698T]56+E=8ZH]G MTY$P[K<>[J74._Y]Q5*7I=[RXT8"#!N:@/&5!J:I7VB#]@% 5&PO=V]R:W-H965TZT]'(UFMLN3W1 M'2HZ66K3N.D4'AIP&[:EIO= M.4J]G45)=+=Q)59KYS=&\VG'5WB-[K?NTM!J-* THD5EA59@<#F+SI+3\]S+ M!X'?!6[M@SEX2Q9:?_.+C\TLBCTAE%@[C\!IN,$+E-(#$8V_]IC1<*57?#B_ M0W\?;"=;%MSBA99?1>/6LV@<08-+OI'N2F\_X-Z>PN/56MKPA>U>-HZ@WEBG MV[TR,6B%ZD=^N_?#?U%(]PIIX-U?%%B^XX[/IT9OP7AI0O.38&K0)G)"^:!< M.T.G@O3<_)Q+KFJ$ZY !%[KMM$+E['3D"-W+C.H]TGF/E#Z!5,(GK=S:PL^J MP>:Q_HA8#=32.VKGZ;. OVS4"60Q@S1.LV?PLL'4+.!E3^!]-BNNQ-_<9P,C M4Y754C2\3P[5P*5!2Z;W&WH)[X4BUP@NX9HVL?5N@3_.%M89RJ4_#WFH)Y ? M)N#KZ]1VO,99U/F[S U&\S>ODC)^^XQY^6!>_ASZBR+Y+-)AGOD)/'4#?%0W M-&HCT,*7-<)22RIVH5;@^$(BV+7>6G!T4M\KD8?% ST>=BCF.,0\1.4=UM@N MT$"6A-T4CH0B++VQ=&R/3[_3^5'^BF^I8AP:"J6%UY#$,4O*BF:3F%7C$K[2 MNT%VOX:L&+.J MBOTLRQD]C'!6UV9#VK\*OA!2N)?ZB._UY0/]_\]7EWQGB%A P[:3>H?XDT%) M[FN(F'5D69FP25[X2X&.I'P+#R'NVP]#"Y.[%8;VK7.X"JP6N MA%+>-Y1&?J.CXM ->;!@6G&7)/K*^:$AL[P3O M3NZ?R'OA'=22B];"49D7QW"4^+HZ_IX-F7R 1U7$ Y]#K^/H0<]KT:Q"9[>4 MHQOE^O8W[ X_#V=]S[P7[_\\/G%#_K @<4FJ\4E51&#Z;MXOG.Y"!UUH1_TX M3-?T X3&"]#Y4FMWM_ 7#+]4\W\ 4$L#!!0 ( )>% 5>X*=KJ=P0 /@* M 9 >&PO=V]R:W-H965T]K07B1+Y?>=^ M>,9KJ;[I%:*!354*/>FMC*FO!@.=K[!BNB]K%+2SD*IBAC[5-:'ZW!6C*7\IO]^%1, M>KY5"$O,C65@]'K$6RQ+2T1J?.\X>WN1%GB\WK%_<+:3+7.F\5:67WEA5I-> MUH,"%ZPIS1>Y_@D[>Q++E\M2NR>LV[-)TH.\T496'9@TJ+AHWVS3^>$(D/D_ M (0=('1ZMX*A'T9G^**]C9'CBUYJHP>_4+I?O-_D95-PL82/4A9K7I:7\,=LKHVB M7/GSE"-:.?%I.;9^KG3-<(7%B:V'%<)"EE3-UG.&T98&1R<,U8-AO-0@%V#HW*VL:B:V M;UYE83"\UE2#'>V""V[P;4D560 _R&"M#.88* ]PGP? 1 'O,,=JC@JBP/T- MX8(+DB0;3=L45]SD6!M8NV+$XBU[1$6]!5@EE>%_,]<):E1<%I=79-%S,5]W MT%D'G1U#[QP4/BJI-=PRI;;6"72D(>-G>=Y43L5K#4'2]SMXZL6$O0B]9)1<0N1EHQ@>%"L0-.;*N9S<6RN9(^FCR15[:.*% M24I"O3A.'33PX4$:5IZ(VZ@_W.L[2CP_BIV^F3<*,JOO,/6"(.W\_CR8SWS_ M/_O9)VTCIW?D!>G?<(4NFTIRNT)U70S_XON93"2>HFBL LB4@I%O@5JOT*W7("+!1W3 M_5-=9]=TM!/T1#?[$O_THY(10D/?$>7K'<3J^P^I6:F-CH"B?18.V&:2[1Q % M[AG"/:/N[,$2!154V0:TH#&"VTO.SD,04F?(*+%&PY#R=31,;.HE<9=4KVD_ M26+W]J.,WHD7^%8&Y7:6PJE[;7 TC5!B+-W,1H/V%E&;W807L MA]WI/U!+ P04 " "7A0%7^L1%)00# "G!@ &0 'AL+W=OY6].+MK"'_?V3484A'Z8'LO<\ZAS' M-JM0,MO3-2K:*;21S-'4E+&M#;(\@*2(TR09Q9)Q%W6S":Z<8(KO#5@ M&RF9V2Q0Z/4TZD>[A3M>5LXOQ+-)S4J\1_>COC4TBSN6G$M4EFL%!HMI-.^/ M%T-O'PQ^?<\V5:V/"&=6M[/H@@ M:ZS3<@LF!9*K]LN>MWDX %PDKP#2+2 -NEM'0>45&=KEA'.SKUKG:R[$)';$YM?B;(M0(;K1RE87/*L?\)3XF M%9V4="=ED9XD_-ZH'@R2,TB3='"";]"%-@A\@_^$!DSE<*T<4R5?"H2YM>@L M7'&;"6T;@_![OK3.T 7YS=F_XH^70B MAF$7P_ 4^\GC.8T<]:!+P$.%4&A!!-OK#!CHJ[(X*WA/,5;JQE&C[80P/VC$!EUK63&U@P013&0*S MH NXP@SE$@T,^@&=PEOHCT9GR7 $5&941(JNO3&HL@W0F2@K6"C??IK\0_52 M1$M#SS[L:Q+ #740!W>X\AW")V*GRX0ENP^8.ASP/80IU3 A-H>)*'1C7 5/ M#3..8B" ),U0&'QJ"$/&O !R\$YT@^J050_DD+N5W[E]*'/%L?VMAC2>H=NY'Q0?.0:,K0 M(BUDNE&N[2/=:M>%YVWSV9NW+?R&F9(K"P(+@B:]C^<1F+8MMA.GZ]"*EMI1 M8PO#BOXD:+P![1=:N]W$.^C^3;._4$L#!!0 ( )>% 5<9=?>6T 0 ($+ M 9 >&PO=V]R:W-H965T.^V!0YQS?? M'.1L:^RC*Q ]/*M2NWE4>%]=C48N*U )-S05:CI9&:N$IT^['KG*HLB#DBI' M21R?CY20.EK,PMZ#7#I=G.HW'4;7R3Z\+SQF@QJ\0: MOZ/_HWJP]#7JK>12H7;2:+"XFD?+\=7-E.6#P)\2MVYO#1Q):LPC?WS.YU', M@+#$S+,%07\;O,6R9$,$XZFU&?4N67%_W5G_%&*G6%+A\-:4?\G<%_/H,H(< M5Z(N_3>S_17;>,[87F9*%WYAV\@F%Q%DM?-&M2]/SB#E,_&WFRQ-^C MK-6Z:;22-[3.X=YH7SCX1>>8'^J/"$$/(^E@W"0G#7ZI]1 F\0"2.)FY,38<&==%EI7&T1_EZFSELJ@7^.!=O8FAZWQ6UQY2J1X3RBNG=H-Q@M MWK\;G\?7)Y!.>Z334]87GXG!U&.NT;ECV$YK7PQAWP#<6LREA^7:(E+K>/A- MP[*RLH1D&L@EBGV!<&M4)?0.2 1)!:3V!L2/ZA]8^/V[RR2)KU\?ANWQ]4>J M6%_ EX=[&@U"PVU!30(W0C\.X.MP.1R <"!RJEW)*> F!&IW,BYT#B42?#L( M:]8!LX*E0BLST:B'DUOI9=I;9(.-GAO"[QS-:]C2@<.LYLA8O;)F(W-T0$,, MZ@HHUI_&<4S]5)8\&B1-AXV0I4A+I$FS,>5&ZC6DQE(R>94)RK_TNR94"M)4 M/%,&-,O2?VF^L,4,K:;Q*3.:'@20[POU@1Y+3P>\T7" M'=:S'FO#E+%R+;4HRQW- A_B-'VB)R'1XR'I7DH'-8MN_D?*VZP5W*#PZ99,BF!HJ^& M1E@7Z8_!/=36U4+[3D)TB@/X(#\>H?(-FD(J&OX)P\H:!9\PM<36#L87S01E M'R^;YV%SRG[(45^G;6JV% MYSK$#1MF,BI)^"[JK'SE4VJ.L$)U(%(BJ M*HDP[AP M#/U)]S'V]_%AZS6A,$U4 H++) Q%$G'8 6;P[JBM@.4.,U0IQ=Y.GV;H4!F& M6M3FI8[(0.V=)R4N@;<)'AZ[B4=[SR)J\'5X_#E"3LEJ7DC];O^^7#;/JA?Q MYG%ZWQ9YB2M2C8<79Q'8YL'7?'A3A4=6:CP]V<*RH#_$?4$L#!!0 ( )>% 5>FTET4$ < "02 9 >&PO=V]R:W-H965T M5(E6;;3)+4]XR3M-)E>,KFT#YT^ M@"0HH@$!!@"M\.][=@%2DB]*VA=;)+%G[V>7O-@Z_R$T2D7QJ34V7,Z:&+NG MRV4H&]7*L'"=LGA2.]_*B$N_68;.*UFQ4&N6Z]7JT;*5VLZN+OC>:W]UX?IH MM%6OO0A]VTH_/%/&;2]G)[/QQAN]:2+=6%Y=='*CWJKXOGOM<;6<4"K=*ANT ML\*K^G)V??+TV1F=YP-_:+4->[\%>5(X]X$N7E:7LQ49I(PJ(R%(_+M1SY4Q M! 0S/F;,V:22!/=_C^@_L>_PI9!!/7?F3UW%YG+V>"8J5Q#=N^[/*_IP3 M7NE,X+]BF\Z>KV>B[$-T;1:&!:VVZ;_\E..P)_!X]8# .@NLV>ZDB*U\(:.\ MNO!N*SR=!AK]8%=9&L9I2TEY&SV>:LC%J^>N;75$E&,0TE;BN;-1VXVRI5;A M8AFA@@XNRPSW+,&M'X![)'X%0!/$C[92U:'\$J9-]JU'^YZMCP*^ZNU"G*[F M8KU:GQ[!.YW\/66\T__CKWBA0VE"N*E%;]*7S9(R^I\+F*C"*23=A! 45Y50MOHA!1&EVAA)>3&*T4J<%A& M]//'7B,V!Z(0:.4'176NV[X5/FONY)",PP$ZGS"=%]36XF,O/52:@=I3AP49 M]ZK'Y7IU\N30-@D8U.4>R(%A3JA/$2>$)EW*MP*LAX@(656:')<&MZT8E/0I M4A#1M@0; HA LUO5Y(*TMH?4'4^*07R]6JQQSA@ +\1U$*X6A8L-C+=JJGE6 M\T*5JBV4%Z=W!K=N>O*'3MV0;IC"M3"E-.=*>^M42$%0%L9@0)_C58^ M:>7 0.BX!:&1QB">'XZ>",+HX :*4(+\0[::NU#Q-FV5;[4R"D! M$DFBP?7.2@AS:DINT5WRTUG544V76SF#8 MHH,9]T'#0P_\Y./.?(31BVT#+,[O[6 D;PDZ26>3&AERKJLYI#5V!QP3.HC@ MG%5^,;$(3G&EH&U,7Z4@E0X&PB /H=$CKK0&R1=MFBBIT.[V!K6#V$(_BOC[ ML8CY"6X\&F_, 1XZQ3N 0:W0\U%-T)^^1,D\:3G9M4K21DH?T%IQ\UEGWD28C M9Q!\V%,?;N&X*) D62D.!T,='"G1Q@51HPQ@T *=J0*\IP8@*JA4:W6-(N,M M[=UM+@B)"D($N/14+H<"TGN)&"4J^Y)X@'Q:0F=#]Z5OC0HBGI (/FE$U33. M5,B1;ZF14Q%YI=N"M9#T9!TU%(B(\D4!QE(1\#/T=Z4[Q3% M(8%@A>:YV#F*&+&B;%UOF89RG>^VCCW/4%$H@6)OTH]+2YH>R:A#(ZPCGS+M M4S<5JI0]V8XFLS?.W%"7L(>IT8@)II[:@ I"/# BEWFR?UJ *3I;1Y7W'U3A,33G9F>-P>R#O4GX$9/3M#KL1 M<&*X8LC$D3.N/5%![ ,5.6W60!)R7P,5?U8PSVT 3'N@A+!IAM7$R$1A=6_ MX0'-QA68MQLXH6]T-17-?B IUE,+TP#C2J?2A8=&;D-/CK.1,2+G.;]>&9[\ MJ:&.UN]"_.;V>%J&X#"^27@B@@>[(&:%Y-8'ARG#M%$@CV&.K["IL*S%,ULXZS]S+=:/D< MZY25EO"QWYNT2Q/)YK_'?'T_<3O(]MT$W"J!JBV(7.9\*G;Q+I(KJ.OP/@'2.Z MEG\V"B3AZ0">UPY% 5>9^^I,PP4 !\. M 9 >&PO=V]R:W-H965T+]^YY*R+3=.UH>^V")U/\Z] M]]Q+ZFQE[+VKA/#LL5;:G?],>*\6<-\K?FM5OHHUG3/8*HUSX9:LH.QKV6-$X;^I6&0AJJ>,_?VSS MT%&8IL\HY*U"'G!'1P'E!^[YQ9DU*V9)&M;H(80:M %.:BK*G;=X*Z'G+^Z\ M*>XKHTIA?W'LX[=&^O79P,,RO1\4K96K:"5_QLH1^V2TKV! EZ+YL,7[ VW80Z#O>%S85;0C[;( M1R]9_^$"O6SEN,\ZAMR;5],\FYRVYN*K][.0G6M3H^$=#SW3?5%T7XA'>A9, M.L:=,X7D'B(KZ2MT*C(I"UH[4F>-EMZQM^0S3T]O[[X$]WEV^BYAM(IJ2V'# MB-&%@"M=2O*S4[O94XN&S3+()(SKDOE*!.Q'=DNB.WL$X=9 M-LPB61.$HQ1[0!8PZ69?,7W(*.GRHI+B(9HTJ9L!WGE JDSTO=4 % 1EF(/OL,S3F7ECUP MU0CR#EN4"8H=18PE1F')1:&,(_-+E'$CN\DM. @B(/Y-#:)*B?J39$AC_WG> M%,;YIY3I8$&;@D&%66CY+R%Z$#%L*T!5)^&EC8F2)$U)3D?]?!SRXE@3@ ,% M%89J0,M5)8O 2TQJ1*M1/DO5*' VV(!B0^?6ZMYMU:E!2^&%Q0D31=JJ*WDOE*Q,3/0>%/<\&-*D M)-0AN;H)'(6^HRGLZ&F/0[[B?M[ MVRUK]HI[.*UMTQB%>TNPA$8E]L5>C*S]_Q1+7:@F0-8'1Q2-.A(,7>N,DB6/ MDQ-_-"A"MG %LSS.P\T8B'.(DNWDX_X\PMDIMF=G$,%#SMX&!*9QV''O3A = M6>B>VSO-.]@\_";8#/9V3]=H:H)I,=PP=MAKEB7Y-,/_=)KB-T]&DSSL3H9' M[!;,"1.3D)5046891B+$AAF$QMF(C9))>HR=XS1E=UP)#/F%T,B""FJ\!%$E MG=ATIV/'299E["@9'N38W89$KT7)EHT:#>Z,Y">3#-$K7A[- [3@NSL'0A*/ M1 XB%[$;)P=W[/4DZX]PTU,*\DD[N\!W(E31^ID]G9&]G&XB!:MC(=QM/LQ>$OC^(\X2.&XH*]%3K_J%[X*!S::\%1@Y]FM! M:+2/]_?M[O;KYS)>^G?B\=,)-Y"%Q'!08@[5M#\9]YB-GR-QX% 5<)0,!:#04 $&PO=V]R:W-H965T[=X69U'B0L(!)36(3!\W, 5".& ,(P/'6;4NW2&N_(&_87/'7.9,P-72OS. M*UN?1].(5+!@K;!OU/I'Z/+)'5ZIA/'_R3KHCHN(E*VQJNF,,8*&R_!DMUT= M=@RFR0,&M#.@/N[@R$?Y/;-L=J;5FFBGC6A.\*EZ:PR.2T?*M=7XE:.=G5V4 M9=NT@EFHR*^V!DVN5(/TUJ[N-T!>RE(U0(Y^5L8,SD8673K#4=G!7P9X^@!\ M05XI:6M#GLL*JGW[$8;:QTLW\5[2@X _M7)(LB0F-*'9 ;RLSS_S>-D#>,\_ MM-S>D3\NYL9J;)$_[\LQ0(SOAW#;YM2L6 GG$1;.@+Z!:/;T25HDSPX$..X# M'!]"_W:"#L.GR9!\D8M.H]S3X)V&\!JEPK?&&J(6Q*Z5UU42I#6GI)4X.@3_ M&UTM<62@CB;."E"2!*&];R;OGCZ9TG3RS!!VP[A@XGK4&6=P2IE@83]G.A^JOM$(;DG;1 .^1::\F6MPR M. YLS>6.2D74YQAP>7Q49H=[N,X/%16#T5 *9@Q?<,3S%?VB<'!E%0&F)9=+ M0]:HM"UQB^4DCM6XS[T""QIG'7YU [=R$9L5E.B_)+S"L)P4V$,6#""OW'), M#=FHAN2'CS/V(;N<=WE'2\P)NKX1G,VY""CH0:%[GQR67BIY_&YX/225$H)I MLFBE/U&8V#24,]HC[XO1+1!?K;%&)- 0#DJLDO'!ES632Y1YX&_7P9P) M)DL7.E;"V>/W%6BN0@MW<3G3<(R'$W7)=+71;IB4&"-BKVM>UO[=EO90;&R= MUO?]M[#/%@L\D._M0-Q.6'I'^-[&,A8?H1G1-_X[\@1C8MQ,G#2.*8T]5(13XL@97%2G R"WDF2>2F/3R;T,9-\#FYT M?MH(IY\.F*.PUP;$TTF?/31/"CKM59Q\-,VSK5%8O3@TKQ]P5^1C_]'>O;@Y_^^8S&[9-.Q!1U[ M:1JGG92?Y%V_)ME&*K+D?^K7-!Y/MQT;5HY5.AGL]9I;?TW?IG&23[K_/1YN MY"0=],^=W@T!!'4:Y^.\=]X;3>*<3K^J@Q\/_B_U\7V_ET<[EYL&]-)?X=QA MT4H;[CG]V_Z6>!$N1UOU<,7$#EXZ$@0LT#093O*(Z'!M"PNK5OZJ-%<6+UY> MK/&F"]HIX/>%4G:S< [ZN_/L'U!+ P04 " "7A0%7 L74$6 ( "/& M&0 'AL+W=O3]/.?R7O9T;=TGOR(*XK;6QI^-5B$T+Z=37ZRHEGYB&S+X4EE7RX!'MYSZ MQI$LXZ9:3^>'A\^FM51F='X:W[USYZ>V#5H9>N>$;^M:NKO7I.WZ;#0;=2^N MU'(5^,7T_+212[JF\*%YY_ T[:64JB;CE37"474VNIB]?'W,Z^."ORE:^\%O MP9XLK/W$#V_+L]$A&T2:BL 2)/ZYH4O2F@7!C,]9YJA7R1N'OSOI/T??XKJT^N^J#*NST8N1**F2K0Y7=OT+97].6%YAM8]_BW5:>W0T$D7K@ZWS9EA0 M*Y/^E;&KPKYP_M84MB;Q7MZ2/YT&2.3WTR+O?IUVSQ_8_4S\9DU8>?&3*:G4>_>491W]%7WQ!OE"VU]ZTC\XV+A M@P,@_KG+Y23Q>+=$)LE+W\B"SD9@@2=W0Z/S'[Z;/3M\MX][>XWW2OYJ. M_;MGLXD82A#O5R0N;=U(<_?#=R_FL^>OO%!I04!(Z!;<]B2>+,A0I<+3,0.: MG*,R?I?>4_!"FE)H)1=*JZ#(C^.+[+L7* RB-8X*NS3J][PS"_3,6R8@(&O M<; Y](8LR(>HPGM^+VPE\$:!:1!2M+ "+UE5U0;.6H@N!8N-HI&JG S=$\JC ML"P^LBXLV3A)[+%8V+ 2 EI-L;9R]4;%@(Q^%U$6KHVF+.R&;1M]UH=D8'44PAOAUU6HM*A 5 M;MR1=)S*;+IUI3(X-K+Y73RQ$:3VX@G(R.[>>TVWA6Y+UMJ:UG-T\ 7.<-J0 M4,32%@PU7E%"+X20 $)J_[0WRE%C7> 5*2T3\>L0*BC8C*T-77A?"NHP>PO2 MBCC O&GP\DSG#I:0]0X.\7O&X!4.H7PE2UQ MD@:PAH@W3K_BTP$? MNF7T'^)3 '9I^#"YGFR1^#\5FGD*S7QR\NC0H*JJ0I'!'T#5KX"G"DP&R/J@ M_1L;2%KP3Y]-U+ W-T(159M4II:' \XFC5DN&B?,(B*Y&,FAM5U+.)#$E&V1I,1=BH>1 M FTDH8.[B!*W0)JP.^S:^V CXXQ_0))?\,43K?J:2.W1QA=E(.H2&1;Y! MUZ=M$^<'GD,O81BJ6O+$;^DJ;*M+=HM'A]@ HBKD'C2/&35Z\@.M/@'.!P'D M/>#5FE6P0P4YMC7'1W^4OI 7L_-^$3\8M?\ M-(X3%99$RG<3(B+-2A,]P%S(:B*4\MC8?1]SM-?$-$A15W"FB'%Y>W4IKO,U MT>SY<8XV*_F,D0$5@=*\&W,:JQ4R"-G=-%K(1H6N>V//QXGTUG1UP:LXZ-\E! VRT]>,/DU)?63RIK0D4"3T1B#LP@#O M-*C9%J>/8Q<,$1\:/$NAKK#%AFZ#F,WSH3(!J33LI(SCG5)C.G;&GR2/^V)PK];"J,R(B,-M1L?(]5SF% )_?&0B^BID M[SA'V=4'TMH="3@P$OS"CNGYZ[6WV%%['RPGPP)\R6RUX+O<65]+RS1#P>3$ MI8NB[N09 GUSWW0O?@/Q]\ZIX4C?-91?#NW#_;&1;?N;%(\(09>7FN$$8"#, M\6RVY@!YX=L7YF3&QK!8]<4GJ7&MILFNF\CIX)*X)O1*?!7N^V\!> M$C1%$RRR;?-0](&6QA:QE*B0U'K]]QV2DFRG7G?;A[Y8''+F\,QP9CSSK9"/ MJ@#0Y+GDE5IXA=;U+ A45D!)U4#44.')6LB2:A3E)E"U!)I;HY('<1B.@Y*R MREO.[=Z]7,Y%HSFKX%X2U90EE;L;X&*[\"*OV_C*-H4V&\%R7M,-/(#^K;Z7 M* 4]2LY*J!03%9&P7GC7T>QF:/2MPN\,MNI@38PG*R$>C? I7WBA(00<,FT0 M*'Z>X!8X-T!(XWN+Z?57&L/#=8?^T?J.OJRH@EO!O[%<%PLO]4@.:]IP_55L M?X+6GY'!RP17]I=LG6X2>B1KE!9E:XP,2E:Y+WUNXW!@D+YD$+<&L>7M+K(L M[ZBFR[D46R*--J*9A7756B,Y5IE'>= 23QG:Z>47?/=/529*(!>_"*4N20V2 M/!14PCS0>(%1"[(6[,:!Q2^ CE"D0]5#OFQ?8#$>G9QQ^XF/@OXTGN;6+SD!;P/5%:LVBARWSE)_KA>*2TQ.?X\Y:^#&YZ&,P4S M4S7-8.%A12B03^ MW[V)QN'5&;+#GNSP'/J_?9KS8%$\(&< R:\%D%M1UK3: M$=2H&PVY27>6D0K-6&O&>S-ES4Q!Y 2K2Z/]UI8 RO0))%8TJ9IRA:IB[;25 M62%.B?J8V-DCP2ZA-*UR?!.2-])\#!#B,Y$/3I/*&;??_XE6S1M%:J&ATHQR MOG/W8R:](H[H-C5U4-7+70I2@"^,U=ANGW\A:*$=/%TR1 MC/*LX=1T,[]C6AM)^=@?,8M99MQT)TW%D JR:&4E>(XP4C2;PL*W@7WW)HVC MR94B4-9<[ !:?;P]*S",& "*S5,:?[$5YR#QBI=<'Y!K9(**&>/,$G7D;ZH##SM#EX/6Z!4/CU&BBJP%QS\;12XLK&@4FF., MX#F#6K>:!G%O1TO1(/_+&>:W4VDGZG<,$Q@#FLTQ508>42Z*<\)6M1VLEH)C7.:718X&(,T M"GB^%E@AK6 NZ$?MY5]02P,$% @ EX4!5_L3?R?""@ -!T !D !X M;"]W;W)K&ULS5EMC]NX$?XKA"\XM(#B];N]R>X" MR:9%K^BU09*[^U#T RW1-AM)5$AJO;Y?WV>&U-NNO=<#^J% D)5H"SRTMV.#MY7;ZZN7'I0A71C4ZD2O^R,+:3'J]U?N! MJ[N;2N[59^5_JCY:O%VU4C)=J-)I4PJK=K>C=],W[Q_J&C/DN2E)G?\OSB&N8OU2*2U\Z:(BZ%!HD/3ORIS%0V7'\%+5I59HTJ M[VO#5MSO+F+YLF=M84XAZZ6D [O4'<<^.55;\ M\]W6\?B_SCD@R%^Z^_VZZFKQ]0?M%J_WB)>DO M!N;EE=/Y6#2KFP?\3_E5E0B-%\*\P=>F%/TA/.4?)X_"F M1&J0B)FRDD70R+TI*EF>A'JLPBPCMDJHTFN?0QY>(5(]I@=9[A$%8\7>F,P) M/)"S=*K<6+S+<^P3]!DJ$S?-0 8H.U-KC/I\>(\_H 9L*G9"1!4T,J118V> M08.M:J4S#-(( Q=PD$8<0)$O!](Q!TGIR5V5M9'4X)$T8FHL,RY;PNHP.-.!YT>AAXTAUT!2.P M865-5D/-A/U&<_S!*H4(P7K]*(J0>HI23R!Q5)LX/ 4/,_$'=J*I'4;<']_ M0I+03]INY6?(//\+RV1YW=-/ !+F?*8P./%*3#>K9+V>T=-BFBR6*SS-EYMD MM9SB:;99)NO50OQ0>F6#^3(7ZT6RGJW%:I5L-ANL6R2SQ4I,9ZMDL5Z*+\9C M#M:N(._ZFIXFFV2^6.!I.9DEF^LUGA;363*;7_\O8Q<=+U(,[(T]_5_Z_V?I MTCJ7EAR^G"6K#;EE.ILGR\6<7'6]3)9S?EJLDOER)OZN:FO$%"[<3)=BLT@V MDRE$K9,YXC)=+1&#]>_T^?T!4!8?-.A3;^M086'Y%Y4>2I.;_4G\#1F.7$1$ MWL'#G*_ @/B@4E5LP;TP!?8-F(00PMF/]) 4G*%PWPG/6^'26B(8%L])3?FC M'C7EVGXHHY+6E]@9@6'UQZ2/S#+=I&1A,KT[,8C.H :T4V;29D\4:XUK=W^Z MS]!*7L#L%(Q0 5^=;02Y5%F/EJHE J;3,Z)I'/Q7:,]2"EG6._!;;=DU)1%G M 8)+M:>2#4-<="$#7!L7M@L24=76 MU9**V#F._:^\W]O@-P, ;5V])6QX.#D_L3P'RR#4%HZ<22,M(I]IC")(0D.! MXL4OXVSHRJ/F"IHJ-+=BIQ]A6R5/H3C6%<$:Z>%VRG*LR(*,%0''14T&>47N M#K&GZ5;E3(S/H\\3K3G)W)^Z#9M"9X[E:ZBN9 %/@(P!.1IO-VR<.A8?E>63 M19DJ\8]MKO>QDG]0.0S"?EC:AN U,_W3M+Q4TX4_53KED- 40K$41!E4'7K; MFG;;!"6ZV_8:!LX4 FYIRM?< >U+'F/OM\AQ'#5>!4RU MA,!\MC0P!3;I'5 0F20S*ORPIW2QFM+? M(&U*"&8N(_^'H,:>L,FS3&>\\" ?R)K34]CU=^KD@7WA[>!Z;E8'=1V>C>V& M5:#L\HEOP>9(2&IK^J V<7*7%B \--D$(NG/HA89GV(1C!K:1/UHP3TIP0TW;AW:)9G:Z,2>@B;>$Y -"T&Q QDO\1!(C )JV/';Z MB*\VW/=WE-VP3]4ZZQH!QXHW.''@+X M>1?3;F=5VRR3/OM:TKA2(>K]XPBRLHRW*>0?S]4;7K!TO%+QC)6IG>*C2VP_ MJOP44B24WM>!M7!FY'3ITOA;C1X%ZC0*LOZ:$L?5EA._S5YB*QPS:T)6PB!J*B'O/'% =)?IR$):_^18;+,NH4K5)$)%4ULR+M.\QJFN!S8@&]RG M.3K#(S/W7/(I'%UD8L)A@S^9-U@E"^!(J[;A@1*9DM3UD2>S?P,H@=^!'-(U M9@JL-+'Y\,S-1+,]N]F8SHKSBC]IT2]0Q@6C&4$.AZ \(^J(6[7G^V?*(&.( MS#-%9427G)V7/=K*93Q85'A"(V(MXWF@F<^UEYU%_ZD 6.QK;*2VE"4A"^K< MB]@H='Q.[K2(?Y^W^#S"/ATT<"(N$,#@R> MI_O Q1=" (6H^57?ZL"Z\*#)'R(KH[AV<"&7HR%T3CFJ5$HB&T \:"4IR('^ MSQPI?OO /<1G(7%H*7&2PZ:6HA"NG_B0TRE#O'G>H@C OLC(((X[K:HY5T%L MEO,+W2N'#NQ?WIW5](-.J!NDX96G0\^E6EJ M:RP@D]IH=GW[^8HI'Q7US3E=[]%:OAIKJPVOYC"8)VU */ X;/I@Q]X <-PT MPM.R]@?05_"$)>Q&;+/XYLIEW%W%]BIQPK0UO,?IU=_XS0#:G[_/:7HQ@JZ* M;>XSZ6<:,)[87D@T9]5G-S?#-<_G7[;HE5@GFPU=Q6R2-?Z>F]FOOX%0(RGU M07B@#BJGSRYHNLH' Z[,6'OR-$B+@9TWE[&]R\\V\V5[[94('"DC8*B,<<5\ M?@_+CD\14$JDT/=NJ3,OE&]J[5 \5X2..RZV[);.QW1ZT@3&^R>Q:R[< B6X MYB*/^T!-(,A['4N\.:!F2M$^S>D!PP2.^?7;:%1\8[\>Y4#S_AUMNX@RX*%Y M[1JK9D#EE/OQC2M7?&Z9-W_1!ZW];1UI((PF2 93"WA+!5K9>^>R[47_'T[ MLM_/G8-43\]A,R3-X"[G4M:06U]-Q@M1D/KQR@X#U\T -3+4]Y%G\]/XW$>2 MJ]Z7+'#1GK_747XC*\)'K7:T_23X+GP)ZZ:'[XG0>:_AZESML'0R7B]'./#Q M-[KPXDW%W\6VQH/X^/& _%*6)N#WG4$ICR^T0?NA].X_4$L#!!0 ( )>% M 5=$*W/+MP( ($) 9 >&PO=V]R:W-H965T4O? 40*#7(B>\;Z1"+'JFR>,4"LROZ *(W)E15F AIVQN M\@4#G&A2D9N.905F@3-B1*%>F[(HI*7(,P)3AGA9%)B]#2"GJ[YA&^N%AVR> M"K5@1N$"S^$1Q--BRN3,;%22K #",TH0@UG?N+%[$T_A->!7!BN^,4;*DV=* M7]3D6](W+'4@R"$62@'+SQ)N(<^5D#S&GUK3:$PJXN9XK3[6ODM?GC&'6YK_ MSA*1]HVN@1*8X3(7#W1U![4_OM*+:<[U+UI56-\W4%QR08N:+$]09*3ZXM?Z M'C8(]CZ"4Q.<]P1O#\&M">ZQ!*\F>,<2_)K@'^M#4!."8RUT:D)'!ZNZ71V: M(18X"AE=(:;04DT-='PU6T8D(RH3'P63NYGDB6B*W]"2HRDPG=4D!C3,>)Q3 M7C) E^CI<8C.SR[0&-=B-/QG7?F)JWFK&Z#JN[,W'CQ"V!S7ROZC:@7_R57,BWYYY1CC*829-65<=6=E85?"KB: +76^>J9#52P]3 MV2,!4P"Y/Z-4K"?*0--U17\!4$L#!!0 ( )>% 5>@%]1%H@@ ,8X 9 M >&PO=V]R:W-H965TY]<^J>FUW.I$I/R3(MEVO6;JY8XG'T>L.6_)'K?VT^*3@;5E%BL>9I)F1*%%_<#&[]M_?1V #R%O\6 M?)?5CHFA,I/RBSGY&-\,/),13_A)G^(6*]N!I,!B?F";1/]6>Y^X26AR,2;RR3+_R6[HFUP-2#S M;:;EN@1#!FN1%O^SK^5 U T[ #0$D / !.O Q"4@" G6F26TWK/-)M>*[DC MRK2&:.8@'YL<#6Q$:J;Q42OXJP"U/SLWV8;-NNC?B9@C7XAQ7_$(L^?6":*\$2 M\L35.B-RT;8*VT8 #?O:$5D M+F%!F:J9#W*-T@_S'\DV-;]_ _WP=;XRPTYNYYK\8*Y\_]V$4N]=VR#4%VW> MS'_WXR7Y8-)T-"<[EL$(P8!!]D!#DK@82@9C _)44=^)-(85521HANR1SZ&E M%CRS+S9^3*[[Z8!?IBO*6.LZD-#,##C0+7+9";T"2D/\8>";XY",O O/\\@O3,$,@I/Y6?$=2QH!:%# KH:^ MQ?M1B9]XY#TD]D^693 6#6#5\62/*Z^%9#P:DSLEXB5T^?L_/L-T?VEF3>FW MG=+],8T\\KA5LY4@CTREK,EW\@TRJNC2*(+E*\&=D3]$ FN] 9WL$ZX-E$\M MT0>V7 I._K/EZ06Y7PF^(#^)E*5SL];W\PD9C*H1']D4BN.0A!=C?XQ4]*BJ MZ-'1U;*^ F^+7U%;+<<#:K7E;44;19TH6Z.*Y C-Z3>9OCF!*!YTP9*LE2D* M.Y'IN&(Z/FDZC5[#&NL@BL?L)(K"3B0ZJ8A.3IY2G"P>MY,L"CN1[%5%]@I- MRM9D\N<#7\^X^JN-&1KDM2;K3,$:?'W/WN-X?1CM,NJ9AN!7ELIH=!3*=E;0A^]XYHVC%8K M-1Q?>:M6;GW<[?GV=L_'[Z7J577O'ELIXF%\\&DQ>VF]C\>AIS*T]L?'[H:V(>;\:V=\<>]Z,"9K$DY!GT8'=\Z'=]A=;IT (<=K)E68GV8&M^Z M&A^W-=UB@.-0,>C#MU#K6RCJ"=QBX,!7]\FM6YY]^!%J_0AU&8OCQ, 1Q@]& MG6* 0T]E:-T)Q5W&D6)01FE4^(^I4L$'+#:>FDEU<>N#+6VAN*VIE, '#A, M '#HJ92L8:'X9HE; '#\?K^SE5H?/H1:'T)Q0W%T_#^X'"W&Q4!/-:KGSOVX3X"ZSX"OY=' MKV=R%.48].%/ NM/ MR?=(F W:X:%J9];&)$M2>J^.^IE,)'#A,"7#HJ92L M:PD<>RY&ET>"?@:-3,T!J- #<*]2>7N J<=2_D7-&:K*T'"2:]J,"9?$4Y!GVX ME,"ZE !W*9TJ@,/J"Z:551\[)Z%U-B'N;#H5P('#% "'GDK)6I;0L6'B4@ ' MOGH+H95;'U8DM%8D=&R5'*D CC!T''1* X]E:&U)*'CNQL,=0N,5%%0#\$"O?O^N#_,16O,11GUH0'@F1U&.01_^)+3^)'2\ MT=*A 0Y88\6TTNIC]R2TIB;$34VW". X5 3Z<"RA=2RA8]?$*0(X?O\^62NU M/HQ(:(U(Z'HMY4@-P,/XT:1; _HP)9$U)9'C<(\(] M0NUE0E0!\#"OK7[GBM8D;NXRW:5H9]F)>H]KJM8^?$)0<.?/5><"NW/DQ)9$U) MY-@T.5(/'&'H..S4 QQZ*D/K3R+'TYTC]6#\3:D/\]>UFX+@:%7D.*Q]*;;F M:IE_0)>1N=RFNOAHK+I:?:1WFW^:-K3-BR_\'IA:BC0C"5\ U+L<0]>J^&BN M.-%RDW]W-I-:RW5^N.(,K*)I ']?2*GW)Z:#ZM/%Z?\ 4$L#!!0 ( )>% M 5?53EZGP0D ! = 9 >&PO=V]R:W-H965T(A"2L08 +@)*5K\_I M!DA1-JVY;.7%%DF@KZ=/-\BSE?/W8:%4% ^5L>%\M(BQ?G]P$(J%JF38=[6R M>#)SOI(1EWY^$&JO9,F;*G,P.3Q\?5!);4<79WSOQE^'5['QT>?3^ MPSM:SPO^J=4J]'X+\F3JW#U=_%*>CP[)(&54$4F"Q+^ENE+&D""8\7N6.>I4 MTL;^[U;ZS^P[?)G*H*Z<^9HO*OOSBN05S@3^*U9I M[:N3D2B:$%V5-\."2MOT7S[D./0VO#U\9L,D;YBPW4D16_F3C/+BS+N5\+0: MTN@'N\J[89RVE)3;Z/%48U^\N$W)$&XF;O7V5.7V_@.8W-D]:>W^,-DI M\*^-W1?'AV,Q.9P<[Y!WW,7AF.4=/R-OR.%_7TY#],#-?X8<3O).AN51+;T/ MM2S4^0C%$I1?JM'%CS\&01AM42;_R0EQ,I9&V4"+1B6312)3J M$C46$:*>V1V@7Z'>(^\#[7C6'KYA$YGHU8(X8ZF$MKA6XH5Q(;P?\=9?/*9]IB^1I:?IF((2F(44+Y96V M8B$1UZE25B#.-=0@Z6LV[2JA SL8*KYD)*QT7/!UKJW:0Z*N#:IKKBPR;,R: MGJN:3,!>$G5GV1C8%RV"4 M)\#E$';X2I:L_@CP!H#F$CJ"1$U/F;F@KV_3EZ4BMN,69:[6EN(-BRMI M,8#0DC$-&C0Q<'9D^1LZ<%>0$GE!E@S6 #B>\&QE;#P'.VC$"GHMXA@"M=3H MDFHQD]J;K2K)C!)Z5M8NZ)3_YV@3'(U1@Y]J^M<1Y!]A)&8CACT5.PO>0:)) M]O^-&EG[=[->@EL;I6\W!7FD\FP3J V160DVH;FQK=16/(.\DFM@5*B'&H@A MS&6=:R4]Z2"$/*ZK8X%%M)#(TF$UKAH&D;2V 1!ZS((,:Y?YNT\1'2LSE%$( MOS;28PLL_JQJYR/5"@VMXNAP[U?4NFM,29;2V$Z;@-??&IOF8J;H;RZC3%%D MOP+06\]G.A18VP8 I[PROB1^4^+XC(%XJDK?^-0(%0;=K"N@R_,&)(6>F-M MOQ.U4U[9<"5_&6AC*DT>@JC.L[8O2E>A\'KZ/$",<44]@?A9)T8A[E*@1]_CQGZD4E5MQ>JC],6B0_D^ M/)K!0 CZ.Y#2]M!WZ+H#]''-])&[:VZN&[B[X<@]#O=Z?\=D_:J;K%_M'(FW M!M^AB7KW]AV==]=\E>HO^=/-*.U$U3+C"D$SZSVWLI3(9HJ.HT%3"@U?7!J3 M6",/Z6V?3[6*0XP-LDBIW=2.,AHG2IDGKZ+O^:Y0ONY"^7IG+.X"L^9UB+JB M26XHFCLE#!^B'HME=DQ#0H;+[+E8DX\$*VI5C/[-5)5GK=#'.[!;R7OP>Z>* M@BE#:*HZEPEU 3F;T<"0N@-5,>(IJRZ56*\B#C%&RZDVFW$SM\PVZZ>B1)FC MRU(KX*,,0YOL2!)XTY:0I)/0U4)FR._3;C@>LLZKI;)-:Q(:&8"[Q8EI$Q=9 M[D:?:$9%45);+P%6+64IN%X$6R[Z+7$GR2[0+(-HX\#[>]5Y,%=VZ7* M4]>8QC"W2DCFP1?4JZ.@841EK'>VYV1YD=X>;002,V^$LR@>ZZD%F.P*T+XT: MW9)"/TX(%9&;)N'\/D@6"ZV6.?-=DXC2S]F6$!R01NGC4FKAC%"6.WO+F#)& MC8D,RH>5JXZUPF/4$/MCQ*'H4Q,DB"(/))*]LIQUUX3LX-/J],1V!IXDH*4I M*#C+2&E U:EA%MH7386R(:P]&;A7"XWFMH,4WW2D^&8G*=ZJ.2-[B R_;N=6 MP$H< L%GU!%Z9P)$-Z35 X4+1UKIEFK,K57*B M <:R*9@"*,_LF$I'3*N>.KIE8C(U_V87;[B-=I/1%Q%M\HUOFW&.=[TH'?ZV\1] M5^M]VZ'L[4ZL?-RPZ2\;-AW"W/?(&8KT,'_WAHW"H#0Q*5/[H2Z:VEX^-"&K MK@^457H1Y-4O;P'EDS_/Q7A)*TQPZ%P(ODO6;3,U,:S3<#93E!S([M2*R>E)_N35WRR"*)APV$%]4I* M(5TFXFMQC@Y:.<^CJC)QN8?QPJ(TQ%:WSJYZL0!X,A9O.5QOA/H=O/K^HC M'2DW>Q,ZJ#-3GWB$V+RZ;T]O_.O?SJAY? 0>\&2P= ]Z7ZDJA77T+8Y* CR0 M/EAU=[O/?9?I*]=F>?I6"%Z::W1XHV;8>KC_!J&ULU5AM;]LV$/XKA%<,#L#& M(JG7- F0IFO7(06*IMT^#/M R[0M5!(]DHJ;_?H=25F6%=MIV@W8/B06W^Z. M?.[NX?%\+=5GO13"H"]56>N+T=*8U=EDHO.EJ+@^E2M1P\AG1Y[OK>J\MSV9BRJ,5[A71355S=OQ2E7%^,R&C3\:%8 M+(WMF%R>K_A"W KS:?5>06O229D5E:AU(6NDQ/QB=$7.7B9VOIOP:R'6NO>- M[$ZF4GZVC;>SBU%@#1*ER(V5P.'G3ER+LK2"P(P_6YFC3J5=V/_>2'_M]@Y[ MF7(MKF7Y6S$SRXM1.D(S,>=-:3[(]<^BW4]DY>6RU.X_6ONY23A">:.-K-K% M8$%5U/Z7?VG/H;<@#0XLH.T"ZNSVBIR5K[CAE^=*KI&RLT&:_7!;=:O!N**V MH-P:!:,%K#.7;^L[H0V M^".?ED*?G$\,6&#E3/)6VTNOC1[0%J-WLC9+C7ZJ9V*VNWX"EG?FTXWY+^E1 M@;\T]2EB 48TH.R(/-8=!W/RV %YO>V_*G1>2MTHH='O5U/8/GC0'_OV[$6& M^T7:J#K3*YZ+BQ&$C1;J3HPN?_R!Q,&+(P:'G<'A,>F7MQ"ELZ9T:+WCZK,P M%AO4@W6?Q4=E[K?XXU*@N2PAB(MZ@;P6-VH]PL#@M:Q6O+[_\8>4DN2%!B?M MK"GZ3J:MJ8";Z'!SCO=*Y**:"H48<;T4C8L:!,M&P[ ^.1NLN15YHPI3 #KK MPBQ1#0EL 4D(Q"L$N&D8*&S4YTW5E-R(&9)@ID(YV*G$TN:5.VL:M 4:VQ4G MZ*J2RA1_P=QKJ0UZHZ 7?:HAVY6N]XU3\*#[QJN[LJ<#\2+Z403'4@GE8FC% M5Z#_&6*8) Q^W5'1%_ UIB<[;3N#H&L!QLR+'(RW9S83*ZD+ X,1B[K)8W+2 M?=N1$'TZO3U%!HP#W[U'),4!)2#3_HU9$NQJ(@F.(^K70!*N\WN'QD+>"55; MQ)!>R5I+!=O4VR.G.,O2K0UQM#4"AACS K4!TWU>J9JZR(L5')A;3RB.26\3 M-,RV$F"0Q3& !*$YQ%/-[_Q;=VD88=A3A,Z:YGA4DZV':(@R!\,N(Q()[U#C^) M>T>/4_HHY)3A, ZV$J*@Y[D4O";*'D">Q#AAI.0DX)CI/! M_B$F@J'/0TP0F'.J]R1DO.&F4T[H M1L?V:Z/-NTPOE [%W3\SY0 )^)2\ZYQ#$O S#E !A026V2GDD)#^C&&ZB'"4 M,C=&(KL^PQ2(Q2;+R+4A4Z0D[6CCJ1EC8\0N,8SC\*3_^4C6& HAQ'&#)XR= MQC!W +-%-( $"#L/,YR0S%(&34&GI0J6=0RRR1\T:XEY#)P )PS3R'3B- M''V0@.*0QCU*>>B@_TD7W 7_P;%Z4O!LL=/X7M0]-WB^Z'\_@GL(7)^ AUAS M&$X@6X]#!H$ J9M9Z!Q[/( \ D!A%;Ǩ#H!2 B8: >0(<<0=<<1??6^_!L>PQ44#%KWC9G.23[K1 M']7VC3?ZO&=7M6/7=][WCV?PP46I7Y(UCG^V_")AW;W@-I\F!+*9S71) )>@ M8#/7SC 2S>U]S,[4B"68059C,0Y)O.^ZV%X+CX"<=" G7PWR;F%]!3'95MPW M!9\6WNOW 7M4PU<#JR%$C65?N,WN V_>%?K<6U:Y1 $8 ._W+@K3>SC].U&Z M>[%#<><>L2R$XBI?WG\'G5_M67GC=)+VE[:_K'^HVZ>*]FRON5XB\6=3@&G6 M$\_LVX.X;_T4S1N;,9Y9/\A(?(B"_>"[O:Y]]I#6MX68I>[=U@$*WZW=CE9R MOE1[D+J_K8+;9>4G%6^#.NV1LFU0GQTHUR*;\&W:33.;KP<5"X.+"&T]8Q_? M_FO> 15%Y*KGO75(]0+S?BIYGU"?588.2ZY$*;%!J':B\&%PE M:>229XB)P[$''\MPG+&]"772>[F$4%JX]UD-S-/4QC]B=KW=$_"5?_G<3O?O MQP##PE;0I9C#TN T@?))^3=9WS!RY=Y!I](86;G/I> SH>P$&)]+:38-JZ![ M&+_\&U!+ P04 " "7A0%7SY> +28$ "D"@ &0 'AL+W=OZYYUY(WG2CS1>[!G#DH9'*GD=K MY]JST<&9Z,!I18-*"NT M(@:6Y]%%?'99>/D@\)N C7TR)MZ3A=9?_.1C?1XQ3P@D5,XCC2-2PY)WTEWKS4^P\R?W>)66 M-GS)9B?+(E)UUNEFIXP,&J'Z/W_8Q>$E"LE.(0F\>T.!Y3ON^&QJ](88+XUH M?A!<#=I(3BB?E!MG<%>@GIM=0F5,"5;EJM0#E+GMTXN>4+"?9T.G)H MWZ.,JIVMR]Y6\HRM@GS2RJTM>:]JJ+_6'R'O@7RR)W^9' 7\N5-O2,HH25B2 M'L%+AV"D 2]]!N^S67$E_N*^7BCZK*R6HN9]^:B:S U8C$&_H)?D@U 8(\$E MN<%%:$)\?K]86&>PVOXX%*&>0':8@#^!9[;E%9Q'K;=E[B&:O7X5%^SM$?>R MP;WL&/KL!D]TW4GPU#^J>V2KC0![B.91H,,T;]= EEKB*1=J19PO$F+7>F.) MPYWJL8#0NGBT3GA8P53"D,H0['=00;, 0](XK";D1"C$TIW%;7MZ]HW.]_+7 M?(-'Q8'!#%GR XD9HW%1XFC":#DNR!U>&,B%M$978"W)$II.8I(4M)RD/KL" M#U9-5EK7EB1Q09,X"?\L*9]&$!'3?$S+DOE1FE&\$X'C&9C-L0)'O#=LD@O9C1GI?]-6()&EF ,[AO ]'5 QC1+&9G0.!^3 MS^BP.>ACDM$RR4B2T[)@Y%8[//.'Y'R1Y;3 ]/M105/&CA5",11"\>)">&^= M:$($YD;77>7('3>&*[?M?>?R4%TAY1">""XVKY^-4[B\JTE M,+!L=RPW>Y:\9TE1M9(=O@0>XT P*5HW =R*!]+T3P?XI^- L;D-R'OX6NJ[ M@J*8==M": 3D]A^7X_Y)Y"ZP6L!**.5C@UGQ"RW>-+K&S.X9BR)"<)S?*88 ODY.X9>13>DDIRT>#+6V3Y*3F)_25U^BT; M=/D CS)G Y]#=3AZTCDT8%:A/[)XMCKE^B9B6!U:L(N^\W@4[_NW3]Q@/"R1 ML$15]J;$J\CT/5$_<;H-?&ULQ59M;]LV$/XK![4H$D"U]6XYL0TX;M)V0+>@R=8/PS[0TMDF*HDJ M2<7.?OV.E"T[L.MEG_9%(D4^=\^]ZD9K(;^K%:*&35E4:NRLM*ZO^GV5K;!D MJB=JK.AD(63)-&WELJ]JB2RWH++H!YZ7]$O&*V8F5XJ("B8NQ,_6O M;F)SWU[X@^-:':S!6#(7XKO9?,['CF<(88&9-A(8O9YPAD5A!!&-'UN93J?2 M _7.^EWUG:R9=Z-792!W)*1T4Y=COJ:-!IF5@MLJQ_PEOD],.[K!CNY-<%;@+TW5@]!S(?""\(R\L#,_M/+" MUYKOPJ]4"1>WFZQHJ%3SAFP0"[CC%=?XOJ!8KY M6=FGF3^N$!:BH(HV+M(V/< >5YIJ0C->*$-&T[V9*&M6/;][DP;^X%I1'?YH MN"1RBT.F?,^4M5G'K 0*.'8!!U;E\ $S+.$6:1*/HF *(FPQK M#6M;D)B_9T\HJ;\ *X74_&]FNT&-DHO\\HK\%_]G/H1\9/P^C 'ZC(I*P%^^[263O)"86MJR"ZS/12/;1 M2-QXT$8CIIRQ5J6^ZR<^G&E"<=>$XK--Z'SC>1FDVPT-%0I/=:.S2E[=C7;- M2-D6]*+RL=5-\Y1SZ0S-,G5J:5MU_-A-*FNB3E>=6@:1+)[N&'OGT&\,"H M:[NPQ(H*K;"\6$XC!C=_.3,K04 =(Z6$&PX"RN/A(#8I&4?;9'M+YW$Y)A:. MG?D<"O_]SDZ;E:ET']K8OGO/[VR_FZZ-?: *T<%3K33-HLJY9A+'E%=8"SHU M#6J.K(RMA>.I+6-J+(HB@&H5ITDRCFLA=91-P]J-S::F=4IJO+% ;5T+^[Q M9=:S:!!M%VYE63F_$&?31I1XA^Y;?"3JV(6)5X0*LR=9Q#\><0+5,H3L8S?&\ZHW](#=\=;]D^A M=JYE*0@OC/HA"U?-HO,("ER)5KE;L_Z"FWK./%]N%(5_6'>Y9\,(\I:@HTEI& MZ&=8""5TCB#(5W:).=9+M# K\&?BB-"D1 MS#U(DW^H7HKH:/@'^^XBWO%/C;8,78(@-ZUVG97ZU;X1S3O__4WONMBUL*74 M! I7#$U.WY]%8+O.T$V<:8(;E\:QM\.PXF:*UB=P?&6,VT[\!GU[SOX 4$L# M!!0 ( )>% 5=E5U>@+@, ,(& 9 >&PO=V]R:W-H965TS:X3)9*/;C)MVH:Q$X0"BRM8V T/.(5"N&(2,;?'6?0;^F ^_8+^Q>? M.^6R9 :OE/C%*UM/@R* "E>L%?9.;;_B+I^!XRN5,/X+VRXV'P10ML:J9@=N>P!RCB-P#I#I!ZW=U&7N5G9MELHM46M(LF-F?X5#V:Q''I+F5A M-:URPMG9PJKRH5:B0OW!P/7?EMMG.+UG2X'F;!)9VL(%1N6.;M[1I6_0#>%& M25L3DZRP^A\?D;1>7_JB;YX>)?S>RG/(XA#2.,V.\&5]OIGGR][*MV8:/\[I M'BNX9<]47A8NM69RC=[^?;DT5E.M_#F4?,>='^9V[^?";%B)TX >B$']B,'L M_4DRC#\=49[WRO-C[+,%O<>J%0AJ!?[6/BY]%E>JH1=JF"_RZR=GXR'M1]D/ M:[^O$59*T,/E<@W6%048M(:UJ_M>>QM48$)BF4/T'351VZ MJ@.J&>QKQH>0D<*I5Z!:0QYS=@'WGF&_7E^1"^(\O.(Y/=^K=:6,=3(U/J)L M$=Y!$J9%0F-1Q/1-PWR4>N\H&\(='2_39>V55001:N-KC\*RA((&20YY.(K' MY!G',2P8/<80UBCI%(2'L8IZ 7>5ZIH:C,,D26 89N,4DB+,XP*2+(SS#.Z5 M)0AMG88%R25%X:@8.DV#<%",W^^[IKJR5MFLQO;=O MT)==7WH-[[K[#=-K3M&ULQ59M;]LV$/XKA#H4,:#%$F7)&RJ!EIF3M4&).ZLE&Z9Q:E>C\U& ZN]42O&-$F*<1&FT6_C(UXUU"^/%?,/6< OVT^9& MXVP\H-2\!6FXDD3#ZB*Z3,^N)D[?*_S*86OV9.(R62KUV4W>UQ=1X@(" 95U M" R'>[@&(1P0AO&EQXP&E\YP7]ZA?^]SQUR6S,"U$K_QVC8741F1&E:L$_:C MVOX ?3ZYPZN4,/Z?;(-NCLI59ZQJ>V.,H.4RC.RAK\.>09F\8$![ ^KC#HY\ ME-\QRQ9SK;9$.VU$SBLJJZMA/,0DU^L0UH^7 M2V,U\\B:&X!7C:K'O6OE:5,]JP?M:",]@+JTBP+1$7X:PU0IO!X_O"LCD MX]LW)4VGYP9!D*C2("A*1@E>>P_&XH"7DC7.-]Z-NH_&I?8JFV/1G?ARJLX@ MFAF=D;M& SP[.01Y#P/O_TZ!D@],?X;0P>M.:Y#5([G33!H1"G^G+!.OU+H* MC8W)$M9(L ?ER@ AGY)/$[Y% ;M9DC=\A$RSPGB*^G?0<&34DR.4]&!O:4=!R M4''R29EG3T9AAI<_7NT2+^.^,':O,"^X*_*)_PU(69QEB+4;?P9/7O%NG MFL:TI+W+07T2IV41U(-[^^TCDO<5/'\-[-!/0.X>Z&22TKYK>3'M>Y5/9_W: MC-*^NS0KO)0F<9J7(W++'XYQ]NCV?\]8S"[9,;:@$R^5<=I+^2SO^9ID.ZG( MDO^)KVD\*9\8&V:NJW0Z>L8U-_\:WJ9QDD_[_P$/#W*2CH9QC[LA@*!.XWR2 M#\X'HVF^V>.]EU8+>NW?D^YCT4D;'EW#ZO!DO0POM2?U M\-Y%!J]=$P2LT#0YG>81T>$-&296;?R[;:DLO@*]V."S&[13P/V54G8W<0Z& MA_SB+U!+ P04 " "7A0%7^>$@T7 # #>!P &0 'AL+W=O\*A-HO@C@X*.[YKK1.$2WG-=O! ]@_ZK5&*>I1"EZ!-%Q)HF&[ M"&[BV6KH[+W!GQSVYFA-7"0;I1Z=\*58!-01 @&Y=0@,?T]P"T(X(*3Q3X<9 M]$7*V'\E^P[ M6QJ0O#%659TS,JBX;/_LN^@;>9Z8EESM#UGVT?]ULC-78)7^?B[>%&YZ'[+#2^C+>\B5S+G@S#>RVA); KEK*M#,*DV8+,@GD K;P\N- M@8)PZ:UNF<@;<>*X8H;GK1,7C47;/AM][<^EX#+)&[RBYVC*$YK%&S3SUS0W M/.KQPUAAFR5P"ECR)6'58U!=Q,2>,ZAMIVE0WSQ8Y5J MI#6#&?E>:H"3OB78=>"[[H$_O['C^M%]DJ-57YD9N7M%^3V)LW ZIKBX2L-Q M-G&J9!*.T+%5T6QP7,X9^>%'"Y[*GA!W!RUUTR;0*H+P-2;H3'Z8M9IO&NON M<6=9889QJN2/I1(%:#/K^B'-PC2AX70Z)>DDG(R143QUVF0T#.DP\5HZ">/1 MF*R5!6DY$VUI<*RVD+^X^5@05;LZ&I]IMF>Z,"3+J/?\\"Y+XN0CR::3,)W0 M7CYT8CH-$QJCZ>B$Q10U<3B,3UB\SFU?UD-0[PF]'DY=7NEU3 =>GB0O\N%8 M;Y?]QX[V\KD['!W-7"SWSK\L!C.,[=2.WU[;/UXW[% 5=2V9F>N0, (H) 9 >&PO=V]R:W-H965TU*%J B*QW);4-Y&7#.JQ%D*3=AV$?:.DL$95(CZ3C M9+^^1\J67<0U-F ?]L4^DG?F M3*U0TLE2Z9Y;6NHF-"N-O/9&?1?&DTD>]ES(8#[U>[=Z/E5KVPF)MQK,NN^Y M?K["3FUF013L-NY$TUJW$-R%EQ&%U>9 MT_<*7P1NS($,SI.%4E_=XD,]"R:.$'9868? Z>\1K['K'!#1^&N+&8Q7.L-# M>8?^L_>=?%EP@]>J^UW4MIT%90 U+OFZLW=J\PMN_?$$*]49_PN;03B&'?_ZTC<.!03GY@4&\-8@][^$BS_*&6SZ?:K4![;0)S0G>56]- MY(1T2;FWFDX%V=GY'3ZB7*.!47C[P!<=FG?3T!*^TPJK+=;5@!7_ "N'CTK: MUL!/LL;Z>_N0>(WDXAVYJ_@DX*]K>0;)A$$\B9,3>,GH;.+QDM/.PE*K'JZ) MJZ:BH(#;%JY]J%'#'Y<+X_?_/!: 3\]CN\:Z,*L>(6S@#K$H'[$8/[F591/ MWI]@GX[LTU/H\QMA>--H;+BO9[7P8T9-0QXD^M!09U5&;"MF =54 _E1: M Y8.KU6_XO+YS:LRCHKWAGIR6S+UGAG6L'B&!E6C^:I]9KYE:B"^#J%&8X4< M^%L%FU94[2$TF%:L# BZ<*55O:ZL8<1)>QW;:D3@L@8CGJ ?2@U=J0$5"HZ% MXE5(B.&M<->JM:$=\^X"'CS"89'N+>\)\_B)Q_1X>^FS%,[5>TL>&W@-49FS MHHB=E$8LS7*2DJQD>1:1%)<9*_(4/DB+>G"?=U"DK(@+R'-6EB79I2Q.YVP8>*MIHE'[^ M7\;_"S?5NN/:!3R+65ZZL$1QPK(T<:$ZSUB6>"G-69+%\ G76D%$(2RC#,J4 ME9.(H J64%ZB/*,<%/\RYB=:.AM;.CO9TO?#*'2]/'Z.+HU!2IH+XF^"+T0G MK$!SK,=/8O^3'A=RF.JN'8>I+/[&X_52[>CQ/;UN3X^!1'?F/'E9##=88;^@ MCVL2L>.5\;W-2_TQ.B_N? T%YTP*L?= M\:%Q.IC\P\*JE9^V"V5IH'BQI<<2:J= MYTNE[&[A+AB?7_-O4$L#!!0 ( )>% 5?CJWS76@( &T% 9 >&PO M=V]R:W-H965T-+DU*DJYW$C\>)^G*D+;!E]6)[>=Y;,]).JD>= 5@R&/- MA5X&E3'-(@QU5D%-]4@V(-!32%53@T=5AKI10'.75/,PCJ)Y6%,F@C1Q=UN5 M)K(UG G8*J+;NJ;J:0U<=LM@'!PO[EE9&7L1IDE#2]B!^=)L%9[" 25G-0C- MI" *BF6P&B_6,QOO KXRZ/2)36PE>RD?[.%CO@PB*P@X9,8B4/P/&0R4-O'4/J*_=[5C+7NJX5;R;RPWU3)X$Y <"MIRX/!6:N-K/MD5% SX;_TL>_#2<)D?"$A[A-BI]L3.94;:FB:*-D19:,1 MS1JN5)>-XIBP0]D9A5Z&>2;=^6$069 =*P4K6$:%(:LLDZTP3)1D*SG+&&CR MFJSRG-E>4DXV3&=0" MP;G.?%_MM5%(\N-]#R>7;J%;F@&RP"W2H,Z0) ^?S:>1V^OJ)T.:J?7 MT-//;;T'9:>[;S7ZM#[VPNK^=:$Q7K='GCEDN]N'=)R$AS-B9H.8V7^*P3=% M4=?#?D)62V^>DS+[IY3P9 5J4*5;=$W% 5&PO=V]R:W-H965TSU7(?W=,;*F_WG[BZFM51MG%* M,Q&S#'"ZNYR\@:_7),P="HLO,7T4)Y]!GLH=8U_SB^OMY<3+$=&$;F0>(E+_ MCG1-DR2/I'#\4P6=U&/FCJ>??T1_5R2ODKF+!%VSY,]X*Q\N)XL)V-)==$CD M9_;X&ZT2FN?Q-BP1Q5_P6-EZ$[ Y",G2REDA2..L_!]]JR;BQ &2#@=4.:"G M.N#* 1>)ELB*M*XB&:V6G#T"GENK:/F'8FX*;Y5-G.6W\49R]6NL_.3J.CM2 M(=5]D0)$V1:\BV(.OD3)@0*V ^_B+,HV<92 ZTQ(?BCMIN"]>CY*^P],""IR MVX\1_TIE=)=01P M9IL*]-L2-.H _?LANP#8>P60A[#%?>UVOZ(;Y0X+=]1TGZGIJ^<0U7.(BGBX M,]Z=!#=T<^"QC*EX!=X<5<;Y3$S5.IN*2$W)7Q^4$[B6-!5_VQ(N1R#V$?*U M_%KLHPV]G*C%*B@_TLGJYY^@[_UJ2W^@8(W)P/5D8%?TU9N4<1G_2[=@S82T MI5KZ^X5_SC+'%?06H1?J@06WF:*\I$!9 M/,HVF&6<^>GX+82FA6<'-Z_!S?N!*U>7#=W<&'N*/(A:""U6>.YUH/1KE+[[ M#B>*^Q4M4*">;K#F=!O+ JD-I^^8HQ*CRZ*!+ZCQ!4Y\FL)L@ +SMGK^(O1; MJ"QF< &[GKY%#6WAA+9F:4IY0:C[:$^Y#: S0E\F&"A8(]FP3C8%EKO?Q)C%>#TH<,PP*TGTSW,<],XJ1?@0 1:!7*M??=8S\U%ZS9T M*F$?OJTB-0FWG&X*6LZA6\_75*WX7;R)9%%-;^F>B=B^])V!^A+=4-&::>OZ /JC$S]T MUB"])V2@:,T)T04)=%H+MZZ4']B_/L,D9I M G5M IUJWXOZ0Y/Z#:(9H[9 NK9 9VJ+/M2/S#*C?7/-X:9^ M9-85:JV0=@ICE!;HI"7@+BUN+VXN@%1/ESCP[]8LAMWQCU%Z(%UZ(#Q^!V2@ M:A.+S8R01<<^%.G2!/5L-71R.3*;" 9( MTZ1C#X]T$8'<788>!(W,%L(4!P:G6:Q(L.C J;4=G='V7M1KRKP!TV72Q*B% M&[F%^PR?FF(- W_>WMW8S(CGD0YP6HF16XD+IHSN:;;Y7G24[]F1\BQO'@.Q M9YE@:DJ!J+G%FL&@;8*AHC7;IUK+L3]B37? WB0QQA8;:QG&P?BL.=#V MNIJ0,3;K6&L^=FO^$UC3(NC(A\9R-\T0)G[76M*ZCWONP+MYT]R &XO=9=)\ M4:B%F+@WU3UXDYA;ZBDB80NDS6KNP0Z<6A_)&7WL0YSD?%/>:=+$J$62N$72 M39S$5#V(L-]^)V-ZDO6,=YQ'<$?I2PU#1FOF> MO (GHW,E&:BS7DW(&'UZHF6=N&7]/%<2FVC/C=+(8A;X >Y:XEK<2<_-I MA?,OW)TF38!:?HE[%]R'*\T-[A1B9$REQ4SISKP#J=9%['E^3ZVTZ2) M44LC<4OC&;8LG4]/QO@!(@8PTRP@>-&NTV1>! MRHR79^'*"\GVQ7&R.R8E2XN/#S3:4IX;J-]WC,D?%_D)M?I$XNH_4$L#!!0 M ( )>% 5=_PXP?KP( ,D' 9 >&PO=V]R:W-H965TW?-7;R5ZD87 (;@DOMA$$S]DC+A);$[.U=)+"O#F8!S1715EE3]. (N MMS-OY.T.+MBJ,/; 3^(U7<$EF*OUN<*=W[+DK 2AF11$P7+FS4>'Z<3&NX!K M!EO=61/K9"'EC=VEE0#<>2?V&Y*6;>&X_DL*05-Q=R^P$:/TY@)KEVOV3;Q 8>R2IM9-F 44') M1/VDMTT>.@#DZ0>$#2!\+"!J -%]P/@!P+@!C%UF:BLN#RDU-(F5W!)EHY'- M+EPR'1KM,V'+?FD4WC+$F>14;$ ;K*/1A(J\]?QKY!89;>SQH11[6(\ $1$3F3 MPA2:O!,YY#WXXV'\= #O8T+:K(2[K!R%@X0?*W% HN 5"8,PZM/S?_!T&)Y" MAO"1@X<#;J*VQI'CBQ[@Z]0T93KC4E<*-/DZ7V!-\QFG+<3VF;T:%> MTPQF'G8;#6H#7O+BV6@:O.U+UU.2I4]$=B>5XS:5XR'VY+V26I,K@1V6LY^0 MDT^X!]V7P)IHZHAL\]TD^V$PPG8?4W+5G_W=X/>3.J%HQH0F')4*#@]+^4TNPV]@7M]$Y^ 5!+ P04 " "7A0%7UG?\X0D' #%+P &0 M 'AL+W=O3E93KL^E4+%8LC<0I7[-,??/ \S22ZFW^.!7KG$7+ MTBE-ILCS_&D:Q=ED?EY^=I//S_E&)G'&;G(@-FD:Y3_>LX0_74S@Y.<'G^/' ME2P^F,[/U]$CNV7R;GV3JW?3?91EG+),Q#P#.7NXF+R#9Y?4+QQ*BZ\Q>Q*U MUZ!(Y9[S;\6;Z^7%Q"L0L80M9!$B4O^V[)(E21%)X?BW"CK9KUDXUE__C/ZA M3%XE*ILX*R[CK[HQW+VL5 M>0O>;57&19U.U!UW(B)5L+\_*B=P+5DJ_K$EO%N!V%;[;T!PK6* ;>%P.[HL\_,G7UY4IM"8A RC.Y$F>U_67+?1?0 M+P,6#Z#M',U@H"[LMIZ4:05GX8SLK1IHR1XMZ8_V][S8P:T=S:S[=!>=UD"= MJ#JVD%N-9G;@= ^<.H$KN)]*N,4-F_*9P<[VX.=.<%>\C1E>4DLZVC- M0T5K%J0F.N#0U%!%K&]$# /8VJWN M=0_-2],_=!+JT212A6_>;>T4Q^!TJ$D=NEF]-]U4\>HYM6G1O>2A*6GFAV[J M/XZ5H$GJ1G[.]0_-3PL$Z%8(+R(O:!*^[?YRKG1H)EH^0+=^Z$]RT"8'VDDY M%STT*2TMH%M;7+)_F*S). /UYH"!HC73UGH%AN.3HE,3 M]2[(0-&:!=&:"+I%T2&D.#-V-PIGL_;^'D/](*U^D%-,'$V*5?BF[F^EZ(9P M:(I:SR"WGNE-BLA4,VW2<"]Y:$JU3H9;RAQ'BL@4,D9^8^@8I'4,BP0TC9RTZH+N98 E142/+%O\*(^N'OF6Y5EQ1 7$FF="[8\E$/N' MJA7_0,Q=Y3F&#L!:!V R.HG@@5B_*L@8&@)K#8'=&N*0 RBS"V+L9I=)$ZGF M?^SN:QS+(-CL],'-MD7S;!QOF=:^2'"'6@U36,W31_) M'A:2]DD;N8W) [\#N:9I[*;IEY&'I1=@J:UIU5U;HIF9N)FY/W40"\\:];09 M==:3:#(F;C(NF4/(2++=T$.ZR>)%O%:8NXC"';#O?Y4PV)"J!]T;-[:G,+(@PK/GU=83$[\#KU&-!V3@0<5 MB,FT$&*_?9YN,\-!T'&>3C0IDS&'%8CEX &1=NO(9D5PU^-8$S,98%R!6 <1 MS/):S$*,.Z96B*9C,O3 K%-+)@EM5A1KV/^@V@.)L^-+.1KGA=G-/>\8U3- M':'W,W&,KCW5C$['GUF@@\XL#!6M61 M&NC@,PO4\D,]H*C]N+6948PZF()J MGJ?C3B-0V^_V=I_89@2[;C>J*9D./&9 +6P["V#[Z6 QHS./=LW@:5:F8\X0 M4%M#'H5M.6PS0XAT-'YH;8)P@ $!:M*L'R!L%-@R7DAPV*'9J69C.O31?Q70 M;Q05HW;#SV:&,*$MP-/:C'4QX/XIRA_C3("$/2@_[S10&>>[F?'=&\G7Y=CU M/9>2I^7+%8N6+"\,U/% 5=Y CWD M[0( .X) 9 >&PO=V]R:W-H965TU NU^_XR3-N*11A?@"OKVO MSV/[Q!ZNA7Q1*8 FKWG&UV+9*4LBI.A=+X-@S%S*G&JMR8:NE!#HK M17EF>XX3V#EEW(J'9=N=C(>BT!GC<">)*O*\,]6Z3:--CQ M<$D7\ #Z:7DGL68W+C.6 U=,<")A/K(NW8OQP(PO!SPS6*N-,C$D4R%>3.5F M-K(<$Q!DD&CC0/%O!6/(,F.$8?RI/:UF2B/<++^[7Y?LR#*E"L8B^\UF.AU9 MD45F,*=%IN_%^B?4/'WCEXA,E;]D78]U+)(42HN\%F,$.>/5/WVMUV%#X/8^ M$'BUP/NLP*\%?@E:159B3:BF\5"*-9%F-+J90KDVI1II&#>[^* E]C+4Z?B& MKT!IW!:M".4SQ^$_JO@Y\1WOA'/\?P6^;A;/H$$Y6XI][;E-BYBLY)>LY)>Z>=_ MX'>9"ZG97YCAZBC=AE/I>^UZDZX7:DD3&%F8CPKD"JSXZQ" WD#*MNH*ZN@M#+?E%4I_!,1!:D#E^5DJ8UB-9.?4W:/S0=Z,=FL[Y#J3I-S3]3II'H6G6%GI_ M+W37B09.N!-[?V^_7,\-0J\9MA55T$05=&;'_^]*6VC!,3/C2&9;F&&#&1XO M,\*]#0F=7N3L[$?GA ?B1 U.=+3,B/8S(^BYP0Y-YWP'T@P:FL%AF3'8/_). M$ UV8V\9YD;N7F;8&[>Q>0GAE;A@7.&AF*/0.0]QC63UNJ@J6BS+"WHJ-%[W M93'%!QE(,P#[YT+H]XJY\YLG7OP/4$L#!!0 ( )>% 5?LQ0H8)0D +-6 M 9 >&PO=V]R:W-H965TU"8J+K*M2JO?W&7Y)BJK MI_G]O-CF*EHWDS;)G"T6[J:N;,?/_@0WS^4]0_FR\MM=*\^JO+3]GU>/9L?5-;Q1J5%G*5.KNZN9K^[ MKZ]#64]H1GR.U5/1>>S45FZS[$O]Y-WZ:K:H5Z02M2IKB:CZ[U%=JR2IE:IU M?&U%9X=CUA.[CW^HOVW,5V9NHT)=9\F_\;I\N)H%,V>M[J)=4G[(GOY0K2&O MUEME2='\ZSRU8Q9EG3TY>CZ[4Z@?-N6EF5V[BM-[&CV5>_3:NYI7+=^FC*LIJ M7\K"B=*U\S:*<^=SE.R4D]TY;^,T2E=QE#COTJ+,=_MQOW9^_GM1J';J7W%T M&R=Q&:O"^5M%Q2Y7:R1ZG]]7C3Q]OG%]>O'1> M.''J_/.0[8I*L+BIWS5>OFS=X-.^'FSUUZX?#%*X3RPXGES5Z_(3>\6DR&=HK"+-"_4?\NMA&*W4UJ_Y*"Y4_ MJMGRYY]Z;N%@E65T()N=[.=G(U:\VCTM7 M\,"M3OQCUY-A& ]ER _#M-6*PVH%NMKK;+-1>;,WVVBKZ#KT*,T2B6EFY<&L1'?V[RC_4KW*W":J>C$YO+B9+.]UO$YE<==WC\H/ M/=@SK?@'*SY>I"HOX[MX%97-J_%:;;,B+DU64!W;W2,2TRP'!\O!Z%(-*,T2 MB6EFPX/9D*A4PWZI>EP+CQ=.F3=O_-^-;]WH?-M] MHU+3W7:PR1U=IZT$E6$B-=TPH(R+PH-%K;9"W6)U?>D=OZ^;AHG%0IC?UUW M$!?GD*8.JT\@Z>I[@Z7WV:/*TWJU3K'-TB*KL;2HX;-!5:,#] C6&T>DII\/ M !U7C*]44M2A4M,- ^RX*%[85*K7*T$6Y;MGK=,O.$)X/C:NP/XY['O!/5"!S!<([H5J/SGS.DD8DK M6N_7%"T3!GC"PO$%2LHG5&IZ6QWXA..-E>%OUZU0M^2.WZKQ8SW7"Z 'Q]'C MN'@'-SAQ7=L=I5+3SP)P#1^?"W%2JJ%2TPUWHB&\)V-1POQ\"4\!+!R A>/ MN)SU1D[16^& 0GQ\DL1)<8A*33<,.,2ITB3>CY-,;4_3L--M3PX8 MPW&,,97EN"XH?D#K?9RB^\*!FOCX7(F38A*5FFX8,(E394N\'R[U7G*Q(7K^ M#E@C<*PQ%:Q5.Q37M\[GIP C 6 DQN=)@I2!J-1TP\! @BI/$OV@Z+@^T2'Z M H%9!,XLO<]99[NBN*#U_DR!.:)S?WJ^Q M;HYZ_2@H")DXOE3),,Q="+?31-47#%CAX5C1+<>!W5%$ MWOC\ MR"/E%"HUW3!PBH>W8X:_;7N&%*E_O2=^N.?:Z5RI.SAK8E8-4ES7>E.GZ+IX M@#K>^!#*(R4;*C7=,)"-AW=O+*K8%"OU+@7%#_=<.\ MWN",B@WID>)RUGLY M1>?% R+RQ@=4'BD54:GIU]L#%4FJ@$J>#ZC0(?H"@6+DX-2)T?1&\0/:[A^5 MFGYZ@)GD^#A*DD(2E9IN&"!)4L51LA]'&:X0-8PZ?86H!+21@Y,F]JP.*:YO MO6E3D)$$,I+CHR=)"D%4:KKASGU,9#.C)4D*.%1JNF$ '$D5+RWL,IFBP!X$XP/HD*2+F'2DTW#-P34"5103^)ZA4M M-D1?('!*,"!;@DH"B@RIN"?M[4 MJU5LB+[ SM? #$B0H%:MVIZXM/5.30$_ G>FZ+N$P#/A^$0H),44*C7=,&!*B#=P MAC0W6PF)%2(V9+^T>><;1>NO%)_;^GA>VJ7_P-02P,$% @ EX4! M5[6.(3B[ @ & < !D !X;"]W;W)K&ULK57; M;MLP#/T5P2N&%NCJ:YRV2PRT"8IUP+"@6=>'80^*S21"9 X/*8H:;*1ZUDL 0UY*+O306QI37?N^SI=04GTA*Q"X,Y>JI :G M:N'K2@$M'*CD?A0$J5]2)KQLX-8F*AO(E>%,P$01O2I+JG[? I>;H1=ZKPL/ M;+$T=L'/!A5=P!3,8S51./-;EH*5(#23@BB8#[V;\'J46GMG\)W!1F^-B8UD M)N6SG=P70R^P@H!#;BP#Q=\:1L"Y)4(9OQI.KW5I@=OC5_8[%SO&,J,:1I(_ ML<(LA]ZE1PJ8TQ4W#W+S"9IX>I8OEUR[+]DTMH%'\I4VLFS J*!DHO[3ER8/ M6X P>0,0-8#H7P%Q XA=H+4R%]:8&IH-E-P09:V1S0Y<;AP:HV'"GN+4*-QE MB#/9+>54Y$"FKF1&LJRD &$T^4#NQ1I'4C'0Y'0,AC*NSW#]<3HFIR=GY(0P M0;XMY4I34>B!;U".)?7SQO5M[3IZP_7GE;@@<7!.HB"*.^"CX_ QY @/'3S: MA?N8A#8349N)R/'%;_!]50LJV!]JJ^L<,R&TY*R@=;&)@DP4:,Q'O2#GY(X) MS!RCG$QQ$4J7M1\W,VT4UN;/KGS4 I)N ?:^7NN*YC#T*NM+K<'+WK\+T^!C M5W;^$]E.KN(V5_$Q]NR!;K (#2@,O_/D:WCJX+:1K+,P",*T/_#7VS$%T+LI"R^];T#MV&:11&>^HZS9*HWRTO;>6E1^5M7?HN;>G!@<6] MRWX_V-/6818G^*[L:?.W^I9],[Y0M6!"$PYS! 87?8Q.U7VXGAA9N58VDP8; MHQLN\>D"90UP?RZE>9W8[M@^AME?4$L#!!0 ( )>% 5>\7P-4[P( .@' M 9 >&PO=V]R:W-H965TY!%#HN:!,#IVE4N65Z\IL"066%[P$IE?F7!18Z:%8N+(4@',K*JCK M>U[L%I@P)QW8N8E(![Q2E#"8""2KHL#BY08H7P^=GK.9N">+I3(3;CHH\0*F MH![+B= CM\V2DP*8))PA ?.A<]V[&B4FW@9\)["66\_(5#+C_,D,/N=#QS- M0"%3)@/6?RL8 :4FD<;XW>1TVBV-R.3+.)7V%ZV;6,]!6245+QJQ)B@(J__Q<^/#EJ 7'A#XC]_C@=H].3#^@$$88> MEKR2F.5RX"J-99*[68-P4R/X!Q"^5.P"!=X9\CT_Z)"/CLO'D&EYS\K]UW)7 MF]$ZXK>.^#9?<"#?G5A@1OY@<\K.M"-,B:5T&?T5YK'WL&_6*-VQYPZ.\FR,-S[H+2N@\K'6&:&OCGA=YR0Y>5]2E MYW?C12U>=!1O#',00O,)6 &KH LOVMNX'P;>#MU^T&4OZG?#Q2UR=\KTRXZ] M> >T*RP.O%U2=ZL/FSOP&Q8+PB2B,-="[R+1I8KZ7JD'BI>V-<^XTHW>/B[U M50S"!.CU.>=J,S#=OKW&ULK59M;YLP$/XK%JNF56K+6P)K MER UZ:9U4J6H6=8 "CT7E,FQDRM57KFN3',HL+S@)3"]L^2BP$I/Q.[ZS7;@GJUR9!3<9E7@%\/IM"X-<'>\9?]B8]>Q++"$*:>/)%/YV/GHH R6N*+JGM=? M81//T/"EG$K[1'5C&U\Z**VDXL4&K!44A#5O_+S)PPY \W0#@@T@V =$1P#A M!A#:0!ME-JP;K' R$KQ&PEAK-C.PN;%H'0UAYA3G2NA=HG$JF6"*60IH;DMF MRHN2,V!*HG,T$SRK4H4>L1"8J1?TX084)E2>ZLV'^0WZ<'**3A!AZ'O.*XE9 M)D>NTIH,LYMN_$\:_\$1_Q&ZXTSE$GUF&60=^&D_W@]Z"%R=C#8CP38CDZ"7 M\5O%+E#HG:' "\(N0?WP&T@UW+?PH$=.V!Y0:/G"(WS[IW"&;EFJOU<)YCR: MT2GZ><\I1;JP:RRR7UW'T'@9='LQO>)*ECB%L:.;@02Q!B=Y_\Z/O$]=*?A/ M9&\2,F@3,NAC;RL6*Z1R0 M8$<8(6R&^M LE",*[*FG2\$:6UW2W=3(,8V_D MKG=#.S0:A/ZKT1O)PU;RL%?R=9J*"E-I)-;-.1*0B$A9==;\I*$;[HCPO6"X MI_30*!@,_6ZE4:LTZE6JN[:B4-@.\"KV!:44DZ+S\XX.5)Q'@WVI'49^>'E$ M:]QJC?^E$(!E?R^!^+ $XN%^"708[=9)(];=Z;D%B)6]BB1*><54TW[;U?:V MN[9-WGTU;Z[*.RQT#4M$8:FAWD6L$R6:ZZ>9*%[:#K[@2M\'=ICK&QN$,=#[ M2\[5=F(&ULO5Q=BC!Y.!_AT=.!S\%RE14' MQM.SM;\4-R+[NKZ6^;OQ#F411").@R1&4MR=CR[P*:=NT:%L\5<@'M*]UZB8 MRFV2?"_>7"W.1T8Q(A&*>59 ^/F_>S$385@@Y>/XMP(=[3B+CONOG]!Y.?E\ M,K=^*F9)^"U89*OSD3-""W'G;\+L<_+PNZ@F9!5X\R1,R[_H8=MV0D=HODFS M)*HZYR.(@GC[W_]1";'7(<=1=R!5!]+N8/9TH%4'VNI ^AC,JH-Y*(-5=; . M9;"K#G:I_5:L4FG/S_SIF4P>D"Q:YVC%BS)<9>])&> MC;-\- 7F>%XQ7VZ920\S19^2.%NEB,4+L5#T]_3][>?ZKV-GKV/G^NZ>F.?=L:I[0TNZ.R]I MB4=[\'@0!YDX^9@O.PO%"?GWQ[P]NLI$E/ZC.O6VX*8:O%BM3].U/Q?GHWPY M3H6\%Z/IK[]@V_A-%39(, \2C$&"<2"P1KC-7;A-'?KT6_D-(!8G%_="YM]H MZ")*9!;\YY=?/]="!HGJ$K_4H@Z-,R28IY^OBQZ%+U/DH&B[!N6KT<)_5"VC M#')8_+!A39Z&92M&U0BPM0NPI47>7L\H+*_GH+Z>_?)Z/D5+F:0IFOM2/@;Q M$OE1LHDS5<2W-'9)4Z1-]U/7,JAY-K[?#Z5V,$-#>1 E@Z3D"DK;FM24C1C8 MNQC8VAA;:!/Z^756"+R[OE0R;Y&LO0&<8,?%3DMG+>%0G0_C9)"<7,5I MF9BJE9[LE)Z\ZFR/A?+*. M5O&KMLCO^T1V#A)9RS94Y(,H&20E=SH+B$9D=R>RJQ7Y2Y+Y86/I0,D=NM.> M[*H0N!T]B&6UEW"W,P-BT-9:X'4;6=AH"]MM9!I.JQ'7SOR%V0\VZBK,T"KK MB?N\R%_G F9BOHJ3,%D^*DLJ+=\MJ!2D#)>4*T@G%$[M'^+J8Q_IJ?E;^." DDB(L3_%T%:S5/CQDQ3P# M1?- T1@H&H=":P:X]A#PY*A)(V31/@-%\T#1&"@:AT)K1KWV,;#>R'AQT@AI M'\Q T;QGIHRM;7*FC"VH*_*B@30#67LE6&^6P"6%7;O$-KLY(9"!446LZYET M.1DH)U=Q4JS@<(-Z(,],F1C]"2'H0/B+!M(,9.V4 MD)^T!8)TO1.+6.U?,/6C&1RQKHO1Y62@G/PYSF8<:N.$P&V#(*K] :;9T1K4 M$SF,E(&2:G#H0&T84#0&BL8KM&:J MVA^[O5M.7K>-HR=5U:,.#B/LW2:PMYO WF_2W0+28S_3VBRA^H)]EJ19L2=5 MBGL1;X0R7*"^""B:!XK&0-$X%%HSLK5[0JUC9L 4TIF8@:)YH&@,%(U#H36C M7GLU5._50.TXIUUWPVZ;. >T\11M,,4MAT#9J+7)B.LG_E)A:UN&ZFV9&S\4 MZ7NT%'%>683E3T;^(LIU33/I%S=[*U4$W5("BN:!HC%0- Z%UHQU;091YZA+ M)ZAE!(KF@:(Q4#0.A=:,>FT9T9]SLPY5W(AC.NT; 16ML#LA[>53<2N..VGO M=%"THF[[_B"NG_Y0><=[CU"(A%R6#[O("_"B[-[>M;X[NGN@QD7Y&(G6\4M\ M.L.*XQX^9=O'9=3PVZ=W?/+E,HA3%(J[G,KX,,F_..3V@1C;-UFR+A_@<)MD M61*5+U?"7PA9-,@_OTN2[.E-0;![+,GT?U!+ P04 " "7A0%7E$ \N,FU,7/L8#O-]NTYVVTHK"V(E\1G^_?G M;-^EK50/N@0PY+'B0D^#TIAZ$H8Z+Z&BNB=K$+BREJJB!D.U"76M@!8.5/$P MCJ(DK"@309:ZN;G*4MD8S@3,%=%-55'U- ,NVVG0#_83"[8IC9T(L[2F&UB" MN:_G"J.P8RE8!4(S*8B"]32XZD]F8[O?;?C,H-4'8V(S64GY8(./Q32(K"'@ MD!O+0/&WA6O@W!*AC1\[SJ"3M,##\9[]O2?V&%*:?!FX 4L*8- M-PO9WL(NGY'ERR77[DM:OW>$BGFCC:QV8(PK)OR?/N[.X0 0QR< \0X0.]]> MR+F\H89FJ9(M478WLMF!2]6AT1P3]E*61N$J0YS)/DA9M(QS2<**'['A^BG,Q7O349WD&7[,#Q#OZ6[->%Q"]>:TM5\>U8QIYH>)S(5LI$US2':8"E MH$%M(O>@GT=LS-H>=S>$Y]L[F,5\>F3BD+;AMUD^2:)A$492&VR.BHTYT M=%84#P-?L, WIQ2(_(D8187FU->.*(@T)2A"B^_X*+$JC3YFSVN,#NUA>SCE M+>F\)?]](,ESQ22Q9W)*=-R)CO])E+"JIDS9E(_ICY]=R)^ZX4%U5J VK@=I MDLM&&%^HW6S7YJY\=?_:[GOD'54;)C3AL$9HU!MCWLKW'1\86;M:7TF#G<,- M2VS5H.P&7%]+:?:!%>B:?_834$L#!!0 ( )>% 5<52I;"- , +\, 9 M >&PO=V]R:W-H965T M2CN(1,FJ=5JUJE6W#],^F.0 JXF=V09::3]^9R>DT*99F3(^@%_N>>[NB7U< MAFLA[]0"0)/[-.%JY"RTSDY=5T4+2*EJB0PX[LR$3*G&J9R[*I- 8PM*$]?W MO+Z;4L:=8&C7KF0P%$N=, Y7DJAEFE+Y< :)6(^L)_;W#&7*54P$#G+O?@O>.F32\'U0I&//(9X%^]BQ&78_B;L,[^6\/.2MTC'.R*^YWLW:K64W!.%49C6#D8$50(%?@!._>M/O>ARK%FB0+&R+;4;-;JMFM M8P_.A$2$.<$112\R.".,XPII)$I8R7252+=^^(C5)%O:>B]2K%:E?BM1_W>E1!/\EE:8\ MQDF5./UG(3RZSC/^JT58&\L_WI/C,M/C^DPIOR-?9V2<@F01)6,>DPG3;&K6 M?Y/=HE0E0"W]OJ>C2;*P(;(=60>EK(/_4LP'3:K9)%G8$-F.FB>EFB=[U"PR M*]0\(DN^5!"7)?Z(1"+%*H8=*5H!D QDA&-L7:O$SIT.MF]FR_,ZO2<7N#:V M?65LB"R7T=UJ^?#^SFWKK%"$)==Y]U>NEMWYV#:E[J-YWMI?4CEG7)$$9@CU M6L=86V7>+N<3+3+;0$Z%QG;4#A?XA@'2&.#^3 B]F1@'Y3M+\ =02P,$% M @ EX4!5Q+&SF54! /1L !D !X;"]W;W)K&ULM9EK;]LV%(;_"J$50PNTUL6W.+,-)):$9JC1(%FW#\,^,/*Q+90259*R MXW\_4I85*Y,5>SO[8DL4WX?4>4F*E_&6B^]R#:#(<\)2.;'62F77MBVC-214 M=G@&J7ZRY"*A2M^*E2TS 711B!)F>XXSL!,:I]9T7*3=B^F8YXK%*=P+(O,D MH6)W"XQO)Y9K'1(>XM5:F01[.L[H"AY!?^/8SE"_4-[R(,UG\DFV9 MU[%(E$O%DU*L:Y#$Z?Z?/I>!.!)H3K/ *P7>N8)N*>B^%O1."'JEH'=N"?U2 MT#^WA$$I&!2QWP>KB+1/%9V.!=\287)KFKDH["K4.L!Q:EK6HQ+Z::QU:CKC M21(KW524)#1=D!E/59RN((UBD.03>> [RM2.?'UB\8J:QB#)>Q\4C9G\H)]_ M>_3)^W,V9RC&VEJV8*L*.R&K?[:G@GJN&2N2YX+4F0+F#1H)^U MZ[MOZ8-V_:!%;^N05G'U#G&]]5J!O^:L0[KN1^(Y[JCI?=Z2IUKN&+G7;9#[ MY\N]IFC\M]+#?UUZ+9;=JHUV"U[O9!N5BO"E'L@VD.;0U+I: 69TOI89C6!B MZ>%7@MB -?WY)W?@_-)D#2;,QX0%F+ 0"5:SM%=9VBOHW1.6?E5K$.1X\/GS MB\Y"[A0D\J\FAWN8#F/"?$Q8@ D+D6 UA_N5P_W63GOX<,"SG@3)QD[;"KC4 MTCUL5,#,=&HS=3K#L;TY=JHISZ">)_AG'K?3K><)F_)X59Y:N 95N 9GA>MF M)0!,C_A(YE1$:SV&.OVFX+7B+@T>)LS'A 68L! )5C-X6!D\1![QAI@.8\)\ M3%B "0N18#6'KRJ'KUJ[B0*1F/D*/?3E)G?;6:Y#=D!%TTQZUJJ\ MU$I,6( )"Y%@-2M'E96CUO#?I9%>IDLPBQJ]Z(J3/-&KHS2GC(ARH,[HKNC& M3=Z.&KXS7OT;,FNMP*4N8L("3%B(!*NYZ#HOBUNGU<=YZ=V/G K=*]GN+/O: MH9>.O"6MWAI>S2A\U"*#.N&YR43,S(*Y:)9<;;PQ)7B27&Y!KH 83+HYTO.U>'&%%"=F$W_!E!+ P04 " "7A0%7 MWAUJ[@8& "B+ &0 'AL+W=OFXWJ\?]1)) ME&FV3F]#OB1ZX3UWNCL=J3//MI1]YBM"!/J29P4_'ZV$6)^.QSQ>D1SS=W1- M"GGGGK(<"WG*EF.^9@0GE5">C>W)Q!OG."U&B[/JV@U;G-&-R-*"W##$-WF. MV>Z29'1[/K)&3Q<^I,N5*"^,%V=KO"2W1'QT0(S/DP=YB3*YK]E29B=3[R1R@A]WB3B0]T^PMI'FA:\F*: M\>HOVC9C)R,4;[B@>2,L+)7O:V=5G@ZPP(LS1K>(E:,EK3RHPE5)2P>G19E9 MMX+)NZF4$XM;0>//*YHEA/W$4?BP2<4.O475Y;=ER!)T17.9QQQ7F1!^*8\) M>AT0@=.,OY&#/]X&Z/6K-^@52@OTQXIN."X2?C86TKY2RSAN;+FL;;$/V.*@ M:UJ(E32C2$BBD0_-\IY!?BS]TCK'?G+.I6T$_KHIWB%GUH[+DRBU]C M)L6M@^+!MVNW==[X/N.C9VM7?.FTB>94/.=0HJTP([J,NF ,%TLBJY5 =SO4 M'W>#=]7EBRUFR8DJ=D6Y0)]^DUK0>T%R_KC3>JRHXMQ3?0J M8CF//BXLVR\S_K$?/*/>8X.WK]*?^9ZJ,=P?9$^G_EP=%6FLGWFS;I3BQFGK MQJG9C;UW2.?&$Q3C=2IPEOXC1\BBG1:/\CVC;*=SL%'7L2_1=-\KPX^G1-\CO"M%7-B#LV M()"P !(60L(B()@2X%D;X-G+F_IFD$D""0L@82$D+ *"*4GBMTGB&ZO QX*1 MF"Z+JB0K13LNP\U(AH6\(RC:R&+-RV-^J,SC+J^TRW!_KR3.+'=8$Z^,]AX; M=$A8Z.]-(AK[(R"52C3G;33GWQ'-DVHBCLL8-L.J6VO"4IJ@UW)"WA',^!M= M[(QZCWVO(6$!)"PTN]>N'83F**^_^"P?)7BG2_8(R"PE#:Q)]WD],5K:F]GK M^J[_+C9"CHTJ*"T I86@M B*I@:WUSNQ7M[$WM@$E2N0M "4%H+2(BB:FBMV MERNVL1!4\9;E_F&3\E005&I(95&HB[XVT$;@T8&&I 6@M/ KKG.;:N\TU5X; M72"#U.AVS2W+V!;Y7U=OC2G]Y9LU]?>6;V:+CPXX:,.JH7GF1XB@E*I![9I1 MEKD;]=\MXLR*CWZU09M;H+3P*RYVFE?;;Q=R]L&%')1A:C9T/37+W%2K)F=Z M+X/]2(J-MA5I)AP=5DA: $H+06D1%$V-;-=_L[P7N(P#[>*!T@)06@A*BZ!H M:JYTK3S+V 1ZUB\4#5*9L&W?&L[7H$TVC4[?'\RO83-(Z<:[,WLX"VO,GSF> M_B<*J^MW6>:&UP?Y$)C%*X2+!"6RJ&9T7;Y26@]"MH^N0&D!*"T$I450-#7$ M71/,FK_ P@K:(0.E!:"T$)060='4G19=H\PV-\J>4U@;I/+;GNL,"ZM9\;$A MU.BTII8[J*R:4>YL,OSQ5V?_O/<5I+JR:TO9QE;&XA9GA)^@)2D(PUE57W&2 MIT7*!KMLAZ]W M[UYCMDP+CC)R+U5-WLWD?,#J#;'UB:#K:@/G'16"YM7ABN"$L'* O']/J7@Z M*16TVY(7_P)02P,$% @ EX4!5SR5[F+7!P (3X !D !X;"]W;W)K M&ULS5O;: MRR1.^]#I RW!$AN*=$G(=OZ^X,6B2*Q JM[)Y,769?><)78!8H^(TXR&]NTVP3"ODV6XWSNXR'R])I$X^I M83CC31@EH_EI^=G';'Z:;D4<)?QC1O+M9A-FWRYXG#Z?HM5:%!^, MYZ=WX8I_YN++W<=,OAOO4);1AB=YE"8DX[=GHW/S)&!6X5!:_!'QAWSO-2DN MY29-OQ9OKI9G(Z.(B,=\(0J(4/Z[YY<\C@LD&<>_->AHQUDX[K]^0O?+BY<7 M(HWS\B]YJ&V-$5ELPX2!W:@M0/M.E@''%CMP(8Z6+6#-=3!KAWLH=?@U [. M4(9)[3 IDU6-;ID:-Q3A_#1+'TA66$NTXD69W]);9B1*BE+\+#+Y;23]Q/Q\ ML=ANMG$H^))\$&N>D(5>4&BA%ROTVT>)LO\="QD5 7V>%%'<%%%0 ]$P,B[-!'KG'C)DB\! M?U_O[VC\QW(T=D-"GX;D@FH!?]LF;PDS7A-J4 ;$ MNS><'7+WGW?MP?\.OI4*MJM.5N*Q0]7YX?*J*,%XNXR2%?F89N7Z=2Y$%MUL M17@3N3_);(Y>LAS)9_ M0V5:A6+!H12WA)/\+ESPLY&<'CG/[OEH_O-/IF/\ M4()IB+">9A@OF88 $2 M6*O2K%VE63KT^05?14E25,]-&(?)@D,54D$X)41QC[^?FP:U+&=V.K[?3[YJ M-YM-I_:T;>8"9O:,&;1MYD%F;$8G;3-_&&G0B]8:/GLW?+9VHE:WCD7KUA'5 MMXZXO'7<<+EOXG+WLHC#/(]NHT58S.7\!!IH&W,J8H*YF& >)IB/"18@@;5J MR=G5DJ.=BM>I"&.2 A55EU)56*])4JWN(GR$:J@BL?9NH@V$X MCFUUQN,2L@.605>UFTT,P^Q8 U-7K3W>A-M:,G]U5?>;7A MN$KNY>9"MF,"W.UJ<8Y=NS#!7$PP#Q/,QP0+D,!:93+;EL-4;K7D(=R^@LZ9 9LXV.F0N:&=V%WX/, M[%EGW?>'<09]8.W1V],]S.^Y8ZW9D"8C*IJ+BN:AHOFH: $66KNF:%-35#LC M-35UJ)C 6J)*Q3MTVIVQVE".+A&5\LW49MUYCWVJU!DC!WJ5\U& M63*U*J'?3QAH3=IY:7084R_$O-#WGT1@\3S45%\U#1?%2T NM73B-&&1.?YPVWT15E%#17%0T#Q7-1T4+ ML-#:%=?H2J963!C8[,\ I9I2L[O40V8.M;I+/6!&9X9R-X7,#*9T^X-(@UZT M]D_ZC5A"C>_9[E.M-'/LG$1%:9+3X%9!C;ZF8&588!*&67P+I++BJI M#Y":ACWI)@@(S9)[]0-):G08JM=A]/T^514&( >H0@M ">8 56P!2*$< *%I M,K-GDZZ""YE1AQG=]7P0:="+UAZ_1A:A^N=M ML-MZU$=J4-%<5#0/%22J]SH+4XS- J "R!5DIS]4#5F 60$%&>;(>,(.&%P#3#&\CH3"]A-+? ME3/UY,T;VYYTSPY!9NIFSX7,3,/L'O?Q0%9EM^7F*M_/YA7GBF<#GOGD25*>5&_CJ\/2[,%L5RW[, M;R65\78B4YU5YY&K-R*]*X_#WJ1"I)ORY9J'2YX5!O+[VS053V\*@MVI\/E_ M4$L#!!0 ( )>% 5=JFT,\UP( -L( 9 >&PO=V]R:W-H965T7PW##^*-8 DCT5.14C*REE*N!;8MX M"041/;8"JKZDC!=$*I,O;+'B0!(#*G(;.TY@%R2C5C@T#EDI\XS"C"-1 M%@7AO\:0L\W(ZEO;B=MLL91ZP@Z'*[* .Y /JQE7EMVP)%D!5&2,(@[IR+KJ M#Z:^]C<.7S/8B)TQTDKFC#UJXSH968Y."'*(I68@ZK6&">2Y)E)I_*PYK2:D M!NZ.M^R?C':E94X$3%C^+4ODF.H;M*I71O4^N9-"M_C$\2?BEI#[G.>X0=[+;D,WDY'+?)^;_HTW^. MOE<,M]D+KN%S_[H74)2).&>BY("^7\V%Y.I _VA;[XK1:V?4E]Q K$@,(TO= M8@+X&JSPW9M^X'QL*_9KDD6O239]);*]9?&:9?%.L8[U;]F,?[&-GWRDZ=@J" Z+I ML<\Y#@*W\=J3[S?R_9/RIVD*IIMHD8@3"6TZ*X[+G=!.S\$?#I0>>^%>WS_P MBD[GT\$]SWG;;=LE;4EXV#_0;^_,URJ MOP_@VD%]3QF36T,':/YGPM]02P,$% @ EX4!5Q_U[-E\! 3!8 !D M !X;"]W;W)K&ULK5AK<^(V%/TK&G>GDYU9XO<# M"LQL J;;V>QD-DWWL\ "/+$M*LFP_?>59.,8HSC0Z@O8\CWG7NG68ZEA68 M.4P+8SJ6;8]D.L8ER]("/1) RSR'Y)\[E.'#Q+"-8\/W=+-EHL&]X]$OYF-BQ)FJ."IK@ !*TGQF=[M+ E0%K\E:(#;3T#T94EQB_BY4LR,2P1 M$9S_2A&TG1F2 M!*UAF;'O^/ [JCOD"[X5SJC\!8?:UC+ JJ0,YS681Y"G1?4/?]8#T0)P'C7 MJ0%.%^"] 7!K@'LIP*L!WJ4 OP;XE_8AJ '!I1["&A!*L:K1E=+,((/3,<$' M0(0U9Q,/4E^)YHJDA4C%)T;XUY3CV/0;S_8OQ0KG"-Q\Q91^!#M$P-,6$@0& MX [2= 5@D8!9FI4,)6 .29$6&]HRNYDA!M.,0P?@^6D&;CY\!!^ ":CX2D%: M@.G=-+^$=9W +7^@0$UJ>'WL)ZB2;Z22;ZR2+=9(M-)&= MI%O0I%O06Z+5/N.&;P^J/%.6:$7AMQ+=C5S'&@X[=7/?Z^M:]15>PS (?;OC M=:[3:ZSJJ^-[EM>M?F5X5FC[@7H""!M%PEY%'C%#!4MA!A*Q\^/'A:J$!V+? MGP"\$P<)*K>&\ !)0M]3+SP+-(JL=IB5=KU17:O=N<_.A#[7Z2Y6='$8NF'' MYZ(OJA.MHD:KJ%>KX][\'06B\U09.I9M^WY'@UYOUVJ@\*JN'YU>8U5?;=_V M[&[]*,/KJ9]AH\FP?S]ZMC"* Y-41[G\#74N?SK)9CK)YCK)8IUD"TUD)\EB M6Z^G<.O"!3#!608)?4T792W7=&%[$KGUN@MAO]-K$T'AY&=BM*Z&K$OGEEU>[4LYSY5LNCT&2O[&795>2>P2A6S M=7?%C_ ;>2U)^;&A+%AU_&]:FZO/S_+"K]-^9X_FMJ(]%E>E\J[LE;ZZ9WV M9)/R34R&UMP5[P!?!DAU=5F],+R3-V=+S!C.Y>,607Z$$0;\^QKS75+](APT M%\C3?P%02P,$% @ EX4!5R]3@%K @ (0@ !D !X;"]W;W)K&ULK59;;YLP%/XK1TR:6FDM!-*TR@A2;M,ZK5/4[/(P M[<&!0[ *-K--TOW[V8;0I*-9M?4EOG"^[]Q\SDFXY>).9H@*[HNG( M&?>&\[Z1MP)?*6[EWAZ,)RO.[\SA.ADYGC$( 4\]P0:3-^-IQ. MJ]( ]_<[]G?6=^W+BDB<\OP;350V _G,U7#0 MZ[I;^VX#-R.*1*'@6Q!&6K.9C8V^1>MX46;>R5()_95JG(H^Z:=XS6)>()Q\ MY%*>0HD"EAD1"&-U%Y63-5/NKUMY]G8MO%']Y/><-KKN)_I^5>/JP?Z>GC>$+&F M3$*.J5;EG5]J4T4]D.J#XJ7MN"NN=/^VVTS/[@U'0_BN(?@-0 M2P,$% @ EX4!5PGXT5(Q! EA@ !D !X;"]W;W)K&ULM9EM;]LV$,>_"J$50PMTD4A1E)S9!II(PS*L0Y LW8MA+QB; MMH5*HD?2=O?M2SU8MF1:2#+Z32Q1=[_3W9%_F\QXQ\57N6),@6]Y5LB)LU)J M?>VZZ'OW)8R3W-6 MR)070+#%Q/D$KQ-(2H?*XDO*=O+H&I2I/'/^M;RYFT\R69W^E<[6:.)$#YFQ!-YEZX+M? M69-04/)F/)/57["K;4/D@-E&*IXWSOH-\K2H/^FWIA!'#IIC=D"- ^H[X#,. M?N/@OS0";ASP2R,$C4.5NEOG7A4NIHI.QX+O@"BM-:V\J*I?>>MZI44Y41Z5 MT$]3[:>F#VS+B@V3X"<0IY(NEX(M:=5"O@#-0_ ^9HJFF?R@K9X>8_#^W0?P M#J0%^'/%-Y(6 /.0;WN?VY>[(E,[_BYZ\.7JG&'X[+?R*YY_A MG9\+?_^N3<&=8KG\Q]3UFHO-W%+VKN6:SMC$T;HFF=@R9_KC#Y!X/YM*;A,6 MVX0EEF"=YN"V.7B(OE^S8"%X#F9Z%0@MMUHWU*I1#"9,G:FAI(*6WQ_;*2(0 MCT9C=WM<D)Q&G9GX0D0#V).+4#$5!2+!9(J*V M%@!>X* MQ411S4V:F7(=='_M++0)BVW"$DNP3@]&;0]&%Y*(DM%$0SZ6G%J%^'(@WVM.#5#7N@3W-<*0U@21%%X1BL.&R\X MO//Z0N5LDU%SKH.NKYZ+-FFQ55IBB]9MPF'O!X-+R875;:%56FR5EMBB=5MT MV!K"P]\1MX?0L-XW%YZ%Z=ZQ[P]8G]9RJ6 M:2%!QA8ZE'<5Z@:+^A"\OE%\79WR/G.EZUM=KAB=,U$:Z.<+SM7^I@S0_BMB M^AU02P,$% @ EX4!5^!SY::S @ [P< !D !X;"]W;W)K&ULK55A;],P$/TKIS"A31I+FK1=&6VDK@$!8M*T,OB ^. F MU\::8Q?;:0>_'MM)LV[+HB'V);&=>\_WWCGG\5;(&Y4C:K@M&%<3+]=Z?>;[ M*LVQ(.I$K)&;+TLA"Z+-5*Y\M99(,@/'9KES(>BU(SRO%2 M@BJ+@LC?Y\C$=N+UO-W"%5WEVB[X\7A-5CA'?;V^E&;F-RP9+9 K*CA(7$Z\ M:>\L&=AX%_"-XE;MC<$J60AQ8R>?LHD7V(208:HM S&O#?4FM[4/>P##TPX(:T#X7$!4 Z*'@/X3@'X-Z#MG*BG.AX1H M$H^EV(*TT8;-#IR9#FWD4V[+/M?2?*4&I^,KW" O4<$;F%>5![&$F>!:FI+ M5"G4"@C/X LE"\JHIB;X,$%-*%-'!G8]3^#PX @.@'+XFHM2F6@U]K7)SN[A MIW4FYU4FX1.91'!A=LT5O.<99BWX63=^V('WC2N-->'.FO.PD_!SR4\@"HXA M#,*H+9__@R?=\ 13 ^\Y>-BA)FH*'3F^J+O0L)2BN*OOENH<9NZ8H80?TX5R MZS_;RE?Q]]OY;7LZ4VN2XL0S_4>AW* 7OW[5&P;OVKQ[2;+DA-E>SN_S@&CKK-PHIJZ*AL0][$IZ.1.1R;?6N>$Y0\#AJ=[@7=DS)HI PZ MI>R.B,14K#C]@YD9,J(I7X$6D+8H;1,Y>)1:/P@>:'P<\_9A3-*9[+]6U=]K MD>:HK]Q5HXRFDNNJ6S:KS6TV=4W4*V"X--#@Y-0D*JOKI9IH ML78-=R&T^:_<,#/COU!+ P04 " "7A0%784N] MM0L" ^ M[[O[#I_C3NEG4P$@>:F%-,N@0FQN*#59!34SEZH!:4\*I6N&UM0E-8T&EGM0 M+>@T#&>T9EP&2>Q]6YW$JD7!)6PU,6U=,_VZ J&Z93 )]HX'7E;H'#2)&U;" M(^#W9JNM14>6G-<@#5>2:"B6P>WD9AVY>!_PQ*$S!WOBE*1*/3MCDR^#T!4$ M C)T#,PN.UB#$([(EO%KX S&E YXN-^S?_':K9:4&5@K\8/G6"V#14!R*%@K M\$%U7V'0<^7X,B6,_Y*NCYW/ Y*U!E4]@&T%-9?]REZ&/AP )M-CD!^RS _DH\ ER?S_?$1 M_PJ@M>:Q[.M8]]3P?3_#9Z514C42@@7MI$(&LPQ M%:OSV5MS43+6_-QJ57!T^8]UHN>8>0XW3;OD(IHMYF$8QG1W1'LT:H_^J_;S MV?]->_1&^V1Q/0O?:J<'=]>]&]^8+KDT1$!AH>'E_"H@NI_%WD#5^'N9*K3# MX;>5?;Y NP![7BB%>\--R/@@)K\!4$L#!!0 ( )>% 5=NL@"Y)@, $82 M - >&POJ9-(BN=(%-7:J%V%5:D:S"IP*$0YZO3@L*)=D M,I:KXKHP53!7*VE2,FQ-@;M]SE+2C]^3P-%-5<92TN$S2"]Z.*_%,.IXGWJ[_-1RM;ZGF//ELW0](0LC'GE4 M=9*OG!9<;)QY (:Y$DH'QC:$ M#=0'2_7+P7TW@UYI> HNE:YCNPCN[ZQ9?@!L9R"0"]$*'!!GF(Q+:@S3\MI. MZL6U\1$4-..[36D5+C3=] =#TCG4-QMDIG3&=!NF3[:FR5BP'.1HOEC"W:@R M!- 85=A!QNE"25IKV'HT TL[9T+M!O60[M(*:H:-Q$^#? M97/?\U9?K'BZ/)?2:[_JQP*]FIL3L?7+G)X#"+C8Q!Y%#TY>I4B MP^9LW#F ]X[?UAK :TY*OL'KDNB"!K,5%X;+9K;D6<;DHU/8TALZLR_)>_QV M?<9RNA+FK@53THV_LHROBJ1==0.):%9UXR^PO7[_ITF213%,9;1Z=2K8(KE+8[AZV?#M($'%@2^*N-Q0$/K I8[T!\?QSH*;]/%$%5 M,6W8$XPC28(AT(O^'HUC)#LQ?/SUP9Z2*$H2/P*87T$480@\C3B"*0 -&!)% M]3EX% 5>7BKL

-8?2 M0$3;8T.P6BP^0"X99K>]9!:GV]?W=H:^X'N."B*J-V%BI3Q:U6]^%Y?RJ*G0YZJ8V.#Y->NVU43]3: MZEH_JFK2&_9$V+C[?YS7C\Y&:1:E=\9,>J/]CEOEHRY?5"\2Y(UEYKHKK2)RD]E5)^]:[;:KE,S^/\31K=:Z5)-7=G4RL9]'+TR"="&C=Z&GK"R5I/>1[=3/ET/G&!6 M[:\M A2*E+_0L,//JA:/$\56R@95"=@*SN@*."KQ01II2R409$9 9B>$_)XA MR)R S$\"N4@X<"B"+ C(XH20G4B."<@Q.^3+^,4@W I*KD209P3DV2DCF2/( M*R+%UCHT:0;PG(M[R0,[M3(>Z?PQ3(*ZF]N)6F48G["G?F0ZHW'_)B'OKM M5H+P9-9;9Q,SYB-MPZR;&9C>KM-)Q64(J@M&&6;$K)C/SE7WVAC,0\EDQ&R3 MJ5I&S$(Y8\0NC;K6Z-F'#B]"ZJ1LJ57G!E+.&#%+(YGA;N-,I?Q?07SZKX', M$[-1JA@QNP*ZLJ9N3"N(Z[A1OGTSO=J 0"!#Q9B4+$;,MIC9TM5*W,@?W=M* MN6'$+(>OT.X3UZLO+H378@OA6VRD[X2-,L.(60W?U$[9IA.RC') QNR N7P0 MNR#FRK>')QU,=2B-"TTG:!DE@HQ=!$'#JRINO*R@+Q&7WH,8]HD>9B1'':/ WC,";ED8S9(R\R%-&IP9B44C)F MI1SR%?'J1L*9PVL,1DDD8Y;(,0\?A:2LDC%;A11R]Y6AS)(QFX607PHIGO>@ MA),S"^<@0/%KX\C]SBG;Y,RVH7MR/%C/*>'DS,*A>_(.)CG1=5+A%!B3$D[. M+!P:'D[,*A,,\P)B6IFS]7'6AC$I"Q7,%GK.V:8J2FTZ M?BPH\13,XDFS3<>I*,\4["LJQ+R3Z&-,X;.>7%R45">*=@]\SP))3J%]OG$F)1G"F;/4*EY7WS F)1GBM--GR758$S* M,\4?FD(#IJD.[N<11>J6O"PC]LR8\LR8 MV3/_VA+.O$Y?5L"[/HNJ3L308#\;9NU(\1'KBL.7(>]_ E!+ P04 " "7 MA0%7BC%V7\\! S'P &@ 'AL+U]R96QS+W=O$C(3*G>?447]@M==%/F6X5) MR)\7 @]A,GN/^R9OVV/:;+LT.AWVQS2O-CEWSR&DY28>FC1NNWB\7%FU_:') MEV6_#EVSW#7K&'0RF8;^YXSJ9?9SYFAQ[N)?)K:KU7897]OEYR$>\R^#PU?; M[](FQER-%DV_CGE>A=/^?CJ%ZT'&E\G5Z.UC7O5O'U*%TD$*05H^R"#(R@BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z&^IM M!'H;ZFT$>AOJ;01ZVV"SA$!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.] MC4!O1[V=0&]'O9U ;T>]G4!O1[V=0&\?;'83Z.VHMQ/H[:BW$^CMJ+<3Z.VH MMQ/H[:BW$^A=H]XU@=XUZET3Z%VCWO5_ZIWR>1_3O>>VQN?_)]7YUW7VSI;#)^VUGRO6U5UGZ2+$.P#XSY;$F5 M]JFQ5,>1N7&5#O'1+9C5V4HOB(G!8,0R4P>J0S\T-9+I^(GF>EV&WO,VOO:% MJ2>)H](GOVN:>5+NIC/FM_A4\_ 5!+ 0(4 Q0 ( )>% 5<'04UB@0 M +$ 0 " 0 !D;V-0&UL4$L! A0# M% @ EX4!5VB[^R/N *P( !$ ( !KP &1O8U!R M;W!S+V-O&UL4$L! A0#% @ EX4!5YE&PO=V]R:W-H965T M&UL4$L! A0#% @ EX4!5P!X\ 5D!@ .AL !@ M ("! X 'AL+W=O% 5?9ZEY92@( "D% 8 " @9H4 !X;"]W;W)K M&PO=V]R:W-H965T&UL4$L! M A0#% @ EX4!5S:J.6_- P T T !@ ("!-QT 'AL M+W=O% 5>GQBKWM L M ))P 8 " @3HA !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ EX4!5ZE3 MO]I' P 60< !@ ("!FS4 'AL+W=O% 5>S!=QLQ < -H5 8 M " @1@Y !X;"]W;W)K&PO=V]R:W-H965T M% 5&UL4$L! A0# M% @ EX4!5[@IVNIW! ^ H !D ("!Q% 'AL+W=O M&PO=V]R:W-H965T% 5<9=?>6T 0 ($+ 9 " @:U8 M !X;"]W;W)K&UL4$L! A0#% @ EX4!5Z;2 M7100!P )!( !D ("!M%T 'AL+W=O&PO=V]R:W-H965T% 5<)0,!:#04 $&UL4$L! A0#% @ EX4!5P+%U!%@" CQ@ !D M ("!.7 'AL+W=O >&PO M=V]R:W-H965T% 5?[$W\GP@H M #0= 9 " @9!] !X;"]W;W)K&UL4$L! A0#% @ EX4!5T0K<\NW @ @0D !D ("! MB8@ 'AL+W=O&PO=V]R:W-H965T% 5?53EZGP0D ! = 9 M " @5"4 !X;"]W;W)K&UL4$L! A0#% M @ EX4!5X'[J97N!@ )!< !D ("!2)X 'AL+W=O&PO=V]R:W-H965T% M 5?;R]O;)P0 -0+ 9 " @9*T !X;"]W;W)K&UL4$L! A0#% @ EX4!5_GA(-%P P W@< !D M ("!\+@ 'AL+W=O&PO=V]R M:W-H965T% 5?CJWS76@( &T% M 9 " @8? !X;"]W;W)K&UL M4$L! A0#% @ EX4!5S$F!)9W!@ G2@ !D ("!&,, M 'AL+W=O&PO=V]R:W-H965T% 5?6=_SA"0< ,4O 9 M " @:S, !X;"]W;W)K&UL4$L! A0#% @ MEX4!5WD"/>3M @ [@D !D ("![-, 'AL+W=O&UL4$L! A0#% @ EX4!5[Q? U3O @ MZ < !D ("!7N, 'AL+W=OT" /" &0 @(&$ MY@ >&PO=V]R:W-H965T% 5=( MG7]:P < *)$ 9 " @:CI !X;"]W;W)K&UL4$L! A0#% @ EX4!5Y7)WP=E @ " 8 !D M ("!G_$ 'AL+W=O&PO=V]R:W-H M965T% 5<2QLYE5 0 #T; 9 M " @:;W !X;"]W;W)K&UL4$L! M A0#% @ EX4!5]X=:NX&!@ HBP !D ("!,?P 'AL M+W=O&PO=V]R:W-H965T% 5=JFT,\UP( -L( 9 " M@7P* 0!X;"]W;W)K&UL4$L! A0#% @ EX4! M5Q_U[-E\! 3!8 !D ("!B@T! 'AL+W=O&PO=V]R:W-H965T% 5<)^-%2,00 )88 9 " @305 0!X;"]W;W)K M&UL4$L! A0#% @ EX4!5^!SY::S @ [P< M !D ("!G!D! 'AL+W=O&PO=V]R:W-H965T% 5=NL@"Y M)@, $82 - " <@> 0!X;"]S='EL97,N>&UL4$L! A0# M% @ EX4!5Y>*NQS $P( L ( !&2(! %]R96QS M+RYR96QS4$L! A0#% @ EX4!5T.Q?AUP! G2( \ M ( ! B,! 'AL+W=O% 5>*,79?SP$ M #,? : " 9\G 0!X;"]?% 57!E&UL4$L%!@ \ #P 6Q )XK 0 ! $! end XML 64 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 65 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 66 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 209 226 1 false 42 0 false 6 false false R1.htm 0000001 - Document - Cover Sheet http://www.penumbrainc.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 0000005 - Statement - Condensed Consolidated Statements of Comprehensive (Loss) Income Sheet http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome Condensed Consolidated Statements of Comprehensive (Loss) Income Statements 5 false false R6.htm 0000006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit) Sheet http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit Consolidated Statements of Stockholders' Equity (Deficit) Statements 6 false false R7.htm 0000007 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 7 false false R8.htm 0000008 - Disclosure - Organization and Description of Business Sheet http://www.penumbrainc.com/role/OrganizationandDescriptionofBusiness Organization and Description of Business Notes 8 false false R9.htm 0000009 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 0000010 - Disclosure - Investments and Fair Value of Financial Instruments Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments Investments and Fair Value of Financial Instruments Notes 10 false false R11.htm 0000011 - Disclosure - Balance Sheet Components Sheet http://www.penumbrainc.com/role/BalanceSheetComponents Balance Sheet Components Notes 11 false false R12.htm 0000012 - Disclosure - Intangible Assets Sheet http://www.penumbrainc.com/role/IntangibleAssets Intangible Assets Notes 12 false false R13.htm 0000013 - Disclosure - Goodwill Sheet http://www.penumbrainc.com/role/Goodwill Goodwill Notes 13 false false R14.htm 0000014 - Disclosure - Debt Sheet http://www.penumbrainc.com/role/Debt Debt Notes 14 false false R15.htm 0000015 - Disclosure - Commitments and Contingencies Sheet http://www.penumbrainc.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 15 false false R16.htm 0000016 - Disclosure - Stockholder's Equity Sheet http://www.penumbrainc.com/role/StockholdersEquity Stockholder's Equity Notes 16 false false R17.htm 0000017 - Disclosure - Accumulated Other Comprehensive Income (Loss) Sheet http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLoss Accumulated Other Comprehensive Income (Loss) Notes 17 false false R18.htm 0000018 - Disclosure - Income Taxes Sheet http://www.penumbrainc.com/role/IncomeTaxes Income Taxes Notes 18 false false R19.htm 0000019 - Disclosure - Net Income (Loss) per Share Sheet http://www.penumbrainc.com/role/NetIncomeLossperShare Net Income (Loss) per Share Notes 19 false false R20.htm 0000020 - Disclosure - Revenues Sheet http://www.penumbrainc.com/role/Revenues Revenues Notes 20 false false R21.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 21 false false R22.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 22 false false R23.htm 9954701 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies 23 false false R24.htm 9954702 - Disclosure - Investments and Fair Value of Financial Instruments (Tables) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables Investments and Fair Value of Financial Instruments (Tables) Tables http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments 24 false false R25.htm 9954703 - Disclosure - Balance Sheet Components Balance Sheet Components (Tables) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables Balance Sheet Components Balance Sheet Components (Tables) Tables 25 false false R26.htm 9954704 - Disclosure - Intangible Assets Intangible Assets (Tables) Sheet http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables Intangible Assets Intangible Assets (Tables) Tables 26 false false R27.htm 9954705 - Disclosure - Goodwill (Tables) Sheet http://www.penumbrainc.com/role/GoodwillTables Goodwill (Tables) Tables http://www.penumbrainc.com/role/Goodwill 27 false false R28.htm 9954706 - Disclosure - Stockholder's Equity (Tables) Sheet http://www.penumbrainc.com/role/StockholdersEquityTables Stockholder's Equity (Tables) Tables http://www.penumbrainc.com/role/StockholdersEquity 28 false false R29.htm 9954707 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables) Sheet http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossTables Accumulated Other Comprehensive Income (Loss) (Tables) Tables http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLoss 29 false false R30.htm 9954708 - Disclosure - Net Income (Loss) per Share (Tables) Sheet http://www.penumbrainc.com/role/NetIncomeLossperShareTables Net Income (Loss) per Share (Tables) Tables http://www.penumbrainc.com/role/NetIncomeLossperShare 30 false false R31.htm 9954709 - Disclosure - Revenues Revenues (Tables) Sheet http://www.penumbrainc.com/role/RevenuesRevenuesTables Revenues Revenues (Tables) Tables 31 false false R32.htm 9954710 - Disclosure - Summary of Significant Accounting Policies - Additional Disclosures (Details) Sheet http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails Summary of Significant Accounting Policies - Additional Disclosures (Details) Details 32 false false R33.htm 9954711 - Disclosure - Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details) Details 33 false false R34.htm 9954712 - Disclosure - Investments and Fair Value of Financial Instruments - Narrative (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails Investments and Fair Value of Financial Instruments - Narrative (Details) Details http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables 34 false false R35.htm 9954713 - Disclosure - Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details) Details 35 false false R36.htm 9954714 - Disclosure - Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details) Details 36 false false R37.htm 9954715 - Disclosure - Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) Sheet http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details) Details 37 false false R38.htm 9954716 - Disclosure - Balance Sheet Components - Inventories (Details) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails Balance Sheet Components - Inventories (Details) Details 38 false false R39.htm 9954717 - Disclosure - Balance Sheet Components - Accrued Liabilities (Details) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails Balance Sheet Components - Accrued Liabilities (Details) Details 39 false false R40.htm 9954718 - Disclosure - Balance Sheet Components - Product Warranty (Details) Sheet http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails Balance Sheet Components - Product Warranty (Details) Details 40 false false R41.htm 9954719 - Disclosure - Intangible Assets - Intangible Assets (Details) Sheet http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails Intangible Assets - Intangible Assets (Details) Details 41 false false R42.htm 9954720 - Disclosure - Goodwill (Details) Sheet http://www.penumbrainc.com/role/GoodwillDetails Goodwill (Details) Details http://www.penumbrainc.com/role/GoodwillTables 42 false false R43.htm 9954721 - Disclosure - Debt (Details) Sheet http://www.penumbrainc.com/role/DebtDetails Debt (Details) Details http://www.penumbrainc.com/role/Debt 43 false false R44.htm 9954722 - Disclosure - Commitments and Contingencies - Royalty Obligations (Details) Sheet http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails Commitments and Contingencies - Royalty Obligations (Details) Details 44 false false R45.htm 9954723 - Disclosure - Stockholder's Equity - Stock-based Compensation Expense (Details) Sheet http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails Stockholder's Equity - Stock-based Compensation Expense (Details) Details 45 false false R46.htm 9954724 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Details) Sheet http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails Accumulated Other Comprehensive Income (Loss) (Details) Details http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossTables 46 false false R47.htm 9954725 - Disclosure - Income Taxes Income Taxes (Details) Sheet http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails Income Taxes Income Taxes (Details) Details 47 false false R48.htm 9954726 - Disclosure - Net Income (Loss) per Share - Basic and Diluted Earnings per Share (Details) Sheet http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails Net Income (Loss) per Share - Basic and Diluted Earnings per Share (Details) Details http://www.penumbrainc.com/role/NetIncomeLossperShareTables 48 false false R49.htm 9954727 - Disclosure - Net Income (Loss) per Share - Antidilutive Securities (Details) Sheet http://www.penumbrainc.com/role/NetIncomeLossperShareAntidilutiveSecuritiesDetails Net Income (Loss) per Share - Antidilutive Securities (Details) Details http://www.penumbrainc.com/role/NetIncomeLossperShareTables 49 false false R50.htm 9954728 - Disclosure - Revenues - Disaggregation of Revenue (Details) Sheet http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails Revenues - Disaggregation of Revenue (Details) Details 50 false false R51.htm 9954729 - Disclosure - Revenues - Summary of Contract Assets and Liabilities (Details) Sheet http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails Revenues - Summary of Contract Assets and Liabilities (Details) Details 51 false false R9999.htm Uncategorized Items - pen-20230630.htm Sheet http://xbrl.sec.gov/role/uncategorizedFacts Uncategorized Items - pen-20230630.htm Cover 52 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 7 fact(s) appearing in ix:hidden were eligible for transformation: ecd:TrdArrDuration - pen-20230630.htm 4 pen-20230630.htm pen-20230630.xsd pen-20230630_cal.xml pen-20230630_def.xml pen-20230630_lab.xml pen-20230630_pre.xml pen-63023xexhibit311.htm pen-63023xexhibit312.htm pen-63023xexhibit321.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 69 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "pen-20230630.htm": { "axisCustom": 0, "axisStandard": 15, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 777, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 40 }, "contextCount": 209, "dts": { "calculationLink": { "local": [ "pen-20230630_cal.xml" ] }, "definitionLink": { "local": [ "pen-20230630_def.xml" ] }, "inline": { "local": [ "pen-20230630.htm" ] }, "labelLink": { "local": [ "pen-20230630_lab.xml" ] }, "presentationLink": { "local": [ "pen-20230630_pre.xml" ] }, "schema": { "local": [ "pen-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] } }, "elementCount": 438, "entityCount": 1, "hidden": { "http://xbrl.sec.gov/dei/2023": 5, "http://xbrl.sec.gov/ecd/2023": 7, "total": 12 }, "keyCustom": 10, "keyStandard": 216, "memberCustom": 15, "memberStandard": 27, "nsprefix": "pen", "nsuri": "http://www.penumbrainc.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "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", "menuCat": "Cover", "order": "1", "role": "http://www.penumbrainc.com/role/Cover", "shortName": "Cover", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Investments and Fair Value of Financial Instruments", "menuCat": "Notes", "order": "10", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments", "shortName": "Investments and Fair Value of Financial Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Balance Sheet Components", "menuCat": "Notes", "order": "11", "role": "http://www.penumbrainc.com/role/BalanceSheetComponents", "shortName": "Balance Sheet Components", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Intangible Assets", "menuCat": "Notes", "order": "12", "role": "http://www.penumbrainc.com/role/IntangibleAssets", "shortName": "Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Goodwill", "menuCat": "Notes", "order": "13", "role": "http://www.penumbrainc.com/role/Goodwill", "shortName": "Goodwill", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Debt", "menuCat": "Notes", "order": "14", "role": "http://www.penumbrainc.com/role/Debt", "shortName": "Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "15", "role": "http://www.penumbrainc.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Stockholder's Equity", "menuCat": "Notes", "order": "16", "role": "http://www.penumbrainc.com/role/StockholdersEquity", "shortName": "Stockholder's Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Accumulated Other Comprehensive Income (Loss)", "menuCat": "Notes", "order": "17", "role": "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLoss", "shortName": "Accumulated Other Comprehensive Income (Loss)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "18", "role": "http://www.penumbrainc.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Net Income (Loss) per Share", "menuCat": "Notes", "order": "19", "role": "http://www.penumbrainc.com/role/NetIncomeLossperShare", "shortName": "Net Income (Loss) per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets", "menuCat": "Statements", "order": "2", "role": "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "shortName": "Condensed Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Revenues", "menuCat": "Notes", "order": "20", "role": "http://www.penumbrainc.com/role/Revenues", "shortName": "Revenues", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "menuCat": "Notes", "order": "21", "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "shortName": "Pay vs Performance Disclosure", "subGroupType": "", "uniqueAnchor": null }, "R22": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995445 - Disclosure - Insider Trading Arrangements", "menuCat": "Notes", "order": "22", "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "shortName": "Insider Trading Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954701 - Disclosure - Summary of Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "23", "role": "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954702 - Disclosure - Investments and Fair Value of Financial Instruments (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables", "shortName": "Investments and Fair Value of Financial Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954703 - Disclosure - Balance Sheet Components Balance Sheet Components (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables", "shortName": "Balance Sheet Components Balance Sheet Components (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954704 - Disclosure - Intangible Assets Intangible Assets (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables", "shortName": "Intangible Assets Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "div", "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954705 - Disclosure - Goodwill (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.penumbrainc.com/role/GoodwillTables", "shortName": "Goodwill (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954706 - Disclosure - Stockholder's Equity (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.penumbrainc.com/role/StockholdersEquityTables", "shortName": "Stockholder's Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954707 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossTables", "shortName": "Accumulated Other Comprehensive Income (Loss) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954708 - Disclosure - Net Income (Loss) per Share (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.penumbrainc.com/role/NetIncomeLossperShareTables", "shortName": "Net Income (Loss) per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954709 - Disclosure - Revenues Revenues (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.penumbrainc.com/role/RevenuesRevenuesTables", "shortName": "Revenues Revenues (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "span", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "pen:NumberofBusinessActivities", "reportCount": 1, "unique": true, "unitRef": "activity", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954710 - Disclosure - Summary of Significant Accounting Policies - Additional Disclosures (Details)", "menuCat": "Details", "order": "32", "role": "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails", "shortName": "Summary of Significant Accounting Policies - Additional Disclosures (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "span", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": "INF", "first": true, "lang": "en-US", "name": "pen:NumberofBusinessActivities", "reportCount": 1, "unique": true, "unitRef": "activity", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954711 - Disclosure - Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details)", "menuCat": "Details", "order": "33", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "shortName": "Investments and Fair Value of Financial Instruments - Gains and Losses of Marketable Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954712 - Disclosure - Investments and Fair Value of Financial Instruments - Narrative (Details)", "menuCat": "Details", "order": "34", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails", "shortName": "Investments and Fair Value of Financial Instruments - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "0", "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954713 - Disclosure - Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details)", "menuCat": "Details", "order": "35", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails", "shortName": "Investments and Fair Value of Financial Instruments - Marketable Securities in an Unrealized Loss Position (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954714 - Disclosure - Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details)", "menuCat": "Details", "order": "36", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails", "shortName": "Investments and Fair Value of Financial Instruments - Contractual Maturities of Marketable Investments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-95", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954715 - Disclosure - Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details)", "menuCat": "Details", "order": "37", "role": "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "shortName": "Investments and Fair Value of Financial Instruments - Financial Assets and Liabilities Measured at Fair Value (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-95", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954716 - Disclosure - Balance Sheet Components - Inventories (Details)", "menuCat": "Details", "order": "38", "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails", "shortName": "Balance Sheet Components - Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954717 - Disclosure - Balance Sheet Components - Accrued Liabilities (Details)", "menuCat": "Details", "order": "39", "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails", "shortName": "Balance Sheet Components - Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations", "menuCat": "Statements", "order": "4", "role": "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "shortName": "Condensed Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954718 - Disclosure - Balance Sheet Components - Product Warranty (Details)", "menuCat": "Details", "order": "40", "role": "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails", "shortName": "Balance Sheet Components - Product Warranty (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-34", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954719 - Disclosure - Intangible Assets - Intangible Assets (Details)", "menuCat": "Details", "order": "41", "role": "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "shortName": "Intangible Assets - Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954720 - Disclosure - Goodwill (Details)", "menuCat": "Details", "order": "42", "role": "http://www.penumbrainc.com/role/GoodwillDetails", "shortName": "Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "us-gaap:GoodwillDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": "-3", "lang": "en-US", "name": "us-gaap:GoodwillOtherIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-143", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954721 - Disclosure - Debt (Details)", "menuCat": "Details", "order": "43", "role": "http://www.penumbrainc.com/role/DebtDetails", "shortName": "Debt (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-143", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-135", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RoyaltyExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954722 - Disclosure - Commitments and Contingencies - Royalty Obligations (Details)", "menuCat": "Details", "order": "44", "role": "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "shortName": "Commitments and Contingencies - Royalty Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-135", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RoyaltyExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954723 - Disclosure - Stockholder's Equity - Stock-based Compensation Expense (Details)", "menuCat": "Details", "order": "45", "role": "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "shortName": "Stockholder's Equity - Stock-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-21", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954724 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Details)", "menuCat": "Details", "order": "46", "role": "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails", "shortName": "Accumulated Other Comprehensive Income (Loss) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "div", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-162", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954725 - Disclosure - Income Taxes Income Taxes (Details)", "menuCat": "Details", "order": "47", "role": "http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails", "shortName": "Income Taxes Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "3", "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954726 - Disclosure - Net Income (Loss) per Share - Basic and Diluted Earnings per Share (Details)", "menuCat": "Details", "order": "48", "role": "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails", "shortName": "Net Income (Loss) per Share - Basic and Diluted Earnings per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "0", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954727 - Disclosure - Net Income (Loss) per Share - Antidilutive Securities (Details)", "menuCat": "Details", "order": "49", "role": "http://www.penumbrainc.com/role/NetIncomeLossperShareAntidilutiveSecuritiesDetails", "shortName": "Net Income (Loss) per Share - Antidilutive Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - Condensed Consolidated Statements of Comprehensive (Loss) Income", "menuCat": "Statements", "order": "5", "role": "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome", "shortName": "Condensed Consolidated Statements of Comprehensive (Loss) Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954728 - Disclosure - Revenues - Disaggregation of Revenue (Details)", "menuCat": "Details", "order": "50", "role": "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails", "shortName": "Revenues - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954729 - Disclosure - Revenues - Summary of Contract Assets and Liabilities (Details)", "menuCat": "Details", "order": "51", "role": "http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails", "shortName": "Revenues - Summary of Contract Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-4", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-30", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - Consolidated Statements of Stockholders' Equity (Deficit)", "menuCat": "Statements", "order": "6", "role": "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit", "shortName": "Consolidated Statements of Stockholders' Equity (Deficit)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-35", "decimals": "0", "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000007 - Statement - Condensed Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "7", "role": "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows", "shortName": "Condensed Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000008 - Disclosure - Organization and Description of Business", "menuCat": "Notes", "order": "8", "role": "http://www.penumbrainc.com/role/OrganizationandDescriptionofBusiness", "shortName": "Organization and Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "9", "role": "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9999": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-6", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "", "isDefault": "false", "longName": "Uncategorized Items - pen-20230630.htm", "menuCat": "Cover", "order": "52", "role": "http://xbrl.sec.gov/role/uncategorizedFacts", "shortName": "Uncategorized Items - pen-20230630.htm", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "pen-20230630.htm", "contextRef": "c-6", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } } }, "segmentCount": 42, "tag": { "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r625" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r658" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "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 Description" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r697" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r623" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r622" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r624" ], "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.penumbrainc.com/role/Cover" ], "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.penumbrainc.com/role/Cover" ], "xbrltype": "tradingSymbolItemType" }, "ecd_Additional402vDisclosureTextBlock": { "auth_ref": [ "r659" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "localname": "Additional402vDisclosureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToCompAmt": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "localname": "AdjToCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AdjToCompAxis": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "localname": "AdjToCompAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "localname": "AdjToNonPeoNeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToPeoCompFnTextBlock": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "localname": "AdjToPeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AggtErrCompAmt": { "auth_ref": [ "r630", "r641", "r651", "r676" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "localname": "AggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "auth_ref": [ "r633", "r644", "r654", "r679" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "localname": "AggtErrCompNotYetDeterminedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AllAdjToCompMember": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "localname": "AllAdjToCompMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllExecutiveCategoriesMember": { "auth_ref": [ "r672" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "localname": "AllExecutiveCategoriesMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllIndividualsMember": { "auth_ref": [ "r637", "r645", "r655", "r672", "r680", "r684", "r692" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "localname": "AllIndividualsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllTradingArrangementsMember": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "localname": "AllTradingArrangementsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "ecd_AwardExrcPrice": { "auth_ref": [ "r687" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "localname": "AwardExrcPrice", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "perShareItemType" }, "ecd_AwardGrantDateFairValue": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "localname": "AwardGrantDateFairValue", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AwardTmgDiscLineItems": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "localname": "AwardTmgDiscLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMethodTextBlock": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "localname": "AwardTmgMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMnpiCnsdrdFlag": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "localname": "AwardTmgMnpiCnsdrdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardTmgMnpiDiscTextBlock": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "localname": "AwardTmgMnpiDiscTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgPredtrmndFlag": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "localname": "AwardTmgPredtrmndFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardUndrlygSecuritiesAmt": { "auth_ref": [ "r686" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "localname": "AwardUndrlygSecuritiesAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_AwardsCloseToMnpiDiscIndName": { "auth_ref": [ "r685" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "localname": "AwardsCloseToMnpiDiscIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTable": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "localname": "AwardsCloseToMnpiDiscTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "localname": "AwardsCloseToMnpiDiscTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ChangedPeerGroupFnTextBlock": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "localname": "ChangedPeerGroupFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CoSelectedMeasureAmt": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "localname": "CoSelectedMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_CoSelectedMeasureName": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "localname": "CoSelectedMeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "auth_ref": [ "r669" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "auth_ref": [ "r668" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "localname": "CompActuallyPaidVsNetIncomeTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "auth_ref": [ "r670" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "auth_ref": [ "r667" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "auth_ref": [ "r666" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompAnalysisTextBlock": { "auth_ref": [ "r630", "r641", "r651", "r676" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "localname": "ErrCompAnalysisTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompRecoveryTable": { "auth_ref": [ "r627", "r638", "r648", "r673" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "localname": "ErrCompRecoveryTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ExecutiveCategoryAxis": { "auth_ref": [ "r672" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "localname": "ExecutiveCategoryAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "auth_ref": [ "r634", "r645", "r655", "r680" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "auth_ref": [ "r634", "r645", "r655", "r680" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "auth_ref": [ "r634", "r645", "r655", "r680" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "auth_ref": [ "r634", "r645", "r655", "r680" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ForgoneRecoveryIndName": { "auth_ref": [ "r634", "r645", "r655", "r680" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "ForgoneRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_IndividualAxis": { "auth_ref": [ "r637", "r645", "r655", "r672", "r680", "r684", "r692" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "localname": "IndividualAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_InsiderTradingArrLineItems": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "localname": "InsiderTradingArrLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTradingPoliciesProcLineItems": { "auth_ref": [ "r626", "r696" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "localname": "InsiderTradingPoliciesProcLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "auth_ref": [ "r626", "r696" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "localname": "InsiderTrdPoliciesProcAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "booleanItemType" }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "auth_ref": [ "r626", "r696" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "textBlockItemType" }, "ecd_MeasureAxis": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "localname": "MeasureAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_MeasureName": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "localname": "MeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_MnpiDiscTimedForCompValFlag": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "localname": "MnpiDiscTimedForCompValFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_MtrlTermsOfTrdArrTextBlock": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "localname": "MtrlTermsOfTrdArrTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "textBlockItemType" }, "ecd_NamedExecutiveOfficersFnTextBlock": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "localname": "NamedExecutiveOfficersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonGaapMeasureDescriptionTextBlock": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "localname": "NonGaapMeasureDescriptionTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonNeosMember": { "auth_ref": [ "r634", "r645", "r655", "r672", "r680" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "localname": "NonNeosMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "auth_ref": [ "r662" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoAvgTotalCompAmt": { "auth_ref": [ "r661" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "localname": "NonPeoNeoAvgTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoMember": { "auth_ref": [ "r672" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "localname": "NonPeoNeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonRule10b51ArrAdoptedFlag": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "localname": "NonRule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_NonRule10b51ArrTrmntdFlag": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "localname": "NonRule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_OtherPerfMeasureAmt": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "localname": "OtherPerfMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_OutstandingAggtErrCompAmt": { "auth_ref": [ "r632", "r643", "r653", "r678" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "localname": "OutstandingAggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryCompAmt": { "auth_ref": [ "r635", "r646", "r656", "r681" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "localname": "OutstandingRecoveryCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryIndName": { "auth_ref": [ "r635", "r646", "r656", "r681" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "OutstandingRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PayVsPerformanceDisclosureLineItems": { "auth_ref": [ "r660" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "localname": "PayVsPerformanceDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_PeerGroupIssuersFnTextBlock": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "localname": "PeerGroupIssuersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_PeerGroupTotalShareholderRtnAmt": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "localname": "PeerGroupTotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoActuallyPaidCompAmt": { "auth_ref": [ "r662" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "localname": "PeoActuallyPaidCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoMember": { "auth_ref": [ "r672" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "localname": "PeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_PeoName": { "auth_ref": [ "r665" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "localname": "PeoName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_PeoTotalCompAmt": { "auth_ref": [ "r661" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "localname": "PeoTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PvpTable": { "auth_ref": [ "r660" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PvpTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PvpTableTextBlock": { "auth_ref": [ "r660" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "localname": "PvpTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "auth_ref": [ "r627", "r638", "r648", "r673" ], "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "localname": "RecoveryOfErrCompDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_RestatementDateAxis": { "auth_ref": [ "r628", "r639", "r649", "r674" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "localname": "RestatementDateAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_RestatementDeterminationDate": { "auth_ref": [ "r629", "r640", "r650", "r675" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "localname": "RestatementDeterminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "dateItemType" }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "auth_ref": [ "r636", "r647", "r657", "r682" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "localname": "RestatementDoesNotRequireRecoveryTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_Rule10b51ArrAdoptedFlag": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "localname": "Rule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_Rule10b51ArrTrmntdFlag": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "localname": "Rule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "auth_ref": [ "r631", "r642", "r652", "r677" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "localname": "StkPrcOrTsrEstimationMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TabularListTableTextBlock": { "auth_ref": [ "r671" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "localname": "TabularListTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TotalShareholderRtnAmt": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "localname": "TotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "auth_ref": [ "r670" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TradingArrAxis": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "localname": "TradingArrAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TradingArrByIndTable": { "auth_ref": [ "r692" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "localname": "TradingArrByIndTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrAdoptionDate": { "auth_ref": [ "r693" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "localname": "TrdArrAdoptionDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrDuration": { "auth_ref": [ "r694" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "localname": "TrdArrDuration", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "durationItemType" }, "ecd_TrdArrIndName": { "auth_ref": [ "r692" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "localname": "TrdArrIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrIndTitle": { "auth_ref": [ "r692" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "localname": "TrdArrIndTitle", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrSecuritiesAggAvailAmt": { "auth_ref": [ "r695" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "localname": "TrdArrSecuritiesAggAvailAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "sharesItemType" }, "ecd_TrdArrTerminationDate": { "auth_ref": [ "r693" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "localname": "TrdArrTerminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_UndrlygSecurityMktPriceChngPct": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "localname": "UndrlygSecurityMktPriceChngPct", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "pureItemType" }, "pen_AraniBoseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arani Bose", "label": "Arani Bose [Member]" } } }, "localname": "AraniBoseMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_BankOfAmericaAndCitibankMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Bank Of America And Citibank", "label": "Bank Of America And Citibank [Member]", "terseLabel": "Bank Of America And Citibank" } } }, "localname": "BankOfAmericaAndCitibankMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "pen_BridgetORourkeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Bridget O'Rourke", "label": "Bridget O'Rourke [Member]" } } }, "localname": "BridgetORourkeMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_DonKassingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Don Kassing", "label": "Don Kassing [Member]" } } }, "localname": "DonKassingMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_HarpreetGrewalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Harpreet Grewal", "label": "Harpreet Grewal [Member]" } } }, "localname": "HarpreetGrewalMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_IncreaseDecreaseInLeaseIncentives": { "auth_ref": [], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase (Decrease) in Lease Incentives", "label": "Increase (Decrease) in Lease Incentives", "terseLabel": "Proceeds from lease incentives" } } }, "localname": "IncreaseDecreaseInLeaseIncentives", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "pen_LineOfCreditFacilityAccordianFeatureIncreaseLimit": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Line Of Credit Facility, Accordian Feature, Increase Limit", "label": "Line Of Credit Facility, Accordian Feature, Increase Limit", "terseLabel": "Line of credit, increase limit" } } }, "localname": "LineOfCreditFacilityAccordianFeatureIncreaseLimit", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "monetaryItemType" }, "pen_MaggieYuenMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maggie Yuen", "label": "Maggie Yuen [Member]" } } }, "localname": "MaggieYuenMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_NeuroMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Neuro [Member]", "label": "Neuro [Member]", "terseLabel": "Neuro" } } }, "localname": "NeuroMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "pen_NonPerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement in which award of equity shares are granted without performance or market vesting conditions.", "label": "Non-Performance Shares [Member]", "terseLabel": "NonPerformanceShares [Member]" } } }, "localname": "NonPerformanceSharesMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "pen_NumberofBusinessActivities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of Business Activities", "label": "Number of Business Activities", "terseLabel": "Number of business activities" } } }, "localname": "NumberofBusinessActivities", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails" ], "xbrltype": "integerItemType" }, "pen_OtherNonUSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Non-US [Member]", "label": "Other Non-US [Member]", "terseLabel": "International" } } }, "localname": "OtherNonUSMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "pen_PeripheralVascularMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Peripheral Vascular [Member]", "label": "Peripheral Vascular [Member]", "terseLabel": "Vascular" } } }, "localname": "PeripheralVascularMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "pen_RoyaltyAgreementApril2012Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty Agreement, April 2012 [Member]", "label": "Royalty Agreement, April 2012 [Member]", "terseLabel": "Royalty Agreement, April 2012" } } }, "localname": "RoyaltyAgreementApril2012Member", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "domainItemType" }, "pen_RoyaltyAgreementMarch2005Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty Agreement, March 2005 [Member]", "label": "Royalty Agreement, March 2005 [Member]", "terseLabel": "Royalty Agreement, March 2005" } } }, "localname": "RoyaltyAgreementMarch2005Member", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "domainItemType" }, "pen_RoyaltyObligationsExtendedTermOfAgreement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty Obligations, Extended Term of Agreement", "label": "Royalty Obligations, Extended Term of Agreement", "terseLabel": "Extended term of agreement" } } }, "localname": "RoyaltyObligationsExtendedTermOfAgreement", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "durationItemType" }, "pen_RoyaltyObligationsIncreaseDecreaseInMinimumAnnualRoyaltyPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments", "label": "Royalty Obligations, Increase (Decrease) In Minimum Annual Royalty Payments", "terseLabel": "Increase in minimum annual royalty payments" } } }, "localname": "RoyaltyObligationsIncreaseDecreaseInMinimumAnnualRoyaltyPayments", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "monetaryItemType" }, "pen_RoyaltyObligationsMinimumQuarterlyRoyaltyPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Royalty Obligations, Minimum Quarterly Royalty Payments", "label": "Royalty Obligations, Minimum Quarterly Royalty Payments", "terseLabel": "Minimum quarterly royalty payments" } } }, "localname": "RoyaltyObligationsMinimumQuarterlyRoyaltyPayments", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "monetaryItemType" }, "pen_RoyaltyObligationsPercentofSales": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty Obligations, Percent of Sales", "label": "Royalty Obligations, Percent of Sales", "terseLabel": "Royalty as a percent of sales" } } }, "localname": "RoyaltyObligationsPercentofSales", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "percentItemType" }, "pen_RoyaltyObligationsTermofAgreement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Royalty Obligations, Term of Agreement", "label": "Royalty Obligations, Term of Agreement", "terseLabel": "Term of agreement" } } }, "localname": "RoyaltyObligationsTermofAgreement", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "durationItemType" }, "pen_ShareBasedPaymentArrangementPerformanceSharesPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangements with performance conditions. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-Based Payment Arrangement, Performance Shares [Policy Text Block]", "terseLabel": "Performance Shares" } } }, "localname": "ShareBasedPaymentArrangementPerformanceSharesPolicyTextBlock", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "pen_StandardandExtendedProductWarrantyAccrualIncreaseDecreaseforChangesinEstimateforNewandPreexistingWarranties": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Changes in Estimate for New and Preexisting Warranties", "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Changes in Estimate for New and Preexisting Warranties", "terseLabel": "Accruals of warranties issued" } } }, "localname": "StandardandExtendedProductWarrantyAccrualIncreaseDecreaseforChangesinEstimateforNewandPreexistingWarranties", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "xbrltype": "monetaryItemType" }, "pen_SurbhiSarnaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Surbhi Sarna", "label": "Surbhi Sarna [Member]" } } }, "localname": "SurbhiSarnaMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_ThomasWilderMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Thomas Wilder", "label": "Thomas Wilder [Member]" } } }, "localname": "ThomasWilderMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "pen_U.S.AgencyAndGovernmentSponsoredSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Includes debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "U.S. Agency And Government Sponsored Securities [Member]", "terseLabel": "U.S. agency and government sponsored securities" } } }, "localname": "U.S.AgencyAndGovernmentSponsoredSecuritiesMember", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "pen_WeightedAverageNumberOfSharesOutstandingBasicAndDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted Average Number of Shares Outstanding, Basic and Diluted", "label": "Weighted Average Number of Shares Outstanding, Basic and Diluted [Abstract]", "terseLabel": "Weighted average shares used to compute net income (loss) attributable to common stockholders:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasicAndDilutedAbstract", "nsuri": "http://www.penumbrainc.com/20230630", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "stringItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r199", "r462", "r490", "r491", "r492", "r493", "r494", "r495", "r578", "r595", "r610", "r700", "r746", "r747", "r751", "r763" ], "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.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r199", "r462", "r490", "r491", "r492", "r493", "r494", "r495", "r578", "r595", "r610", "r700", "r746", "r747", "r751", "r763" ], "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.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r200", "r201", "r508", "r509", "r510", "r562", "r563", "r564", "r565", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r579", "r596", "r613", "r751", "r763" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r200", "r201", "r508", "r509", "r510", "r562", "r563", "r564", "r565", "r567", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r579", "r596", "r613", "r751", "r763" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "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": [ "r15", "r609" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r203", "r204" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.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, net of allowance for credit losses of $4,775 and $862 at June 30, 2023 and December 31, 2022, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r18" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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 liabilities", "totalLabel": "Total accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "auth_ref": [ "r123", "r124", "r125", "r127", "r134", "r135", "r710" ], "lang": { "en-us": { "role": { "documentation": "Accumulated unrealized gain (loss) on 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": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]", "terseLabel": "Marketable Investments" } } }, "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "auth_ref": [ "r133", "r134", "r418", "r420", "r421", "r422", "r423", "r424" ], "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": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r24", "r25", "r70", "r119", "r478", "r500", "r501" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.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" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "auth_ref": [ "r133", "r134", "r418", "r420", "r421", "r422", "r423", "r424" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss).", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r2", "r10", "r25", "r399", "r402", "r431", "r496", "r497", "r710", "r711", "r712", "r718", "r719", "r720" ], "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 Income (Loss)", "verboseLabel": "Total" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r4", "r10", "r25", "r134", "r135", "r420", "r421", "r422", "r423", "r424", "r710" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "terseLabel": "Currency Translation Adjustments" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r85" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "verboseLabel": "Weighted-Average Amortization Period" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r61", "r609", "r766" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r371", "r372", "r373", "r506", "r718", "r719", "r720", "r753", "r767" ], "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.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedTerseLabel": "Shares held for tax withholdings" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r48", "r49", "r340" ], "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" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r368", "r374" ], "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.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r120", "r205", "r243", "r246", "r247", "r762" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Accounts Receivable, Allowance for Credit Loss", "terseLabel": "Allowance for credit losses" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r7", "r39", "r43" ], "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": "Total amortization of finite lived intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r175" ], "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": "Antidilutive securities excluded from the computation of earnings per share (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShareAntidilutiveSecuritiesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r92", "r118", "r149", "r180", "r193", "r197", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r392", "r396", "r416", "r475", "r531", "r609", "r621", "r748", "r749", "r758" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r112", "r122", "r149", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r392", "r396", "r416", "r609", "r748", "r749", "r758" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r53" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "totalLabel": "Assets, Fair Value Disclosure" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "auth_ref": [ "r212" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "auth_ref": [ "r213" ], "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", "negatedLabel": "Gross Unrealized Losses" } } }, "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r209", "r251", "r474" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "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": "Total", "verboseLabel": "Amortized Cost" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": { "auth_ref": [ "r726" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "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), with single maturity date and allocated without single maturity date, maturing in second through 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": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "terseLabel": "Due in one to five years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": { "auth_ref": [ "r217", "r472" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent", "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 second through 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": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "terseLabel": "Due in one to five years" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Amortized Cost, Fiscal Year Maturity [Abstract]", "terseLabel": "Amortized Cost" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract]", "terseLabel": "Fair Value" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": { "auth_ref": [ "r725" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "order": 2.0, "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0 } }, "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), 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, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "Due in less than one year" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r216", "r471" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "order": 1.0, "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent", "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": "Due in less than one year" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r210", "r251", "r466", "r723" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "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": "Marketable investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "auth_ref": [ "r207", "r251" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails": { "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), classified as current.", "label": "Debt Securities, Available-for-Sale, Current", "terseLabel": "Fair Value", "totalLabel": "Total", "verboseLabel": "Marketable investments" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsContractualMaturitiesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367" ], "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.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r32", "r33", "r34" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Purchase of property and equipment funded through accounts payable and accrued liabilities" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r30", "r114", "r580" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r30", "r79", "r145" ], "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\u2014End of period", "periodStartLabel": "CASH AND CASH EQUIVALENTS\u2014Beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r1", "r79" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "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 INCREASE (DECREASE) IN CASH AND CASH EQUIVALENTS" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CertificatesOfDepositMember": { "auth_ref": [ "r9", "r615", "r616", "r617", "r618" ], "lang": { "en-us": { "role": { "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured.", "label": "Certificates of Deposit [Member]", "terseLabel": "Certificate of deposit" } } }, "localname": "CertificatesOfDepositMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": { "auth_ref": [ "r752", "r754" ], "lang": { "en-us": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents.", "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]", "terseLabel": "Commercial paper" } } }, "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r22", "r55", "r476", "r518" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "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": [ "r87", "r276", "r277", "r568", "r745" ], "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.penumbrainc.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r611", "r612", "r613", "r615", "r616", "r617", "r618", "r718", "r719", "r753", "r765", "r767" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "verboseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r60", "r477", "r609" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r26", "r130", "r132", "r138", "r468", "r487" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "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": "Comprehensive income (loss)" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "auth_ref": [ "r69", "r137", "r467", "r485" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.", "label": "Comprehensive Income (Loss) Note [Text Block]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "ComprehensiveIncomeNoteTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLoss" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r52", "r585" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Consolidation" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r750" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Summary of Contract Assets and Liabilities" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesRevenuesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r319", "r320", "r331" ], "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.", "label": "Contract with Customer, Liability", "terseLabel": "Contract liabilities, net" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r319", "r320", "r331" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r332" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized relating to contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesSummaryofContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateDebtSecuritiesMember": { "auth_ref": [ "r602", "r604", "r764" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.", "label": "Corporate Debt Securities [Member]", "terseLabel": "Corporate bonds" } } }, "localname": "CorporateDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r74", "r149", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r416", "r748" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenue", "verboseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r50" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r88", "r147", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r300", "r301", "r302", "r304" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Indebtedness" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/Debt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": { "auth_ref": [ "r211", "r251", "r258", "r259" ], "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": "Allowance for Credit Loss" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease": { "auth_ref": [ "r733" ], "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": "Allowance for credit loss" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": { "auth_ref": [ "r100", "r255", "r591" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "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 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": "12 Months of more: Fair Value" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "auth_ref": [ "r100", "r255" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "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", "negatedTerseLabel": "12 months or more: Gross Unrealized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": { "auth_ref": [ "r100", "r255", "r591" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "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 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": "Less than 12 months: Fair Value" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "auth_ref": [ "r100", "r255" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "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", "negatedTerseLabel": "Less than 12 months: Gross Unrealized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "auth_ref": [ "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-Sale [Table]", "terseLabel": "Debt Securities, Available-for-Sale [Table]" } } }, "localname": "DebtSecuritiesAvailableForSaleTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": { "auth_ref": [ "r98", "r253", "r591" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": { "auth_ref": [ "r99", "r254" ], "calculation": { "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails": { "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: Gross Unrealized Losses" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": { "auth_ref": [ "r97", "r591", "r732" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of fair value 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. Includes beneficial interest in securitized financial asset.", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]", "terseLabel": "Debt Securities, Available-for-sale, Unrealized Loss Position, Fair Value" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r377", "r378" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 8.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 taxes" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r81" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r7", "r183" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r91" ], "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": "Developed technology" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r330", "r595", "r596", "r597", "r598", "r599", "r600", "r601" ], "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.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r330", "r595", "r596", "r597", "r598", "r599", "r600", "r601" ], "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.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r751" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesRevenuesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]", "terseLabel": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Net income (loss) per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r139", "r156", "r157", "r158", "r159", "r160", "r165", "r167", "r172", "r173", "r174", "r178", "r407", "r408", "r469", "r488", "r587" ], "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 (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r139", "r156", "r157", "r158", "r159", "r160", "r167", "r172", "r173", "r174", "r178", "r407", "r408", "r469", "r488", "r587" ], "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 (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareReconciliationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share Reconciliation [Abstract]", "terseLabel": "Net income (loss) per share:" } } }, "localname": "EarningsPerShareReconciliationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r164", "r175", "r176", "r177" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Income (Loss) per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r417" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r380" ], "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.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r18" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Payroll and employee-related cost" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [ "r369" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost capitalized for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Amount Capitalized", "terseLabel": "Share-based compensation expense, capitalized in inventory" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r370" ], "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 cost related to unvested share-based compensation arrangements" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r370" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Unrecognized compensation cost, expected recognition period (in years)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "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": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "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_EquityComponentDomain": { "auth_ref": [ "r11", "r110", "r133", "r134", "r135", "r151", "r152", "r153", "r155", "r161", "r163", "r179", "r241", "r242", "r318", "r371", "r372", "r373", "r384", "r385", "r398", "r399", "r400", "r401", "r402", "r403", "r406", "r418", "r420", "r421", "r422", "r423", "r424", "r431", "r496", "r497", "r498", "r506", "r557" ], "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.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r410", "r411", "r414" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r410", "r411", "r414" ], "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 Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r299", "r334", "r335", "r336", "r337", "r338", "r339", "r411", "r435", "r436", "r437", "r593", "r594", "r602", "r603", "r604" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r410", "r411", "r412", "r413", "r415" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "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": [ "r409" ], "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": "Investments and Fair Value of Financial Instruments" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r299", "r334", "r339", "r411", "r435", "r602", "r603", "r604" ], "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": "Level\u00a01" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r299", "r334", "r339", "r411", "r436", "r593", "r594", "r602", "r603", "r604" ], "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": "Level\u00a02" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r299", "r334", "r335", "r336", "r337", "r338", "r339", "r411", "r437", "r593", "r594", "r602", "r603", "r604" ], "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": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r299", "r334", "r335", "r336", "r337", "r338", "r339", "r435", "r436", "r437", "r593", "r594", "r602", "r603", "r604" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r409", "r415" ], "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": "Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r426" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.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 finance lease, classified as current.", "label": "Finance Lease, Liability, Current", "terseLabel": "Current finance lease liabilities" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r426" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.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 finance lease, classified as noncurrent.", "label": "Finance Lease, Liability, Noncurrent", "terseLabel": "Non-current finance lease liabilities" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r427", "r429" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Finance Lease, Principal Payments", "negatedLabel": "Payments of finance lease obligations" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r425" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "terseLabel": "Finance lease right-of-use assets" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r244", "r245", "r248", "r249", "r250", "r252", "r256", "r257", "r303", "r316", "r404", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r486", "r591", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r727", "r728", "r729", "r730" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]", "terseLabel": "Financial Assets" } } }, "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r116", "r272" ], "calculation": { "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails": { "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.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.", "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Finite-lived Intangible Assets Amortization Expense" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r270", "r271", "r272", "r273", "r463", "r464" ], "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.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r86", "r464" ], "calculation": { "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails": { "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": "Finite lived intangible assets: gross carrying amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r463" ], "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": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r40", "r42" ], "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.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r86", "r463" ], "calculation": { "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails": { "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", "totalLabel": "Finite lived intangible assets: net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r115", "r262", "r465", "r592", "r609", "r735", "r742" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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": "Goodwill", "periodStartLabel": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.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": [ "r261", "r264", "r267", "r592" ], "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.penumbrainc.com/role/Goodwill" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r7", "r263", "r265", "r268", "r592" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Impairment Loss", "terseLabel": "Goodwill impairment" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/GoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillOtherIncreaseDecrease": { "auth_ref": [ "r266" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease), classified as other, of an asset representing the future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Other Increase (Decrease)", "terseLabel": "Foreign currency translation and other adjustments" } } }, "localname": "GoodwillOtherIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.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.penumbrainc.com/role/GoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r73", "r149", "r180", "r192", "r196", "r198", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r416", "r589", "r748" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.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 profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r71", "r95", "r180", "r192", "r196", "r198", "r470", "r482", "r589" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.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 (loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r274", "r275", "r542" ], "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.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r275", "r542" ], "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.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "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": [ "r150", "r376", "r381", "r382", "r383", "r386", "r388", "r389", "r390", "r504" ], "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.penumbrainc.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r101", "r107", "r162", "r163", "r184", "r379", "r387", "r489" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.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": "Provision for (benefit from) income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/IncomeTaxesIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r29", "r31" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Income Taxes Paid", "terseLabel": "Cash paid for income taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r6" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 10.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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r6" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "auth_ref": [ "r715" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "terseLabel": "Accrued expenses and other non-current liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r6" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 8.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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r6" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 9.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 and non-current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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 [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r168", "r169", "r170", "r174", "r341" ], "calculation": { "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Potential dilutive stock-based options and awards (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r269" ], "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.penumbrainc.com/role/IntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r38", "r41" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill) [Abstract]", "terseLabel": "Intangible Assets, Net (Excluding Goodwill) [Abstract]" } } }, "localname": "IntangibleAssetsNetExcludingGoodwillAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "auth_ref": [], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of nonoperating interest income (expense).", "label": "Interest Income (Expense), Nonoperating, Net", "terseLabel": "Interest income (expense), net" } } }, "localname": "InterestIncomeExpenseNonoperatingNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r84", "r582" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "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.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r121", "r581", "r609" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "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.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r84", "r584" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "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.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r84", "r583" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails": { "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.penumbrainc.com/role/BalanceSheetComponentsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r260" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Inventory Write-down", "terseLabel": "Inventory write-downs" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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": "Schedule of Contractual Maturities of Marketable Investments" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r17", "r149", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r393", "r396", "r397", "r416", "r517", "r588", "r621", "r748", "r758", "r759" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r65", "r94", "r480", "r609", "r717", "r731", "r755" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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 stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholders\u2019 Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r19", "r113", "r149", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r393", "r396", "r397", "r416", "r609", "r748", "r758", "r759" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r16", "r716" ], "lang": { "en-us": { "role": { "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.", "label": "Lender Name [Axis]", "terseLabel": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r16", "r716" ], "lang": { "en-us": { "role": { "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.", "label": "Line of Credit Facility, Lender [Domain]", "terseLabel": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [ "r716" ], "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": "Line of Credit Facility [Line Items]", "terseLabel": "Line of Credit Facility [Line Items]" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r16" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r16", "r716" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.", "label": "Line of Credit Facility [Table]", "terseLabel": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.", "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Line of credit facility, unused capacity, commitment fee percentage" } } }, "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.", "label": "Line of Credit [Member]", "terseLabel": "Line of Credit" } } }, "localname": "LineOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LinesOfCreditCurrent": { "auth_ref": [ "r58", "r93" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Line of Credit, Current", "terseLabel": "Borrowings outstanding" } } }, "localname": "LinesOfCreditCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-Term Debt, Type [Axis]", "terseLabel": "Long-term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r20", "r45" ], "lang": { "en-us": { "role": { "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Long-Term Debt, Type [Domain]", "terseLabel": "Long-term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MarketableSecuritiesPolicy": { "auth_ref": [ "r56" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for investment classified as marketable security.", "label": "Marketable Securities, Policy [Policy Text Block]", "terseLabel": "Marketable Investments" } } }, "localname": "MarketableSecuritiesPolicy", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r752" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "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 and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "terseLabel": "Product Warranty, Increase (Decrease) [Roll Forward]" } } }, "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r102", "r108" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "terseLabel": "Organization and Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/OrganizationandDescriptionofBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r144" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "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 financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r144" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r79", "r80", "r81" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "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 (used in) operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r72", "r81", "r96", "r111", "r128", "r131", "r135", "r149", "r154", "r156", "r157", "r158", "r159", "r162", "r163", "r171", "r180", "r192", "r196", "r198", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r408", "r416", "r484", "r539", "r555", "r556", "r589", "r619", "r748" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "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)", "terseLabel": "Net income (loss)", "totalLabel": "Net income (loss)", "verboseLabel": "Net income (loss)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome", "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit", "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "NONCASH INVESTING AND FINANCING ACTIVITIES:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "Number of Operating Segments", "terseLabel": "Number of operating segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesAdditionalDisclosuresDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent": { "auth_ref": [ "r25" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss) attributable to parent.", "label": "OCI, before Reclassifications, before Tax, Attributable to Parent", "terseLabel": "Other comprehensive income before reclassifications" } } }, "localname": "OciBeforeReclassificationsBeforeTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "auth_ref": [ "r13", "r25" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent.", "label": "OCI, before Reclassifications, Net of Tax, Attributable to Parent", "netLabel": "Net of tax" } } }, "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r180", "r192", "r196", "r198", "r589" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "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": "Income (loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r426" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.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": "Current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r426" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r428", "r429" ], "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": "Cash paid for amounts included in the measurement of operating lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r425" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.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 right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "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_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r18" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other accrued liabilities" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r117" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.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 non-current assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitmentsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of other commitment.", "label": "Other Commitments [Axis]", "terseLabel": "Other Commitments [Axis]" } } }, "localname": "OtherCommitmentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCommitmentsDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other future obligation.", "label": "Other Commitments [Domain]", "terseLabel": "Other Commitments [Domain]" } } }, "localname": "OtherCommitmentsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherCommitmentsLineItems": { "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": "Other Commitments [Line Items]", "terseLabel": "Other Commitments [Line Items]" } } }, "localname": "OtherCommitmentsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCommitmentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about obligations resulting from other commitments.", "label": "Other Commitments [Table]", "terseLabel": "Other Commitments [Table]" } } }, "localname": "OtherCommitmentsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss) before Reclassifications, Tax [Abstract]", "terseLabel": "Other comprehensive income (loss) before reclassifications:" } } }, "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": { "auth_ref": [ "r3", "r70" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax", "terseLabel": "Foreign currency translation gains (losses)" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r3" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "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 adjustments, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r11", "r13", "r129", "r132", "r137", "r418", "r419", "r424", "r467", "r485", "r710", "r711" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "netLabel": "Total other comprehensive (loss) income, net of tax", "totalLabel": "Total other comprehensive income (loss), net of tax", "verboseLabel": "Other comprehensive income (loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r123", "r126", "r239" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "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 change in unrealized gains (losses) on available-for-sale securities, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]", "terseLabel": "Other" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r21" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.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 non-current liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r77" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.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), net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).", "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other" } } }, "localname": "OtherOperatingActivitiesCashFlowStatement", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherSundryLiabilitiesCurrent": { "auth_ref": [ "r18", "r44" ], "calculation": { "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date.", "label": "Other Sundry Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "OtherSundryLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "auth_ref": [ "r698", "r713" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.", "label": "Payments for (Proceeds from) Other Investing Activities", "negatedTerseLabel": "Other" } } }, "localname": "PaymentsForProceedsFromOtherInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r142" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Payment of employee taxes related to vested stock" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r28", "r140", "r206" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "negatedTerseLabel": "Purchases of marketable investments" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r78" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.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", "negatedTerseLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "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.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r709" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r140", "r141", "r724" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from maturities of marketable investments" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "auth_ref": [ "r699", "r714" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities classified as other.", "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other" } } }, "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r27", "r140", "r206", "r238" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Proceeds from Sale of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from sales of marketable investments" } } }, "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r5", "r12" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r5" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from Stock Plans", "terseLabel": "Proceeds from issuance of stock under employee stock purchase plan" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r54", "r278", "r280", "r282" ], "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": "Balance at the end of the period", "periodStartLabel": "Balance at the beginning of the period" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r281" ], "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", "negatedTerseLabel": "Settlements of warranty claims" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsProductWarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r111", "r128", "r131", "r143", "r149", "r154", "r162", "r163", "r180", "r192", "r196", "r198", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r391", "r394", "r395", "r408", "r416", "r470", "r483", "r505", "r539", "r555", "r556", "r589", "r606", "r607", "r620", "r712", "r748" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income (loss)" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r8", "r473", "r481", "r609" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.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 and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTaxAbstract": { "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": "AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]", "terseLabel": "AOCI Including Portion Attributable to Noncontrolling Interest, Net of Tax [Roll Forward]" } } }, "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r57", "r375", "r760" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "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 and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "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 and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r62", "r90", "r479", "r499", "r501", "r503", "r520", "r609" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.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.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r110", "r151", "r152", "r153", "r155", "r161", "r163", "r241", "r242", "r371", "r372", "r373", "r384", "r385", "r398", "r400", "r401", "r403", "r406", "r496", "r498", "r506", "r767" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings (Accumulated Deficit)" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "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": [ "r181", "r182", "r191", "r194", "r195", "r199", "r200", "r202", "r329", "r330", "r462" ], "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 from contract with customer" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/RevenuesDisaggregationofRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r109", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r333" ], "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": "Revenues" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/Revenues" ], "xbrltype": "textBlockItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r136", "r149", "r181", "r182", "r191", "r194", "r195", "r199", "r200", "r202", "r240", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r416", "r470", "r748" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "Revenue" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/DebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "auth_ref": [ "r430", "r608" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for finance lease obligations" } } }, "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r430", "r608" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for lease obligations" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RoyaltyExpense": { "auth_ref": [ "r75" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense related to royalty payments under a contractual arrangement such as payment for mineral and drilling rights and use of technology or intellectual property.", "label": "Royalty Expense", "terseLabel": "Royalty expense" } } }, "localname": "RoyaltyExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CommitmentsandContingenciesRoyaltyObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Accrued Liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r25", "r756", "r757" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "auth_ref": [ "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219" ], "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 [Line Items]" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "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": "Schedule of Marketable Investments" } } }, "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Reconciliation of the Numerator and Denominator used in the Calculation of the Basic and Diluted Earnings per Share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/NetIncomeLossperShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r47" ], "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": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r47" ], "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]", "terseLabel": "Schedule of Stock-based Compensation Expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r410", "r411" ], "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": "Schedule of Fair Value of Assets and Liabilities" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r40", "r42", "r463" ], "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.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r40", "r42" ], "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 Finite-lived Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r592", "r734", "r735", "r736", "r737", "r738", "r739", "r740", "r741", "r742", "r743", "r744" ], "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.penumbrainc.com/role/GoodwillTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r14", "r66", "r67", "r68" ], "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.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r279" ], "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": "Schedule of Estimated Product Warranty Accrual" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponentsBalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r185", "r186", "r187", "r188", "r189", "r190", "r200", "r590" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segments" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r76" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "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": "Sales, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]", "terseLabel": "Sales, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails", "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r6" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "auth_ref": [ "r605" ], "lang": { "en-us": { "role": { "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period", "terseLabel": "Award requisite service period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquityStockbasedCompensationExpenseDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "negatedTerseLabel": "Shares held for tax withholdings (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "sharesItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r82", "r146" ], "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.penumbrainc.com/role/SummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r11", "r23", "r110", "r133", "r134", "r135", "r151", "r152", "r153", "r155", "r161", "r163", "r179", "r241", "r242", "r318", "r371", "r372", "r373", "r384", "r385", "r398", "r399", "r400", "r401", "r402", "r403", "r406", "r418", "r420", "r421", "r422", "r423", "r424", "r431", "r496", "r497", "r498", "r506", "r557" ], "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.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r151", "r152", "r153", "r179", "r462", "r502", "r507", "r511", "r512", "r513", "r514", "r515", "r516", "r519", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r532", "r533", "r534", "r535", "r536", "r538", "r540", "r541", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r557", "r614" ], "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.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "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]" } } }, "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": [ "r151", "r152", "r153", "r179", "r462", "r502", "r507", "r511", "r512", "r513", "r514", "r515", "r516", "r519", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r532", "r533", "r534", "r535", "r536", "r538", "r540", "r541", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r557", "r614" ], "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.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "stringItemType" }, "us-gaap_StockAppreciationRightsSARSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period.", "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)" } } }, "localname": "StockAppreciationRightsSARSMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r11", "r59", "r60", "r90" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Issuance of common stock under employee stock purchase plan (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r11", "r59", "r60", "r90" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Issuance of common stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r11", "r59", "r60", "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock under employee stock purchase plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r46", "r59", "r60", "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Issuance of common stock" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r60", "r63", "r64", "r83", "r521", "r537", "r558", "r559", "r609", "r621", "r717", "r731", "r755", "r767" ], "calculation": { "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets": { "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 Penumbra, Inc. stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/AccumulatedOtherComprehensiveIncomeLossDetails", "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets", "http://www.penumbrainc.com/role/ConsolidatedStatementsofStockholdersEquityDeficit" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r89", "r148", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r317", "r318", "r405", "r560", "r561", "r566" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for equity.", "label": "Equity [Text Block]", "verboseLabel": "Stockholder's Equity" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/StockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "Balance Sheet Components" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/BalanceSheetComponents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowElementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Elements [Abstract]", "terseLabel": "SUPPLEMENTAL CASH FLOW INFORMATION:" } } }, "localname": "SupplementalCashFlowElementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TradeSecretsMember": { "auth_ref": [ "r51" ], "lang": { "en-us": { "role": { "documentation": "Information generally known to only a limited number of the entity's employees, such as a formula, pattern, machine, technology, and production process that may give an entity a competitive advantage.", "label": "Trade Secrets [Member]", "terseLabel": "Trade secrets and processes" } } }, "localname": "TradeSecretsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/IntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r303", "r316", "r404", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r486", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r727", "r728", "r729", "r730" ], "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.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USStatesAndPoliticalSubdivisionsMember": { "auth_ref": [ "r602", "r764" ], "lang": { "en-us": { "role": { "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments.", "label": "US States and Political Subdivisions Debt Securities [Member]", "terseLabel": "U.S. states and municipalities" } } }, "localname": "USStatesAndPoliticalSubdivisionsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r586", "r602", "r604", "r761" ], "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": "U.S. treasury" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsFinancialAssetsandLiabilitiesMeasuredatFairValueDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsGainsandLossesofMarketableInvestmentsDetails", "http://www.penumbrainc.com/role/InvestmentsandFairValueofFinancialInstrumentsMarketableSecuritiesinanUnrealizedLossPositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r35", "r36", "r37", "r103", "r104", "r105", "r106" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r166", "r174" ], "calculation": { "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails": { "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 (in shares)", "totalLabel": "Diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r165", "r174" ], "calculation": { "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails": { "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", "verboseLabel": "Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Denominator:", "verboseLabel": "Weighted average shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.penumbrainc.com/role/CondensedConsolidatedStatementsofOperations", "http://www.penumbrainc.com/role/NetIncomeLossperShareBasicandDilutedEarningsperShareDetails" ], "xbrltype": "stringItemType" } }, "unitCount": 6 } }, "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": "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r107": { "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" }, "r108": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r109": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r11": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "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" }, "r127": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "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" }, "r129": { "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" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "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" }, "r139": { "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" }, "r14": { "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" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-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.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" }, "r149": { "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" }, "r15": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "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" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r18": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "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" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "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" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "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": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r21": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r22": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r23": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r24": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r25": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r26": { "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" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "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" }, "r262": { "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" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "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" }, "r265": { "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/2003/role/disclosureRef" }, "r266": { "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/2003/role/disclosureRef" }, "r267": { "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" }, "r268": { "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/2003/role/disclosureRef" }, "r269": { "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" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "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" }, "r291": { "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" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "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" }, "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": "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" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "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" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "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" }, "r331": { "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" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "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" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "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": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "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://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "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" }, "r393": { "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" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "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": "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "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": "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "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" }, "r429": { "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" }, "r43": { "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" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-10", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r46": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "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" }, "r469": { "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" }, "r47": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "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" }, "r479": { "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" }, "r48": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(16))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "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" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r49": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "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" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r53": { "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://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r54": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r55": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r57": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r59": { "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" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "47", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r6": { "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" }, "r60": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r608": { "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" }, "r609": { "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" }, "r61": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r62": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r623": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r624": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r625": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r626": { "Name": "Form 20-F", "Paragraph": "a", "Publisher": "SEC", "Section": "16", "Subsection": "J", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r627": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r628": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r629": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "A", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r63": { "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" }, "r630": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "B", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r631": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "C", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r632": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "D", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r633": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "E", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r634": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r635": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "iii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r636": { "Name": "Form 20-F", "Paragraph": "2", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r637": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r638": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r639": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r64": { "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" }, "r640": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r641": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r642": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r643": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r644": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r645": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r646": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r647": { "Name": "Form 40-F", "Paragraph": "b", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r648": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r649": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r65": { "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" }, "r650": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r651": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r652": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r653": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r654": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r655": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r656": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r657": { "Name": "Form N-CSR", "Paragraph": "b", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r658": { "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" }, "r659": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r66": { "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" }, "r660": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r661": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r662": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r663": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r664": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "vi", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r665": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "3", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r666": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "4", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r667": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r668": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r669": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r67": { "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" }, "r670": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r671": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r672": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r673": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r674": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r675": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r676": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "B", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r677": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r678": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r679": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r68": { "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" }, "r680": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r681": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r682": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r683": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r684": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r685": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r686": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r687": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r688": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r689": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "F", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r69": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "https://asc.fasb.org//220/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r691": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r692": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "A", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r693": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "B", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r694": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "C", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r695": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "D", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r696": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r697": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r698": { "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://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "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" }, "r70": { "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" }, "r700": { "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" }, "r701": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r702": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r703": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r704": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r705": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r706": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r707": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r708": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "https://asc.fasb.org//210/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r709": { "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" }, "r71": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "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" }, "r713": { "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://www.xbrl.org/2009/role/commonPracticeRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r715": { "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" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r72": { "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" }, "r720": { "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" }, "r721": { "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" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r723": { "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" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r725": { "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/2009/role/commonPracticeRef" }, "r726": { "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/2009/role/commonPracticeRef" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r73": { "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" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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/2009/role/commonPracticeRef" }, "r733": { "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" }, "r734": { "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" }, "r735": { "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "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" }, "r741": { "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" }, "r742": { "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" }, "r743": { "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" }, "r744": { "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" }, "r745": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r746": { "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" }, "r747": { "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" }, "r748": { "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" }, "r749": { "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" }, "r75": { "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" }, "r750": { "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/2009/role/commonPracticeRef" }, "r751": { "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" }, "r752": { "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/2009/role/commonPracticeRef" }, "r753": { "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" }, "r754": { "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/2009/role/commonPracticeRef" }, "r755": { "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" }, "r756": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r757": { "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/2009/role/commonPracticeRef" }, "r758": { "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" }, "r759": { "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" }, "r76": { "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" }, "r760": { "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" }, "r761": { "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" }, "r762": { "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" }, "r763": { "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" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r765": { "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" }, "r766": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(18))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r767": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r8": { "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" }, "r80": { "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" }, "r81": { "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" }, "r82": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org//235/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "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" }, "r84": { "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" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "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" }, "r87": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org//470/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org//505/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "405", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147481047/942-405-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r98": { "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" }, "r99": { "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" } }, "version": "2.2" } ZIP 70 0001321732-23-000088-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001321732-23-000088-xbrl.zip M4$L#!!0 ( )>% 5?%A"O9]S,! "*% 0 <&5N+3(P,C,P-C,P+FAT M;>Q]Z7?;.I+O]_DK^'3GS4O.H13NBY.K=Q3;N>V>Q';;3O?T^]('(B&+'8I4 M<_'2?_T#0%*+)5FD2(H@A3XSN;8%D0#J5X7:4/7E_[[,7.X)!J'C>[_WQ('0 MX_[O\,O_ZO?_Y^O==^["M^(9]"+N/( @@C;W[$13+II"[F]^\,MY MRM"Z*) M'\SZ??*MR!"7;PJ^=1FA]:(U>>!8&T>^]:13-SSY]FH!P//"#QT_H MCY_P5'OIH)=QX#J+8<_/SP/\%S)4$@3YD^.%$? LN#K>7GYA=;#V*?DP&PHM M>WU<"*W!H__T"7VP/@?7\7ZMS>%9)@\53=/\1#[-ACHOT?;).AX:!C$1/T4! M\$),(Q A(N,W"7U!ZHM2]I X[#\",-_FBWDO9>*:E\P M^K*8/6<.O;5GH-_CV3@ CF<-+']&WBEHLI"-MZ&S???0!^L3#'U%$O7W:)B, M6*YHUUA17EE2-GR#..L/QQ^/0;@ B.7'7A2\;I][^N'J_'?3'4-Y 9'0V380 MS4#\]#\_OM];4S@#_36PGKG >_R]![W^S_L>8@P([.&7&8P AY_3A_^*G:?? M>^>^%R&&[S^\SM'7K.2WWWL1?(D^D0E\&O['?_S'E\B)7#A$-.MG=/KR*?G; MET_)D\>^_3K\8CM/7!B]NO#WGNV$\GGF^!]'[G9VI!5Z2B;]O3F@!]^\0!-_07\+%:[3>$"^_JA?< MHN&^O?X*O3?\2XD5C-#3;?(&%SSVN(0A?^\A)CZ;."_0[D^ B[&:OLWH#;^- MOM]?'O["\S@(UG;LTK,OT-&Q>(79&_:1[$&2H-A+3"U[#1*79P^!/0J"BS@@ MXF5M85@ZG=EQ8(,%'@Q5Z@U%32_X1J/,&V7T1EDK]$;$O67>J" TZFK!-TIE MWHC8S"Q&1DE0RKP0,YQ>C-\DH11P$/^)JE'PC:6 8^ U*AMO_+0N)0,X@8C1 M+!AND>WX##H+R1F YL01C>$L0A+]]U[HS.8N/A#(WZ8!GO*J&!^\A#9ZPJ?U M1R2O7[XSG4+HQP'YC6A-9^DVD)5@L9#]'1)9G?WFV/CWB0,#CCP?;E4ESJ_^ M>UV&O_WR,/O3^M/G1(9FOZ'C+XBP^"%RNB^(Z/^R[RT_6TS37AFJ]?&9MOY) M]GOVDD]KZ]Z^#1(%VY#H 5&Z,KTO&HL'I9_D6UGL.F4K"RMP)#.;[ T&C;!BG_-DC5;8-.X3;D/3Y*;<.JZ$ 6P3V6IHN] M0/846L/J4*(@@,@/#I0R&]_'?[R GC]SO&V/S2OCUQ[Q:7WV>X6<43?QTU7 M1VP;);_:Z&4O<]>QG.@'G(W1*VP'?9HXQE)/R-E]A B)OW.)S&5D?_JS.3)G MO2@.9@[$7#;LOVBT/;]MZQX%KO82WP336& QP5PBI_V!*\\RY_!UM"B=M.E M9EK YWF/8FHVOW5AJL]PO8_]=9R MP]9:A;20VFXY']5:JW+C:8CPU;0T9HC2'221F"':(F+5;HAV\;2D@7!MMYR/ M;X U0:6VF\E'-, .S^AXL^=M-WH;,L JV__6&\#-&V"5T:+MQO"Q#;"J-EYN MN^5[+,$O5A>BE-L>&VY"\%>Y_VVWS)L6_%72HNU&^%$%?Y4;3T-DMZ:EM=WD M/)[GK5A":E7A/KGMUF8SGK>&B-7R+.K*]H&9BRT%,+,M6T EA1FB>7-E*PM1 M*LP0;7;_F2%*#RV8(=K0QE-FB%:Y-&:(%E Z&K@@JC!#M$7$:GV\E 8#K G" MM=UR/KX!U@25VFXF']$ JRKZJK;=Z&W( *ML_UMO #=O@%5&B[8;P\,J*)I5:VJ+R"; BYPF];J-RTAQZ9]F'V4/>*YVT+%B54&KK ]//\CSOS>93 MF]?\S?& 9SFX,F88!:3$Y.9Y"P,\XA8@HES[$1(X;FQ#^V].-#T'X73DV?@_ MF&V>@(LYIBUI42JUEOM^LL O\-",BN\F5S N1]FSVO!OE-KD._=]Y_W#P%A M^]=[:,4!4HM@>^!.K6F]<]NQU/TYN!^,'J%GO2))\X?_! ,/#[A'QW/H!]!N M(2&H-95SX)_H22$BQ:WOHEVW@'L?CW&]+ORD]I" 6CLXQXD$"CJ/V M@5^CUAJF3_A76#%)H]8(;H/PKY(0U%K = O_*DE ;1282N%?Y<[3:P@#)_@K M<&/X]77QXY_0$T%@35^_PR?HKA-B,>C*F\=12$:(>\B0>S+;S>KU"?SP/?CZ M P2_8/0M]NQ]$#AD(WXD#@Z\D]\"^*^8B.'MN[ R-+S#L P<[[$U*@FU?@!* M@' P1T@,E8>CDEXO207(D)FL;"5DM+JF-I3 H'!L*] 8P:LCT::D^>8*PI#:"T7I8 M,H6N!"SIC:>T2J$[$H^<#"S;&R]A2*@4"0:](8BC9! S!:\M0&U?T*&]0&4J M7PF@=CKF4;_*USC7G Q0VQ<$8=@X%C8Z'8@X7N"VY.4J!M%W(-K>F$0#J&"J M8!,0I3=6T@I5D$G1^B':YK@)0T5=J.ATV.*(>7L'7>QFR'P'F>V-7!P/#$S9 M:P"9)KV1E%8I>TQF5H[,]H5.&!AJ T.GPQ,LPEH"&?3& YAJTRPR.AT-J$ZU M.4%DT.N$/T%B=-K=S.JP'1&5%58'-*GU,%,"!*;2-('*3GNX61VVEJ*26N\V M \)1@2 *]'J3*;FAT;PB>9*X;*\OF79<,G6N#"X[[=9F%RU;BTMZG>H,"D>& M KU>=&KO6S EKQ&DTNO5[QY2F=I7!JF=#GFPRY8=0BJU81 &CN;!T>EH!+MN MV0F,4AN;H!$63!UL J,BO5&35JB#3(X> :-MCJ P6-0&BTX',-B5RS9#L[TQ M#';GLN/0I#>FTBJ%CTG-ZJ'9OB *0T-]:.ATH()%6\M @][( %-O&H9&I^," M)W?QLE)HT.N./T%J2+4[GG.L#4A2C\Z8Q>.PA!&(0(J^*/3>Z18EFUUMQ@IS' M8>3/8' '71#AB,'4F7>5E>CU3%%,N;K8B&9?3'%B/ 3 AO?0"F!G#R)ZW27T M$:PNIJ'7+T&Y,D"%(DZOZX!RZM5E(M)KL%.L$-# 2C*]66444ZXF-I*[Y6 X MHBK7%/=TRZ=P-%6N4J;IEAOA)IK"X.WPCG)/M]P(1Z)<76Q$K1OARK/0D4ZR M<_$WO_L6.=K?IG6$T0,E A?:AU(>2BSSUT7<=[_ -Z, #NR+-']@PI$6$4H,%/ M\/)ECA[;U;-)H=:)T"+:-71N*=3Z'%I$NX;.-(5:]T.+:-?0>:=0Z[8X#Z#M M1-^ Y;AH6NLDNX-/OON$B+8^J%8K5\""45(JL7(5:ET.WWWO,8+!#%]+>'B= MP_5]_^YX\&:2;'I5F:75TSG_8E>6LSX!7)?E*_!^W4Q&,T18"^#"S$[DC-'? M.B+$8\])\.C%>.(+0,Z2+-%A^@ST8_: [)/L=_R$70"GUHU#FUBI,IU H=8Y M0]NN5^FR5*AUN1!7\+D_FSD12?I>RK8[_Q6XB!"/ 22:T0]\J4 2!+5>X2:: M?4'/)]R2H16Y^!5JO2Y4D*@N<42M+R7_KH_F@>,B-.Z[8]664_\-B51J72:C M9Q#8FQKH+0PF?C #G@7OIR#HJDFMMML=<@=#B,45TIK3K#(\-K6DN^E\5-OM M!&F28@VY'%5J71_44ZPIJ4BMVX1ZBC7D7E2I]0.\T2^P[G?M>T=0+VI2ME5J M;?_&=IH*D46M0B %R;Y_"/[GW%" MD=900J/6TF\7=TA5TH1:*[\-W%$I):BUWEO '32X7S1JC7EJ68D*LE%KT;>- M[QIRHFG4&OCMX+NFR$:MMZ %?%>3_:I1ZRJ@EI7JH@3S)%2EH5='$^9)H(02 M.O,D4)>#IC-/ BV48)Z$2F@B5DD3YAR@A1+,WF]W/%-G]GXKR=8A>S]+WIT' M<(J?]@23[)N.4JY#7H'&/:1-I$#I'7(F-.0A;81L'?(W-"0Q&Z*<09U_(@RB M)=7^@/YC .93W-DUH9CEQUX4O)[]O.]:>,^@SBW1/"D:BO@8U/DEFB=%0RJ= M09T[HGE2-'564.>/V$,*G#U-CO-KW_MYW\VD$(,Z'P--1&GJ_*#.@T 349HZ M2:AS#M!$E*;.%.H,?DR4V\"W8RNZ">YA\.18*Y=Q;M'BYE-<^^JO(+20Q1AT M]%BASJ*GC"X-G2PFE?8Z171IZ' QJ33>*:)+0^>+2:4EOYLNUS ._&X>*2:5 MEGRSI&CJ%*'2DF^<*QHY.*BTWQOGBD;."NJL=FC99U>>[3PY=KQJ%8X"X#E? M_:Z6!S*IL]0;($1-Z?HF=0;WKKW]$PCF 831'P%\!FY'D4Z=F=T4->J!NR10 M9R_OVN +W_MO$(:.]]A)J$L"=19R$Y2H"^;4F;F[-O=KX-B/,+JY\^/@5S?U M%TF@SM)MBAIUP9TZ^W77!M_'P7CJW(/ QW%.G7V:R.DJ OHK3%)'Z;^#(1_ M:#UC+\@OXA>^YHBC$V@&5"*%F*H*I L#1K+$,=RA*4;.L? MV'9:?B>,7EVT]S/'ZT^A\SB-SD1UH*OSZ/.S8T?3,U$0_G=O?2@('M'HL1]% M_NQ,0R/3OT3^G/R*9]QW/$RC,]&81^CKX1QXPR_CX!-Z=?)S,H.->9#O M=Y M],XL]'T8%'G:(<_)OF#YKA^<_2:0_WV>H'WO3\#,<5_/_L\# D_(7<-G[@[) M0N__\"'PPGZ(*#5)!H;.OR':*+1T\NMSLH\*>H[K>'"QKQ+>2:[@B$R!?^KQ.-TSA)QA$.$4H?2MY7?)Q M2GS3'!BJC.D?(:!%=O;B%!H# HU/D;WYF6D,3&'WQ\) 7'SVB3P[R :DNR4G MR[4YM"B\8;_WY-Z;=:[&- 390 MW0"$E#<0TK="Z.?UUN8M,/C4H7@#DZ( MS[_'>0"K3C9TSBY\*\8:"2XMW2.ZP 0-&(I"_R]$7U@^I<"QR4"W["(I2!$:[,)-A0IJ_ M8%2LGDPNG&QNC3_/CX!1X "7^^DYEF]#[L?]+DDCYL) <2'SEQC9CS!P7^_@ MW ^B'D=JUT?(_D!K1-;;V=CWW3%P73\:^R^9.))ZP__ZS=05[?-.B93N^9&W M,Z?^!N?][=_QQ=/W /-QS2=1Z00L.) M,G=SQXGJ!_LC=_.->_C3);>B!BU4H-'Y _Y8-&5E;8L*BI8FM**W]M".0\X/ MN&@*N7]E@.(2$YB#:&KV *T6,/EF8W^TI^A1TSQU_HV>.V_0A#T MH96K3E-W?9*IHP@/_K-U$3/K.SAITUN15: M7/S"P;4O"ATV2GK8*)T^;![N1M?W5^1(H>>T67$(4BT)L\,G6B L.WTF@3^K M14J:N9CD'_A_W''$]/:MB?P&E\^1]3>Y_.24*OIO >V@+2Q"FO6&.'3"?7/0 M47U-FM:?%5#,+DE@!'\Y^6XFGU4AD]ZY"=9#Z-&AQI5*C ;YT> MVU%=%+UW\-$)\2D17:-/,@1KO>$M]!"H \!S5Y[U%L4#NLV%?/ZA>DZAQ;O) M \^<"*W5*-Z1Q9P9LF:(A'S /_"3]GZ5#2>\,+Z()G$, 25N@: M"YT:(1[ RU6:[Y,T=UY7(PVD1JI]01-4U33>W>.JH9Q(CH:B-@21'+)??5S5 MA?MG'#BA[5C$AO4G)#G&644P&1H\ L_Y-_G]8\/P:W3SK@9W@_L!=SF;N_XK M#,ANK6.,N_8''POX0*K*6Z)1+ZR&C4>V'< P3/_S'3U/S%C8[ UO/,AENC1W MZP)KM[@\N2T[1S_>! _^\^)4$87><.2BT39XNTU\8'Y:-,^/^PEMSXZ)]W_Y\R30S1]A=0;FHHJ2/F] ,U3>(=D2=>);9-Y M@/;1F0.7@R_0BB/G"9LL2,# D$<&BN7&6&)R_W;F'':L[S923D^V?,@/+\P< MHP""-4#)O:$J"F_A]+$ :K_[Z*BZG?K>&Z>5J/2&NF+T94G8>'XGK/T/2U?' M?_UF2*+^.>0BZ,(YW@O.(YNQ"E^DV((]^&5&-E5&=GO >(_$9N!$#GI@XNB! M ;2Y>1R$,?;X1#Z'1A!M390^C#]BH8NC.2,K.FM=?%D:&-)A[H/W'BNB#U6I M>O\!GJW:B/]@YMBV"YLXEI*YV=!*+:JS&/%'@$?UA@].Y!*') 36E+-<$(;E M@LRM6GP R%%P_SH;^^[IK/LZ=4(3FL,7:PJ\1_0'CWN>.N@O2Y%5JQ?B.'M3 M-I6OHC0FO++0I]0DQ(AV[3[RK5\\=PL"[@FX,>3^4Q@(@H@C\EPX+>= MZ]ANIAR7,-QB*W$XZO*:[=);S%VFK)F$[MXZ;C'CKOML11W)-*1'X/G^W0]^ M)-;.M^$JDA5V*XU?.FD*TWAG."W^>0N)?Q'K5 M,MAVQGT0/R8I#U,0JVHO%EVXW5.?PQ3DKB;/0I.FGPT'D +4C.'5'B2%)GR'U ST/T MY<(8R=]PZN/@7Y;1$TU!]&89W#-8GRJ>9_+E="$?>0YX-O=!6EGM&$$%#1K_ M$ZT%?XF,1]_$4TD?AK/60C(3,E,01IPI<#9X#0<[4T<*.E3.XR! ;TDRXK L MB$ 4APL(&[WAWV'X%JIGV1M)#O:NJ5S[9^M_3)/HBEW!:AVH.4Q<1->9$T4( M#LCFM:+ ][#8%I2&PB"_G D0@R8EY@_;E,U9-E;L8C50$%6,9 MV=AQTLV+N^\_XW1L@78)FU]:\0S(S&TXG8'5/-1CH>8<3T )+&?2D[>E;/FT%^ M !W=424*6"T6#G$R2')N3U6AQPX,1:_>QR ,#-6L?K+*0%"JS^3'>V TD,C? M9!CUD!30X!RQ^:,?O&Y1Q,D@(@"L=-!2)Y>$WO#[=G%"H\&3\\I$OFSHQ96Y M(P7L:S$5763V9E<\5.8MH(^+U-M7C)&AX2JQZGVAJ"9LN MU+7DUU03ZQS-BQZ#9(^^QB%Z4!CFO3@MYKO,UAUY<;E=CS]Y]&3[\@?9EO-D M5_*B2*KB2F0!B77HT*)>U'P%R(YMT$_>,9UQ"L56>]^9;'-+$6<4.C4]G_B2 MXC QN]$ZDVOR6RXP(LL=O\M]Q2]_=M"KT?&+,YCQ[[CHG T".^1PRK)C[PJK MRQ_ QZT&\I'N)N8[9=L*D.(>GW *77?AG/F D$$\+\F-ESV.C>0C1+S=[KV_ MP_"LC+OO'D^OH$R2=\JD?7X^K?4(&!%OV9]C]S6EFY&4G> W9<"B%,8WXD]% MS!E[3D(*$AQ%FL0Z>:0>PH;E(&4C_+TG; D@D*@K"6W=DP?E-(W)4/G?G((G040AS>>X,XBHNGTA>57 MP#CTW3C:_97JZXX6K9R*BS8GWYD&2_WE$?;' 02_^F""E,LSX#Z#U[#W:5=Y M546JI[SJ%M$UF=1V"+^7%_,%4#,7;AI@:?A;+MH^$/&"I-0Y%J1>%'[Y!/)F M4U=/7M1)Q9YYZ MD]=3<[+G+< Y7ON<:F:Y4E'%\O%K/^*+IK[6><07G$O^(Q[?FKL=W3UP5P/N MV]7UZ/K\:O2=N[K&1\OH@529?GO>YV&H,;!^/08^FE$_W0S+@A!M1N7 8)I> M)3"0>\.K",XX<;"#X(S.7:$STN21;A1"&^OTY$0BP<=OC@<\"WOQR:W7)%WS MPT\/Q+:#/O](*2Y6GQ#@S3H^4!2%'J"\/Y=B0)&JDOT3\K_M3I@#G\'D"EUR M1=LI5[X"%\D5R-U/(=SF/J "!4R*U"-%M JER)L3Y" IPK03JJ6(N5.*K.@D M_H2[FV3R)2=K=.2)P@@6OM5 M%B9/CB-/9!'?^(O0G"*?*Q"$8TK**0D5C!*])B6%"02J!((HF&G6A50VZX(1 MFGI"_P >>"02?5%#^,()K3CI(X:KM8P\X+Z&#M$IEP@C00^T_!/2[YC),CB^_(]6]?BY>_=CS^&N[GR9^RY8]8, MS-GELRHEGIS=/KL:<#_7$I+I9I51G:AS5O*Y( M564M,$)33^B?WDJ7V7O@)B4KD^SYUTWBW6!J_,EPO2JFXEUE:GSG"7U#.NA< M>4D;$_0H2DG.)'L]DAUC@"GNI\+P2BK9-::X=Y[0ER]39^RPF^*G)M!QB[$] M-;/*90G74.2F\F=L/;DT)M!:*]#TWO >[3B(*KCXL#>]O/*&JOF:PV4-SSK> M' YW%V'=X3K*J6WO#K<;!?6V4B+W';C^KG8[;S7U_>7%_BG^YOO5Q>C!_3+"Y*\_:L@EM6T_.MA%M7^:'>*633NL7XWA<-/5C] P[7*SGN#T.D1XP M$!)=H&B30TT;Z+)V4#O"]S]3Y7P=CHM,5E0&DGK88QN:K$)O2\;"+1<7]9PK M9;.WG="W<]F?8P]RLI"T/U_KOGA:^W !+3@;PX"31;(7TOY.E'6YN9H0MJ,P M7#T!&[JAG^!< BA2=CSXGNL%PH.'9T_^8/41*&QH M.3/@AK_W\&\>F$$\LO\(P/P,HVSDV?@_ETN(C:)S$ 2O:#O^"MP8]K@D)P%9 M[R_1&3)O^[9/W%/XL0AT:%L@@1\V\"=]7!U%%!5>U/0OG]:G^J;K^B&TR1BX M (T8IS!.V<\I2@.<(O:&FLD;JD$1HU2D 7Y=IQ,#647BO&:0R5@%,GA1ER@"60N2"&N%S\BRT.JBD N@!=$)CJC/ MUN M,;.BB%-Z0X77=74#;\2(+#3_?:R3<_X;4U1[0T/;9 @.1-R:+Y7,>,.KR".R MA7-HX30,][6FI).\,C2OMM]N&;H/R!M$OX;1@0(3=R(7#-[4-@'<>IN1(2JW M:*D043I&E,S+AD(1HD[*N+I"%I47^0&YA,XLJN8$=4:(5\1-1=D(WS=4#:19 M"!1IL@Q!1Q;,91"$BX_)"B\(-!G<)Q5+N@W@'#@V!U_F.)4K*0?ED_N&UEK\ ML=8H-M-^]HCIE$R7"95&GDVNA";Y!8+/T5Q>B56"$]WF. A/(C/,'FG6'DD(<^L"+T)JXV5&F^). $7I#365 M-ZG*=&& .KHA4AV@5 (H0:0I7M3Y;/6TI[GWR+D0A) C>]+W)_T8_4*'IMYQ M#MLCLA<$^H[I'7PI(1'/A_M"F!9460I-1I/$]X@LULL7RXWQ MEOSA^_:SX[H%F4L5>D-=XT61)EV( >OHF375 TOL#0V1%[726@!3LO-C(B,6 MTZ6;E-.'L@R^%:8A8:R5%L9,'.*I"$PYP2KYL==)NW*8>\OHR4@U-"<^7NMKA&6.'U=T>PY$J5+RI)#"1) M>$66>%6NJI1,;MHT;%(P'F,\=M"]@*(\9F(>DW6!-XS:;Z*P6P$YRVI_=\#8 M<4D-+G(QX#[RK5]3WT7;&O[7;X8DZI\YG#\>5XQ@JM941-VX]QY)[B MVMMY9]EY+VM6?-M=8HU5X'[O&2=5-6%1+FX.7G$I(E9XFY43KKQVVFV"K<.N M,FI";RBIO"'2= V?<0;CC"IJP)7C#!%Q!@ZUT<09)U7\#9$QB*&]JENQ,';# M)PXFR(I==2!KD0+:*J]15<^+P>GX8KH:.,E)/7:Y?-B-OC!V.T1U9@;[;V[W MEA7=+"99RZW>C.5>#V0XA82Y=:INSC-(-7JKMRRD5 (I0>YJO+LU(GRR=M.7 MZ=Z4"/#5&YEE>0UG*?%F^:KF3/FF&$\%;OB6Q9-.\"1U5?MN2:J2M1F*:EKG M/MGB@WN$>7F3%R?U* HO2E6UIJ"C\"7#7NV"OSSVS 1[9OETLJ-@CUUB:V]Z MQ?7*)8FJ?4M,E:S7MW1P[KN.NS^;"J^II?U+S$*A&%:'^9<.AY6(867P)E6P MZE 6YGX17JUOB7ERZ_0M'MM0 Z3BF#O$O'8XI&6%*X0VJ M>GMV7OO>O*C,=&Y*1#8AS8HI?SAG*;VAS$M&Z:KZ3-6F&$UY;BQ7@B:5H*FR M=CP4:=AM"@50I%F7NV+9;J[+'P4HRF8:8C/<#,6H*CF9FAN]#'I'#@(4A9Z. MH*=+O"!5U8>'OHNN;=/3S_W9S(EP%YSDHBN& IHX]"Q\]?7#M1]!SOA(V[7$ M8H+T)73./,?]O1<%,7P+YY4-&'GV^>KR%[@U\+3? +:->Z%4L!?FSKWHO#MR MVR5P2"Z!'W9OM\+[U50_X[1R(1$/^?BM""O,S]&DCIQ0@C#M7X&+I=U;A<3 M#9.!%BA^V:OR& M8C^RK'@6NR""-N>3Z*;ES^8!G$(O=)X@Y_IAR#&-O_"^?BAU+(5H_NBG+??# M,V*1 -7Y*JF2VN??$;VN870S>0 O106-TANJO+JEO,>&IXQ9#:W$V<9YU0S. MU-[0V'I1HQ&F^HR+PI5'5OD)U)9 M@V9O:)H&;Y3WL1\+@56:8[) N3FVD7=+$K$J/B]*UCM.*9Y0:5L)_Y-MAU+] M!G5'LN5/8AYY=FDY9PH5=BNJG*R4%S1G#,X8O,Y4\4H87*RP51(U#$YTG4\1 MKC:/_FL[3\,OZ)]LXC,0/#K>ROP^IW])6^FLOLR"B#9!\A?'L]%O9Z)!I$"R M)^/@TW"Q/^^_2%M_D;GM1?7ADSSQ#&< .%:>O%P(.6#A:"SP7G&1%\^/T/LB MGXNF$.$7Q+:#H[8(NVA3PN0G0D@2S$TJ"SC$1D=_(.G/.[ZOO$L2K0CMCRU#I/7] M6_T7KP^SLZ,IQM@ E@FA9"F"J@+!TJRQ#'4H2U"RK7^()-6[0C/LA\^9P$(QR,K(%_ZO/X^?$"\]0?A]R4?+\^.@9"<'ZEK*GUS^O& ?/1& M\4P^4]2!+FD[/Q8&XH&?J8)ZT#??FRS.7S#-]DQ65(VV3%88Z(K>HLFJNS]> M?>P>=VV!BV5[AYH;0[=X&U)E^"A6M9%+4CX@Q0AR/]"X:Y"3 M!3Z'.[>KNW+OO.38DR.B:\7!EK>N+-T[+ F2G"=>L'>U)[5E4A4\F6-CVK@W MI>!4%:+:N'%2$:%6U67Y1CW)=_ )F:N-="YFT8K3"T:H^_(A"1J+%JTQ<4E2 M3>05\]3J)3$>8SSVEL>T>G@,EV@5#%Y6:F])PGB,\1CE/";6PV/XSJ(@\8:I M,QYC/';B/*;7PV-J;ZB($B_)K=$53Z# 81CA(&)0PA@][8O3%=I@F!@WDY2[ MBC*7UAOBSCY4%6-B"#JRA5$*07IOJ"N\+)26S@Q!%"-HC_Y<"D'X.I>A\*;& M&B!W&4)[U,-2$,(M,%6!U\NG,+.B@H$2@5Y3!3P52!-XPU-;(LAQK!'DYI9!GOXEHJL\()<5<,QAKUN86^/@EH& M>U)O*(LZ;\JEBPTP['42>WLTVS+8D]- N=H:[!W)^=DH.!:MD#GX,L=7+<+# MFE7D-1YS/*.R]# VR6Y.\J2LT3L80A!84W)CQH9/T/7G^.K38;6$6?F\RM+% M$K*,//MB293+1(86/AL5=#:*O"I7%7MOJ>;5<4CMS8ZJ$E(J,C--7E6K"C4S M2-$(J;W)0%5"2L/I"[PJ5:7 ,TC1"*F]N2]50@K7C!5XD2I(G53;BGM$D9#G M'J&'[$"7*)G GCF>$T8!J5C">E8TJF?>0Q<]__&/A#Z(Z49KU#F4[W"@6M)Y MI;P3F@6J*0;7'HVS)G#A$+:H\)K(P-5E<.W1/>L!ER@@4UD5>%6LJEXR Q>- MX-JCA=8$+A&!2U(1N&B27!TN]-^6D55ZG%O2D,#?" PU[G'.5T&B@\)PCXVP MB.&E8J_HO111Q(U6%8,W]8H+(^\O]M$6I\_)8F^/"5$>>W*2#R7JM5_N9=AK M&?;V6!CEL8?C;J;$"W+%]:(9]EJ/O3T&2'GLJ3@?2JWBPMI1L-?YFZ!).U;N M V[4_)&;!/XLTX%7*\LV9.V?+!OF57V7S70+,Z*&%!"=-XRJKOW1<08P\%70 MYWE#^=W1YWDK##>1IF-5MX*NX QA-".L#@VWA'@SL,.\BKHN#'PM %\A\;:A MXQ81;P5A:/:&R,@W-AWKE$F_(U7>;%+/C6 PXAS4H4W]>]^Y#D/-G[AM84L M5Z$ZF]$FX;/4M+SVO84S_AI&6YA+$GI#H[*B0BWU5+00.;7HHH=B2.P-M[C_ M\TMGAAZ*Y/3,?9HJ=^))$VO&9-*5V,F UID,>*I9P>$@L8S/3EQE,KVYX M$TUA4*%BR/*=JO)S8L*L@I:$7@F EO:IO>ZT9DT0EX!U>C MX&.(J 4SA3 "+_"P2#BKSG,<[V'FG?\6^#/<-MGQ8K0=RP:Y7PD]DW$/F)J7 M+U$ T(XZ'@A>KR(X"Q'GXI<&/DFPSZRVPFQK)-?/ZT^LZF)N54NA7),[DQY0 MXXMMO%CJ+&)P;@V<*_6O4@-B&5^@,WC1J#WMD$&9&BC7Y-&E!]1B;ZCQDKY9 MSI<^R=QY)_)MX#\Y(489(B+W80P].'$BDE'[L;PI<=H6>^76 F++U#+_FM!I M&W=)O:&JTU2/GH'ER->\=H*EH)S&16!Y51(8ECJ,I5S*<"[!HZ!C76."IVU@ MJ5'=+"^"\+TK7M,VTU)H="C35PJA>R,9"1H?V?FPRC556JO1868S3&:+2?:GF],^58SB2GVI9T=?I.->8M M:'PD(T'C(U,29$,R^:*2 Z5J)_F1GK$B.F0D'&P_'KMPO; O5-DLSS"+"D1 M/)1,XY1',A(T/I*1H/&1C 2-CV0D:'PD(T'C(T\O?LS-(;*^IB" A_7KSILL MSY[1K6><5'/#KR!TK#JRS(OL5M>\X=N62+?#^SU_]RT,[K$4?3=O0GKK[;X$ M@8<6'V;?)D!;.+:%A6-;$7I#8:!455F:H@Q6Q@%MXH!W0SZ[6$![PP([(C^Y M>4'$O"!NY@JUN:@,8X,VL<$A7"!68R[6LU=QS35WN$SM?09S5B,L1B=+%:_&?@.8VG$$*SAQA3C+IHP=KK<=4P3 M\QT^T]MS@'6^(M3?R"_0Y@":$GB$2> ZY/PX"B/@D4746@SJE)-6V2R/E@#< M+6?1X='STVZ?L_/\2Z3>NZX1X>V)EXG.42(YK^/9& 8W$W+ZA3=+^9DZ6_/< MNUHY)(W>4#9X61)XTV3MXSH.-*U!H.$+?CJO:SJO;FGFQ(#6*:")S0%-%8A$ MDU2%%Y2J+G SH%$*-+U!H(F)1!-T7MS2**DYH)U4@F>9>&9>2R)_!_&$$-N, MB9+>K=8SZD$Z;DK<#7XMS*H28E63EP01L>IF__'#,G J)'F+:I$RH->A8U<& M=+E*+9L!G0&]8AV_,J K1*(C)8Q7Q*IR*AG0&="KLC$J [I:I95!#]")D?(I M NBYZ+^V\S3\@O[)9CX#P:/C91/4$%73O^ 9F>OXLB!N&9/\Q?%L]-N9:!!N M2#9E''P:+C:H_(OJPRQYXID3H;=9.5!\#R$'+,N?H=F\(G)PGA^A]T4^%TTA MPC2(;0='W!"8;5PMG?Q$JF$!_.>)XP'/AZ0!JYL)- WQ2_+:?N'IO^(!%'N=/.-PN*V$Z<*!\>H=.V\1>L8?+ MQQ5^Z<[K6QGK%J*#LX7(OE\523?+P1Q@H_9/(!3- X) M6"[KROM]K71\:W?@P^)\ZL)B' ^=N7Z,GF$?2IRM!QM:#]&0EJ>FWQ^Y*/EP?%0$@.B]2!G+XY_7A /GJC M9B:?*>9 -[6='PL#\<#/%,,\Z)OO35;$CV6399,=*.;NCUH4B ;:>]0 MGNI1^OM15-ZW<&+8&S6.DZCK[F7RII[,8;K M+L/1TN!+90V^&+-UG=GH:_*E=J?)%\4WLG,#Y"::PH"SUL*,:S8LSWG(K/4G M7 1>&K^=S9[1HF=TXY9T;D[ZY@?H5X^SXB" GO7*10%ZGDOR1#A@_S,.(Q+6 M7V4H=JVZ6=\(D7YK.1;+@RVEYWE*S@=,S>2-(\]^6-)VM" M.A=O)@_@9$MJU9R^!'4[9\+ MZO[)=_$._8%HC)G]QKM?$'(4."'ZZ +]ZCW>HM7X]GL*MX(4;JET@>AW>*@% MM_I:B;>C*MQU($_M#0VUC$[-0$>UD#M0IRX/M8+J"T[=X!6#R<#VP?&H6O71 M@4GR&V2I3'Y#A9@\@<3$!S\"+N<7"?4T[9DN%X2FD:>/Y+8^F"L-?%Q(QJEE M0YPV*(_NW3X8GB9VQHC&9O4+^M(&&#+;H9&7P:,N](82KRJE"\DQ4+8(E$?W M=A\,3[$WQ+F-+,N*"@7\?+?2W41?^G=+/YWL#:(J-X=V05:A,;)%5:' 95'T)6&@^M#[XO ]C( M0TO MZJO;3=-Z?UH=:"8"IMK]76YI8&F-PR".FRY5FU 39-MA35-QZ;F?&SJ?7EC\HDZ42JW MK[G3Y>KUG+K<;.9[B;9640GLP']^FR#7JBT9H;EB$PFXW"UP;&2><.=@CATH MU=8(KY2+6[_IEA7/8I<8$DE%KO6,,9P*R/!)MNH.1@#]T>8N0>"A68=9DD>=R=EAAES&V;74E[9N-=]LWEV[0 MK&N]H6SPHJ#SIEY5&:NV7 FJ%WG-\?BI%),NR7!;$IF,][,25W6_1.?;EIF$ MJP24KEW!6(FQ4JM9R2S.2@4S (W>T-1D7E!J;_%#&;/5Z#!F#-QI!BZ4U2L* M.=-Z*^!ELS=$6JBT66>:OEN_[,1D#%?+B2GNN1-3GLT,H3=49-X4JJKGWA"S MM<4KSH0"$PHEA8)2NTP0D1IM&KRAML9F/5+=C28A[6B9.*')?]^!2&T<1 <>B%)V2[JDC5P4P%9 MXH\KA;[CBEWP9R/92%8'@XUD(VMG MDW:E@^XH)D+<6=P4NC8^_G%;#>[9B:;3I,U*KASL4VDX63;P?I@;DGP)7W/Z MY@9EHQ*M'#[ 2[&93_8\ Z2FW8/ M?E&67['/-%RINH(\&QK!=&P_8FL!RL0(H]()^A%/&DW%#J4]CL2*#R6=HD/I M!+)+B!NX/P9)&<@E:5AV24="/8Q*C$JMHU)-1M.#OZP,@STF5UY:%H8<3^.W MQ],=_%?LA$X$[V'PY%@PB9#=0=T0*8J+L30.)H^8 M/&H;E=IK?ITTFFJRON@XW4P*3S<6SF8CV4B6]<%&LI&,3=A(-I*Q"1O)1M(P MDK$)&\E&EF63+J3:)D73K;6BZ0[IC,J2;#N2+\.HQ*C$J-0TE5AN:!V!"O7] M0 4YW;9T_<9M00[M_&T*O:'(2]KFM87N@+63P*)4I-"G]C(T'3F>6HN8$ND3 M4R>0VHK(E=I/>=HKL1R%-F2\,"HQ*C$J-4TEEMUYJI3O))4*Z8_:^_HC4CJ6 M"F-A15'"M>]53:(H=XY&^X=EGE)@*95#NDP?TCL58MK;W.\'"*QIUME/;CK" M=-J=_42]WM9^ID):^TF*Q(O"J;5(JA=ZM#D]6".%'">;7D%O/U-EO?T8+S%> M.J!/9D%54>L-3=W@#:ET$X26<5L=-A+CX%/@X&(%7C;Z<];6W,_4>T.--[3- MRX&LN1]CN!8S7!%^DS:::5;.9D9OJ$J\HK7\Q&ROEY$)!284B@F%VCM^FOAF M/B]("I(+I5LR4-+?KRT"@HUD(]DE,C:2C:293;J0]$AKM]@534%&NH#MQV,7 MGDZ$3VJZEZPDX+L2(NXE6SH 6)BDM&0OY7A&OD65>4.]W-0E5MIF)LD-=[63 M!)+,KXF;):JKYB+*6>BHJ9]=.SY*)8:V3_ R"K>#PO2I[%0AL84P+'*X[KG! M>X2S56K5V=JIA-%BYB3"$=I9#L[FKO\*8?K'>1Q84P0"#K'Q81TDV#W6X]B4 MERGAR*#;E&RWB&HY,[E7[$JY-U3Q[=;23$OQ)7Q:GG%:L*_8_MN)^<+'E((O M+\B&>A*(9S52VEC*@LF8-E"IO?;62:/I2$95=0>62M^!Q4+6;"0;R4+6O6%B MD7)3Z-I8KG$1>.&>E]U#PZ9#U^T[GW:G_Q_F22!?PBV%OOE![M:N!=T(N!DY MKQF;F8GY;P907#>#EF><&-P/\"!4VLY8$G2D>4F;50XZ!FI6!HB5 6)48CX" MAJ;##J4]3H**SR2#HC/I!&*HQ'W3)_TW<0QU01H6(.V(%Y=1B5&I=52JR6:B MH0FQ)."KCA*OJ30YO%F$ELDC)H_:1J7V6E\GC:9ZC"\J#C=1H/!P8]%<-I*- M9-'SB#IEX(3*2T5Z30 MI_8R-!W795&+E)+HDU(G$#Q>-K%DX>*.N)09E1B5&)6:IA(+GYXJY3M)I4)& M[A[UL4QG/TF4D9YH\*9659\Q9B@QJ-=E*-T&_L2)#H*Y0B',.Q5>VMO!\L^Q M!SE9*-' LD)_0UIJ*MF:;47;3KO#I:35VN%2$DDW/EX15%X32B=&5$[3AMVP M#8.7-I]*_GXDU>]/.YEZFQ*YIQ%ZGB::DJA5T423L2MC5\:N>]CU@)ZW!35B MG?07$@1>4QE+'\'M5&KS=N_/@3G-P(0;>Z.!;.=^:O:$N\DKY'MS44%CB00:T+3>%61.V--L&M2;"0;6?::%'T39B/92,8F;"0;2>%(QB9L)!O) MV(2-9",9F["1;"1C$S:2C:1A)&,3-I*-9&S"1K*1%;')IPB,78C^:SM/PR_H MG^P;,Q \.EX6_M3FT>?T+SC>J:T'[2WH13! SR4/RYZ0QD?1;%PP#^%9]L/G M;#*.1\+*Y$N?U]^GSC=BH^1]R<>?GQT[FIZ9YD 3]/_=6S![^N+D4W% PM39 MIJQ])FD#135W?BP,Q ,_4PSCH&^^-UEUH)@*FVOEJX+J.?^ M;.9[',EPRG'I-,^.!?YS\K/4SBU9%L7F<%7LON-Q:5WLBC:H#GYK_:9;5CR+ M23,H+JFYNU;PB\.7VAD^R5;=P0B@/]K<)0@\W%&6HQB7#.N;!'SPD2SA5I-* M25$:_3.7))>ND;/A8VTYM$@V*=W[GUS/SU-B(<^23VKK1C,_]J)JY4TMHJGI M]Q_@]FM7?<>]]4PNH 5G8W20RR*I:2(V7?'QM$N6R$*])4LDL3>4=5[5#5XQ M2E]Q*$JRAHNQU0N]]EXY*KS\=G+ MT!0%7A.5$^.V&KV[C(,[S<&%:G+(TM%J/S@[A9E0*"04]G0#JT H:$B/5F7>E%IC MM7:JR/1VC%R%84R\LOX$+9'$^\.<\7[6U*J4SU5]W^>*B8") ^V+.$ [D734 M3ERQY-^O;WMP%_;*XBJ6 F)(H[1A6WNC-X:UPR7[GL8 .Y!&&K;O MJF<#<0 MEAB*.HRB/#6P"Z*HH/Y@XC)9HD!35[ZJ85:',=!)Z%+:CY0)F&Y3B7*SOMMH M*G1A_E_R)?P'9-O?O 7OZV) [Z0S4.(%E$1Y3" M2UNJ#A<.A](8A.DDSEB/VC90J5@"Q![?RLC^9QQ&,^A%X1TDUZ >_$I%PHK6 MBK,*>='8].5U0B( M]<>8<#AI8$$YEC1P\AYR1B5&I3;$!_*;7 _^LN@']L=<>6G%#W)ZC=^>7G?P M7[$3.A&\A\&38\$DL' '+?_1(T\A,8;"9YR",*DY9ZW5G'/SU9QC#NMN.ZP9 ME1B5&)7H#?YTDO+% C5&SNH*Y)1;*ZQZY:$S#^+JJMFDO0W,%1V8E+I M161"@0F%-T*A]OX&BHK[&YB\7+Y",>MOT/G^!BNTE1'U;#\>N_"$/+*-=S]0 MM-Y05 U>ETL?XH5)2DLL\ 1Q6BKBSRC< @H7T@H:[VJ@D*Q31:OJYFO[(-I0 M\D#78,\$&Z-PIRA,N8OAE)%8Y(AM_H0UVG;"=BI1JIA9CJ"$-I>#L[GKOT*8 M_G$>!]84X8!#C'A8D<&3OM%W1-O\,B4<&72;DNT642TL;)^;O:&F\8)950X( MC6[T3L*M62-^!Q8H:LI%L9/5%#=N7&%%+!\"3OJ9Z%!U@5&)48E2B-]+62&"B\:FU== M.Y&[T4ET,;E"H=.BM6@J%\$_IJ@RJ!)5)Q"SQ]T66==Z%GA@5&)48E2B.D;# M*-\&RG>22L6,72.G!OFF5UU!5='$!9PT0Z>C,7<;! @32DW:2[>!/W&B0Z"N M"51!O5/!IKT=&_\<>Y"3A1(-&RMT9*55YI*MV59H[L0[.IKU=G341-+1T3 $ M7A0VN;%4Y< *:-JPKZ]A\-+F6%GX4YM'G]._X'BGMAZSMZ 7P:!7<1A:%+(X-'GB&:ZTZ5AY M.AQ R $+%Z$#WJOC/7*>'Z'W13X732$7>R"VG8AT/_!LZ"5]$#P2OL6M+KB) MXP'/4*K<)N?:TLFDMBU-9F%#RP](K=FS&$THP*/0= U M<^&F 4X ^6T_\ %+(LZ?<._#Y>,* MOW>O0-Y"+YZ- \!S5YXU.&RS:%K/^4(DGZ^*Y/N%(";X .&4^^;ZS[O%88<'KF>7:D'TE.7A25*OT+I<, _A6?;#YTS/<3PR M._*ES^OOP\+_3=H5>5_R\?)<& C)V9 :$NF;TX\'Y*-,X5K[3)<'HKS[8V$@ M'OB9HASVS?&=-._..S3S+3_5&BF[Y MWSLOW \T:AIRE^APL!=W_=?VA!'\O:%%4E7I1H,D2'*>^@YY%GQJ&R<5X9BJ MRB:BK6MFP>>C^S]QW[[?_.V>^W9W\X.[N;V\&SU<7?_!C7]6 M:T'%',^H#*=T3?)(Q6>.@*W=]3@=4A2+^X#KP/15Z*:,4-[F*'0-?.\-?=+L(5!"K,)%5PN;U&YZL;. MQI6&:3CD$D!$;\MQ(>>]/33QQ_B/%O;GS0/_R<'FW?B5^Q!C#Z#C?>3\.<1. M9>^1PR1[#DDZL !S^; S$#J1$K-?W_;K M+2PV1&1NJ[QJF!2UXF50.NYY5!&4)'0"Z;RFTP2ETSV!Z)LP6]J)F;97WA/T M(C]XY9X#)X)(?CQ[K(MRDTK#@B)_PP2Y0/0H+.5E).5YV2PMY)G]2B^*]N@+ M%: (%TOE55VF"$6G>^C0-V&V-+8TJB;,EG9B/J\+.(%! &TN B^0]:RM-WZ> MMTI[1I2DE]\#ILS(L]%_S]$?G:AP5%U7>T.)5U2!CG9G#%A-)694#BP- TM7 M1#J =;IG$GT39DL[,2_8332% ?-Z->CU(A2XR;*P1HLD+'P'$U_!7-S,+"SF M=9R5IVYIE\J<852#JQ8EH@#,-I%D](:ZLNE4;7-V9RND\_D4>(_H:8ZWFJ<9 MAC *23:>ZX"QX[*D,C8<.]*%?UF#*$WE!5>&E+ M^+3U)SWM0CN+6CK,G4N;L%XA36&.2A(8]5)M-YD/EV(T%1;39="$^[=KO*"V MPW';*:7Z-H!SX-@_$3F.J-UW2/"5D M%E.Y3.@Y\FSB(!D1FA5F3!DI3KPI,&6\HR@K+.5K09E"XL%:F7@PT\[+N53F MX/5@?PI3JJK.N-AM!-\F=-K&13BK0BUCX3)]G-Y8V\%>DP5@"LIDW!29%R2E M/;>*.J66(_(%,=RJEJ^JXBMQ$J:/-WK#8PO_80)^7Q(H4Y(6L!CR9OA]PD\&>*\0+O_;QCXVWC,Q%5\#4F4/E.D>#$T M'4>RYT33!FI, 9E^\J;[I!NJNJQ3+).OBQ>A:UI1SUV8NGM\MT>+1\3$68.W M*2F_OOX,\>6$+ MV%*3J+ ;OG9T=J<2:KX*]%?7?[V\9Q7HCS+)T[T 1-^$V=).[-K6;1Q84X = MWOZ$FX'@%TRZ=SD>,GVB]8::S.G80.+)+7@E5'CP1]:_8B> HR?@N)A&W_S@ M'ND4]]"* Z*!7,!QX;M=IDRTXJM"IW8I>+WK6C.5REQKE/JO MJ9?M:_[K$-&G:BG/')"5-9(AE/J&"(69[F92'1NJS,-] @#;)^9+ 2R'&J'A M^+AH=-4GWBY1CPB7TI)I]=3+^Q\+8I%U31-V$61F+5_Z@^9Y&VOJKD$\I<$;O_3;K*IM03>T-5H.16*,-/ M,X&@W/#)ZX&6!:GK@:#V9EB2[ER=S:+ER;ZCP M@E*5TSX? 5MD7ITJ(O<<%34B4B&%B61]LP *C9"L2,.GX.C(EQ7[[>IZ='U> M159L7JTMQS/JRXIM=)+,,.Z&>WHM, M?8& YJ;,ZQ/VF.7^.Q5OCRE>W#[0B MZ3>8*C<)42Y3!9>2'*T2!ARH M?F=AB6/B)&U!8ODR'<59SA!?W3@33";1(( 01%7W@\0<6\\ MS/'X_R^7Q+R#810X5@1M_,'(L]?_L#)R&ZOC"AH5=/RBYNAA*#W"T7,D;!J] MH5%5OB%]9U#+,N>O+Q^XJ^OSN\O1_27WX>(R^>DC^AM'DNI'UQ?)#Y=_^7GU MU]'WR^N'>V;5T&K5E.+56S1[W]YL,V*Y,=[15:F02(K""JA)JNO(0E75=:@Y MGABXC^HWHQOFDD!*#"IEW+O,Q*H>BCO/L_3.]U?XZ'@>=N#A DT$)4U;5.WC M]R+LKM1XF!5F6K$WU$Q^6T2:W83I#.)DJB G]8:JRJ"V_:Z24;]S]JTGP(@IUU T22?<)*"J/"BMAE?[K:]QOB2\>4Z M7ZI4,::"% =<3W2S%0ZE?-GUKGS7-]=$AUCIQH?4BNJJD-33]DY&U+3]&-?; MI[@Y7]Y9GI+F>H=_[ON3?AQ"#H0AQ!/P#VA!P+)F\G/$(XP'F]2-%YYF4,5)S9F2"2W!+X[8.RX3O1:^/Q3 MB8-U2_YLZZ^V,^;I)O/LB;P?DWDTI#PB[C%+5ZX[WOV;3H4A"IW=U5Z-W*.@ ME?8-MU?X;%MA9X1/!2?WZNV^%=&S*5WTWE#?O+;?^A *8XUNLD8%YW)NUL!Y M;RT*]=!WW[/&FZ$M]@5D?:5VMY7B)KCBF\U%4[3FQRD'+ NM':D=<_!*NBWB MT>B/08P&N2F$:[J]Q R<;@K2O8F)5+33)7 .,4*E2.NCA%%G"E7T%EG2UIT$#HFS!;VDDO MK?4AV/N?M[??+W]<7C^,OG.+?A#KF^O&0Z]4/^.43*9S4KL! M':+$QPIFB37DD"L B1,VFD)NABQZ=/QF!4K?AE&9H<34O^H-I?4HS[)^6D%E M#Y?BXPVQM">6F46,+Z@PBRKB"UQTD%?*7_)@L<\*#EYTX/JSM. WBV>RH$U% M1^@5@=4#1M5!CA*Y-Y1X4V%13,80+6&(/6=G6890,$.(6RH[-QR[_!3AZ!7Z MK^T\#;^@?[)7ST#PZ'C]Y"MG&MKO]"]I/O'JRRRD1\ @^8OCV>BW,]$@7).L M:AQ\&BY66/Y%58-)%#(TD2>>8=^Q8^7 USV$)! X0[-YQ5:MYT?H?9%/;-_8 M ['MX+8;"&EH4\+D)W(S@/3E2*L= A>M!/UAME9_ZNTVI2]6I(&.M9.Y'SH8 M/V>DR8?S!#\_.W8T16LAP%_Y8KJQPO(K8(SF$$>[O_(N2;0BM*^!1N]21%O? MO]5_\?HP-SJ:8HP-8)D02I8BJ"H0+,T:RU"'L@0EV_H'MOS2+TV#; 5S\ C[ MXP""7WTP02L^ ^XS> U[G]9W#FU2.B%#'6!"E=OC7#LZF52RH]M\@LDLD%SS M Y(S=T;ZGN%1:#J FKEPTP!+\=_VTU;O#1](O-Z?<.?X " \!PX43UMYH7;H M;W?>WD)T#(T#P'/HK!JT?SW7F2P]7TC/\U7I^6TA/>_W2\_6K/K#XM3XN$V4 M%5E2JB/TL<)YIJ7'1OHWHAYD?RQ]DN<4J\I"K"8ZT'4\0YMD;5HF;ZIY AS! MO9FD[@L?=U_+U"JUQT&D;,W1\"B(80$1:Q[AC-I.8G' W02/P'/^359#,H)WD1^$S]_ MY)R0 ]RCZX\12T\A<*.I!0+(I>H54KBM& L!M$..Y_E/1.O!BE8 Y@X,!]P# M>G3Z3*3*X[)'(8]^>(*N/T<_H:7$$Z1TXVP LN=HPW[AQ''T+.CBM"\[MJ+D MHRG -7+IQ#+!Z=,.+FT]?00;]XR?)\O&NK>YS6X Z(O+4#O+'.#/\1 MJZR(J&1M9&/(=S@_CK Y]&;3Q]!UT*S#9*,PI2T_C/J05(!"SR2(QE&@.%A. M&%,]BH@UA,GIDT_1+B!8H_F\.<<^K0F.0L)'/TSXW"^I-DI2_M"FWR(X6 AS M#^B+7UW?^K442%IB5SI>#.T1-@]5($FZ:6NRH.N*8D)SK$.H&X:E:YHBV48+ M!9@TX.[C&9K**Z;FR@YQRRWBLCU:)V"AO?\*0B>\F;S9]]?DWRU[KY?9R^,+ MS.V;2Q:-]_46B1DTE^49L=1^T%]*:CK-'PQ8<*S9SCN,9'0:D-L[X10BD0G( MUOPY]B G"SPG"9+,IY)FZ[>7AO5*^-G'!T/N+^$I!G"*QA&QF/C;/[A^&'[D M"5UR/XETW\3]]Y!@(^5Q],\DP3AZ)6(;/R="ADR22QPZ+]P,[>(TY"#)/%Y; M-!F"?I *3H&4NYZX_G.X>&7.%W'XG%@HIXG@/\C#L9)IRP78?,1G3$!.I5?\>=P'BT3 M$7YZ9)[$5" [,2(B"' ?4FWDY^!^P/TQ&MTN])%L8\%\C@0.,1J#&+TE\=CA M3P/X&+L)H/ CR7OP8^ZAA8YJG-5 'I)==,#KF3EAB!EZ51&ZOSQ?O#2)Z2 = MW)FM[)[C)>Y&],T!$;(!UN+=5P)CI.WXV/.4;2R'-B";SLH7R502!U6 49?N M\V+=Y-48["Z,X%;*)43/Q:?H;R!EU@MHP=D8Z1NRR"=(>D8?(!YPL'9!VJN3 M74Z1M!4R(-U?0)X,RUJW=$B_P[AG"[?X"<1#='@B,N#C X1K>[K_J0@;?,8J M6.E,[1"T3O!(AO (-!,7E]?'Z +V/Y&&MI J .$*H#^$@#+'2@)0\\FIN IS 76/U5"R&*[/,W):[93\Z*&,WF8F#_[.0\F7$ M*A&I:<, M#'XP>^K'KHTW,H" ? FQTS]C+PEFD6.P,)=G(0I\]B(^S @S<7#(:D$?:&^*;7XC MN>\MSXX2.FTNY;\) A$EE\++\Q?/>U3NX*S$VMX/Q_P6'(0 M13-(FJ$G7]GS=.*0&1^RV&*;"E^PHK+XSF, DID@M@H6Q:X2T4+BEZDW 7$ MP14^<#EBT0B2]@Q71O;I3"=.O[=4/$%C3!1,.T(HF:(+H0=@!FZDH)E)J MMDBW2R+=4N4EU5V6W[]S;[7[-8>2W['@O9N>N&78[K=L-3\$[RMA[>G>N53U2^1+ MA <)K'M564%NLX,32K5R*W5%0\V*'ZXR^!G"&\FEV'DS+">O]P\\ZU;1M%T M:2PIMB)9DC(> W-LV89LBIH")XINP(-="8V@<+LKX6=RH76Q'9W0FA.M%V2> M\AU(Q]3&@@CK7D1>+LVS5/!2GR_28.I M1-W!A@0&HCUFV(@X$(0SR/M)0) M_M+:0Y)W8M[.&';;NC\O3-9MLPO@$T3P3Z>$K\:%ZZ=H\B4BEA/UBKO!1B,2 MXX\^_BLQ+?@U<0&?@!N3_<)"8[%[F:J0/-D/\;-=POMDH['KFIC3CO<$4S." MQW:%_YS($6*)HL/:B3BL7D"PB3\CLBVWZ%5R51=A+8$$>V9X! M/F%?\>$*@R?TEV0)*9SPC+S(QY*.QW[T2>PB2CPE+H/M-\/Q8B.DR3AH/NA+ MRRL.>-2RH65RX2%8+5R3N1[N;GXNG0Y;$<"OY7GRJY!9WX&E=W\QQ'+>$H3X M^\=IE04"7&OJP*>4\@NU(D(R@,PE#'V$-$P^PDH9G-%6VN]J(SRF&%9E\(3> MQ@I ^!8U6%] 2C'>?:PV88@B.N!'DE5YA.I^'*8+W.3. &8A" *T1&\.?8\@ MA20+)%:=$UCQ#+$-QMJ&!?D\=9 Z]+Y&\HZ&DJ7IL!R=G5)BVH$'5U 13 MGQC%!%6#%NWF5NRUHH98+2!';.*8GA#/Q"^L:OPSMA]3M]38C]-\ :2=D6 @ M5LK@BE*]H1(O3GSLF<3N,>R5!'/LX\'%>G!4(5$3<"0"QTRBF/BGDW/>(HXU MVYE@5T<:@L!JZD(726S2U04/#\S%H<@>+)CY EY[C*KX/W@NR*\A;TMF*8Y M450)C%7%4L9 -N2QIMJ3,= 5Q"QO+>ST?3CGZ3UWP 9=Z*9$$6[*(2BV?F_O M3@_74Z.0N)TEE3*7T1+$5ZAK QAH$_R1+E=G3T1O2Q\.V,9Q^9 M*M!;7,P0EK@5>T/?@QO7,KAQEH*73>\LL<%)8MDBKRPQ -_+SR)&Y2)=+ IY Z9R,N7R!5DQVZV8R049[@&./3PY\#M,HW(I6LGS> MV_#6/ [F?N( PYX%:S'*CX/,5YGB&'^P$F]+A1MI2R::(K\5R).)9(_'A@S'LJY8ICK6P<2P1$55;<%0H=S"3#1Y M@+3OA0^)T!3O#D>V!Y-^J;5>>2%:5G;"M":KMHJ3_,?"X[9,3$G.\25:E VM M59\HEF09$U&W%0O!5T$(%C1Y8@@RL, &6I8O627)^V=Y=T[N?9LUW"82MWM" M5X(FEHNT7V?B8$=N4EX2.T#3>#I.47X"CHN_WT=_Z(=(8F_56XNI?=84VK$+ M;R:C[.G?_. >K(+G#J*'6$@5)V\@!OX6 :2^A122@/I8UL;2V$+GKJ&/-LXF/W<+$;TDV:IYD189;(XL[-G1+XDB:=/\V,^D#<1S[ M,4*('7X\VQN8VD3"WC46-?:2Y2S\A*2E"P*["^8A/,M^^)Q5JW(\ EGRI<_K M3\?>L;I>44TC>G'P_(1V]NJ2:?*>+ ,*2='PL#\<#/ M5'GW2]_[YGN3-0>JSN;*YMJBN1KYGKJG%$J!VF?[6^'J&V.WU#M(@P^-E 78 MKCVMG01K-^^/N'DYRC?M;"E7KH)=^:>;53R]%5!9R>0F@4X/1MPC<'"^=Y#& MIM/L]'@6)R'N+/RZ,U>T3*4[:B'1MJ>WC=-;P2VC&785_YN$CL*HCHJ.)[BI M?P1(:' _O0"BN>"]_0/+GS8+D79N^W=;;GE>SYTC-:1.>EN*AU3I<=OG4'@\2W#^9(-VNB3F);VIWGW-/"1>.H M[W=>++,_7\-SY?V:7]CW1"Y=J(5;&OT+$E[@VY#J#3IP7:/?_#0-_&V_JO2&)6TB? M&7?F6\=)LV:;^/(##8R)#8<5QMQD0*,WE#98;\,Y5PW!&,LQEFO-4?B&P][P MW\)R1[\G-CKFM"(GGWFTDZ\3/'CJ;'C"G+@[ V>=1\]Q:T.<&EK,/E2%Q#X4 MVZ*!5M1?BV)7%9X(KDJ17/2U(;D/6*O_4RJV?5NE3\NY4&W63:.*F U56:6H MH0Y#&64HJ]P!H4J5J6$,=U0;V#4!;Y^!KE*I*0I(X^#76MM-O\=?>;NYM9R_M(9-'PWI" 8O M2%6Y(%KD\#L!GUY7W7;EN":O*;?)+?HVC9HQ"F,4:FW/FCAEK^UI(,5-%\J' M=QF;,#9I_#RIVYBN/"#+N(9Q3>-<4[-O0!.0,J;SFKJ91-1P2^MWN TW$7=5-TZ#(/\=0 M1AG**H^<:BQRVEK<%;->:P+>/NM5DWM#;3,;A(5.J855E:BJV=K36.B4P>P( MYI%*5#.Y]-U#%CHM:!V%T:*!S0P!Q'+FP#W<&&*QU-P,9S1L#.%8JL1K8ND\ M4OJ\> QF5<&L>FNH\HNL#'=T6D,U 6^O-80O:BIFIV)Y'<=5E;"JVQSJQ@Z56Q.:0+1#E#2AI%*.M\M.C<#^:X>QGDQKYGLVA0S2QF-FL Z6)OJ!F\ MNL5URAQ;#&9U&4 Z"P>U%G?%#*":@/?& "HH]/ M.UZ66+BH1;"K$G4UVTT_):+ML/\:=K$A=+E9PKNS6=.?DD1OV&N"PJ6#PIJ!76P:K%'TI MOS7!N)MQ]S&X^^"KLGJ%5V49/S-^[C0_%_*"U<30Y9Q@.$6 %\3JZCF?++,S M?J]H=^AF^0HYOFX'9%WEHLM2N,UWJ=7WR<]5-I36S)6U>Z>\[^4% MM.!L# -.%DG+=XFU?& 6UO*=M7SO[+:SEN^LY7NK M]_RPEN_TI6RQD4=,;*,WFZWVU@ Y78NL2>,)-6G4A&83U RQ-Q057C&J*C1* M6Z/P7/-AG,HXM69.K?QFH%'=S4#&NHQUV\:ZA=+*ZN+=?=5E#+DW5/3- L*' M)HXQUF2L23]K5LF9->=_&=5=0&6:Q&+7S!9!8 MNPRJ^%-LV).D]88:;YJ;M119)0>&LMJ\(-45B&6XH]J$KPEX>TUX W?BVLP> M9P60J,55E;"JV_ZL[OX1@UF+85:S\60*6#N7T1##2U%K<%3. :"P5:))2@;+"^F6T"'95HJYN^XB%BQC,:K>/ MT/R1[J;PLE&Z:-KQXD7T79AE(X]XK9CUR\B1Z\K*=;)RG7M.'J51KX$BX.O( MDLAK>L7WD=M0JZ^LRD!),23$H<[).K24R4<[&5\M% M@Q<[X738TB0$+PION./%@*PJ=]L0+6,\Q[/1SIZ)!I$ 3>!I%'+^A/MS[$%. M%DBI?9GGHBGD(NQ5Y<"B5+3EAQ$WQMXG_ 4\XMR?H0F_$L&O?PXYD.&ICX#2 M#P'NB;*LRX[+KV.X+@KUXB+KW-P/'8)C^()H;*,_.U'(37 )U"=< I4;OW+_ M>7AC'+5!95E;ERTBK]^&D(8L'_9^_=F]1&DCW0KZ)@SXEK1ZBQWA+M"2)ZVO9>[YVQ M?6S/F3A_;112T6@M)$:/;C.?_F9622! @ ! BIBIMT->E1E_?)969G4Q;(' M.*:N] Y& K-CJ!S%E+*+$O^G-(:E'R42#?'-2QC>!31F&31*$\;3%^#&R/L8 MNECX%%#&_]UJ4BESS-B[R7JUA5-P.OTP6D']*AN0XOWX["4\(& 0##$N,0-' MF*2 >X:&)4PB?&(*ET] :.'E\#?K\!"%6#T#Q-:V!A#XE*XTTTLS,0_#_92- M@2#N@I#/):F!VV,%/]PS:,/#YNV:4&V7[LIU@C*_A0Q 6V7I^EOJ:1.NM_** MUBW1+\X2,4L_1W$QF EYHG<#6,L?=V0(@[\GP0N9)ITWBT2 ^>;/=LPNTOPP M^V\06=^9M@).>T3I%*;)+V](?Q$"!\'ZZ"BNKLG^ MA8*6'\1$ED >=B]_/I\BM ] ^<(R 1,DK!5(R$QF)AL_^"'(8Q\,P&]XTG;, M5_+29_TJ"TD&NH5ZKZNDTI(YS]28/QQJWF#@Z'2@VX;;,PAGNH]X!*T? &EN/UX +/,:A%>HZFZ[KG.BI5B*?-M7JN3U;5^"Z:>]% M_9+K$^P@P!H(,&[\#D__-8C<'W/%W.M(%-3U!-Z3QAD]FO \;MK'".T%-!V8 M<8A31?.9)JCKT3IX8JU!*FR$D%L/);,4[8YT%"54@KG^H-SF]L-GL*49]KE9 M^P+&]39K&)\$ V%WA%+Z0@,P*W([%;YB+UK^$'PLBL;*LB.&(^6>\DH[-.D5 MC -&G $%O>3U?8'GBVE%J5G=GKU?$[[3M_93X4;3%H,5@Q6#/=I@+;-MS3/U M4O1_(?2XM;)ENSL,+2B99XE>U7+_7R4O=IY;P5=-Q M1KW".A)4W(.*JWG1Y^FF>34$7=.9[1AXO$;R[=^J\2;))= FT";0=B'DJX.V M$Y5F/&MZRF,T'M.818XG9$+C5C5\O*$4J-M)=*J?7"YEIV6]\PEN02#7CN#[G1^X;0<6LKAXEG,JSRI M D\>L7F<8$7!BK>H*PL._!S_%H5/--[A (%ZNJZK@CL%=PKNI/&*GJS/K+I@ M5L&L@ED/8-9J%MW9N32$ID;:&)U>Y"/N>FT(C"?:Y?HW44/31 AO.D!W5 M$8I'<,Z-*)Z]PX]VIZ_;#33:$3F%.P0@R1,-W2FK%?F$E>+Z6W?P,CV]NBWA 5K\5C=$&'[>&PG%G-:ZM'KC;>Q M;5%<6@#P3 #S>_2X6:?*NF4)$%X8"'>S?$^*PAHVL0T.E[%Z M0.62TRJN'&^G@UM#/KTC1-N%0NV$HFUOI[[7(@%V"QOWCU$\P?ZU5!I$H23[;5*SS5?^4@;)',VZD^2PU0XGD]67-:LKLEX-@NF=B,(V\8G;YE MRYHN)-^E0>V$DJ^F([\C]$R4;[IVR/FOT^W>>WXR"<@4QTDWXU1<>>U7-I3H MP6!J=VUS>W0HC29GDC*KO9!/6XX^;QRO [F\* .1Q,M\BV+UAY*FW[)J-U6\IHG%;_E)3\'ZM\SZ.]FU)^7]&D%,+/YM-7#D5'"YX/*K MYO+6,/G!L6.GT[=U63.%@A>L+UC_HA1\TQ'['D:T'%,3^E\( 2$$VJ'_F]DG M,3$K1M%D0VLJXU%PN.#PJ^;PTZGYHVQ/F2H>6U;4"U?F;*_B38K4@G\]_[G_ M"_PHACPF\9,?%B.S8%WS3W TUB+3N106+(;GLH?-)LU'#Q,.R"2A]\4O;XN- M$S]DT& WO5U\'VY\+&]TX/OXUV]??"\= =J4+A #54:^Y9*_.?^ZR[Y:6@K^ MG69U>_;ZKY6NNN=WIK[?4S<-5H4;35L,5@Q6#/9H@[7,6H_=LL&[->%DETM+ M]M>"FEC4!17J8%4VGT;].TO:WZ[4_N^H2\<#&DNZ*DN:HFD+2O.$!.XMTW=5 MT5X<<7%C0DI'\%Y5D\8LA%%GB[[._&^*CC/J25$,O\544'$/*JZFB)Q2?EXA M03\0/Y;^EP39\?%XC>3[9PSNGC1W"B5T_VH5I[E)<@FT";0)M%T(^>J@360R MBRM/F\GO=V?J L,"P^? \*'9DZ;!&EHIRNHI9P'^VX'Z;+MKUZ]*KJ<"Z'76KR=#FX-N>W8=L^1]<.K]0NH7:]HV]MO[W7ZIG)( M"R;1=D^TW6NO #]IK>!=1;N-!<9,6=<.]M1%2+;5HOVD*-PN]&W<;#I(Z N\ MW:S0.]15MS6P.'JR8HKN4Y<&PA8)O8:K^-HZ%O[3#-%W[X+@>#HT-N/)VT:G M;QNR[AQ<3E9 [7HEWU$*F]HFRC?=$'WWQ)67=:7HNR>*=HNBW:VQHXQ6Q]-P M%[@G.[V&3T6*>OV"]:^3]7>R:T_*^S6BF*SOWFH4Z:)*]0LN%UQ^.PK^X-BQ MT^GW=-DR5],,A8(7K"]8O\4*ONF(?:_3UV5=;R!U10@!(02N6@B<3 8TLT_B M8%J,JLMF15--H>8%APL./Z.:/\KVE*.B,C<5Y;*5>47?O7P^G[(Q+*R[1Q\^ M/_1H",OL,&FP\+2E9567%_)C^$R3%.L^)8\!21)_Z%/OURD::DC>C 2_DQ27 M>?H.%NX[#OL[/.[7(')_S)=&ZT@4%FP"#T[CC)YK:V1$ 5-!$+W (DF\&^$D MI@E.3DKA2W<^*VG,IP7HE:(A^_8Q&L.@IZR\C/TV@2OB'Y0_Q9]322+LAG]E M(95TA;6PTJ57?@B/ +.6A%[R^K[ XVD;(O9Z7V:[=IV^TYW]GOJUL'6;H1WZHW1X[13NZB^&0M\7&-;]23K<58+:YEN MU;*VVL8^#&.U%6^[(?4PCF LV(/E,4K20[K9--+*YK*(MU,;H%9DC;0W5>1= MAI:+%,R:0L+DI2DE\1G31V[:N[QL_['!MNW+#N/9:?ZGGX[\\'-( M_P]0.Y.K*%9W]A[U3M]69=-IZH3L-06$MO<_NS6^%*RY$VNBUF9*>V>VQ'1W M13:"^RL>"^!GR8;:_G-6K?!RQ=D( ML;$J-E9/+@^7]EG+"O=7DOB[;Z)B/K3BR#VEJ<*?MYXVL7&6@L=W)=#-P09.XXO<.O-HEHZQE(C!TS,.3,LE9K'DEI5\*\%>*ZP',I)JX\9;X'ZT4EFB N_62$Y=OAWIC2.Q ) MV)EM!/^0V!U-9>EEY+LC'%F$ N-OR@G@AY,,WIDE<#%+3J&,5H2-3! M.CUA^HL?YF/"EP]G5+V7+AXBO]%G&DBJ="?]3Q:E0 FV?FS&N%[/-%^G!(4K M2$X8+@H?CHH$85%@ .C4O19Z:$"/CQP>$> BYGN#!:T8SY 8!,< WO*,@E&6 MJ,\N]'S@H10@C]0*B[]D*_/L5KQ9KS& M)0LW]S.0HS!L3-M*L_TZ[2"]L=61*[,Z&-"FM 4#1' M_)H@>@%A+P5L]>"I;+TXW>'2S60OZ9/N(I'1G''YB1LV@ 6RYW,S,* SR3-T M[V,:$,:<>6:;PHS>TEWY*BGS6\@ #+TL77]+O?5=R$=IR8KWELA9^CF*Y_E- M3_1N$%/RXXY@D/*>!"]DFG3>+!(!YIL_VS&[2//#R%6+.,/AT4Q,/@IP/U @ M(PS 7P!CR&>&-6G-6"2PF< 9^X=O&<[ (6Z/4LTU%-,DBFNY YW:5->HYKG_ MMH'!N<892IC\S$UDTC]0;)5A?29?X L%;W$0$QF4OMN]_/E\BK"=$10%\PQM8CM=3 M#=-S#&J1GJ/INNZYCDH5XFGVT03/T?5PGJHON<61!; VP>9P23*2Z%^9#YJ1 MY^ICTZOJ-/Y<0Q=F+UZ9F\Z\+OIJ,BP,$K1R91;]N-*3#Q5\YZ?R[]4XGK& MPAIK;#'2TLP M-T"1P.PS;VZ(H)X2)85O13"[3 \^-HS& X)R&\.P0;+EX MWXPHDSB"P0+=XVDY@,*YFUGJ'IU0!H[YE(& /ILS<$9"BZN?: CD1Y<4)$OA MDA6N<[4[*Z]'>>(#QDB\R#TC/TG!/4':%8-)8QA=PEV5A$>5I_C"PM1'38H$ MF5 @ 8PXPFDR5;J,GH*U.0F ,,^^QSW(M01=7)=GG[[,PW-,*$;//!"6^TIY M!!U'"]\@L8J9Y]-@[B@(!KS9#WE('$>S:5V[8/A(&'[&*Q?'A ##_\HA,R:] M68!L'CXKILX(ND@5/P\$(AUGPH]/)N=,=^8L)K.H?C'A*N:\?%&UH!!\CW'K M* H\"3\H0A0['*\#N+^C+AT/@,RZRC[4NM(['K%$,B;^3\ 25HZ0D!>]I?MQ M2?&>Q<6?C8P %^ '1>PWF85Q.H8*+0;",R,XR12 M#SFC6Y[XK1)0$P0\C(!U*@\( E9E ''ZK1X8OZ+#W6LF/W,9N.-UC+3W79[1 M&#S%(*]SD%=TR+&:(Q^7=I_NCWJZ43SCNIXAVAV=_4JQ!&>_LLG3BFJO'=IB MS78NS'I:[&X-LWW;?!]XM.D&#B==Z?$B:TN%5K1&'D(/_WD_MTEFNS7O_,0- M(MQCV/5D44]A)Z=[AY^W] M"S>*G68J'^WB/AI7[#X*:,VAU3L&M&JX6UBL5E;MU4:B EW7@RY;.;W@LH3@ MN@EHJ6<27';[!%=#WMDE&)XX$'8 E!U_]RBKFB.*WA^7U;332W&G,2DNBMFW M&5H-U73=68JS/O:F;@AT73.ZMF3T-"^X3$41@NLFH+4E^^5(@LM4U/8)KMN) M>_[1_=;%PBE82F J@I['Y; M23-'XS"MTU=MV3*U%GEX EZ-PVM+HLDQ; -= MA*9N EHGWZXQ%;%=:*AR^O'/V$MOY#5Y$LF M6*H7"UO-:^&)>.A1F= Y^:Z6J32WJR7""FV&UGEVM4S%[O0UN:?K EW7C*Z3 M;^28BMC(N0UHG6UNB3!#FZ%UIMTM5>WT54W6K38=PA/P:AQ>1]G:V2RYKODXM(#6'%I'V=:I M(;GT%DJNVPF0/D;QA'4RE0;1OH6?A+-7F\E.O\&E-K?!)>((;8;6F3:X5+/3 MMVQ9,Q0!KRN&5^_T6S>JV+JY#6B=:>M&M5LHN43)CK-?>8U1Z.K:'=^CE 3G MJ/6:EVS/^W+I0"PORK"$",YY?4'W6RA/U@AIKD@Y;-MY91TG#B]C9JI.IV\: MLFDY#<4AFEC(EE<+%&PLV+@F&V_;Y6Z,C7N=OM,#H^[@8N-M M.^?UV'BCVZ\UOE4N6%BPL&#A@H6W92@TI8DU3$DP=-E1FSKZ<$X^%G&9LU\I MEN#L5XHE./N5; G>L(*[\*_G/_=_@1_%'8L-[RW0'ODG*!8M9E+P6KV%K.5" M$]X=D$E"[XM?WA:O]D.F;MA-;Q>?;DY60YDH4_G7;WD'\5ZOZY@ZZJ@<-OF+ MM[Z-#?#6=P$NMU%712OTP FJ"@(<14!<$ MW(. &/S@]&,AD%W$>-WD@/;F!'SP0Q*R!@4\$G34LV@UGG&E+>C%()L:Y-5W MV,&6;1*=]VP3O77$,QKKK=.^ -?U77F-"86BD[QH8GJ$SLXUUV(5K'*UK++EY.U16.6::\L*5KE:5MER MDOAX1IC90B/LZL-+HH&S>(8(,EW\E;<39!*]9$YG"ZC*4>H^U+ %+,P>EQ6E MJ7-<+3*=!;Y*^#I*\8?-;IE]Q6Z9P%8)6Z>OVJTU5[5;8*O5V-IVH/E8>K'7 M0KUX.^4213^9=G'AZ2MYZZ)/[8U@ZTREO'6UT[=D1VM38P8!K^;A=?I2WGIS MI;P%MEJ-K3/5\M;U]HFN&XN+BIXRY^*YTY?VUJ\YOT!@JX2M,]7VUG%#7I-[ M9D_@ZYKQI9Z^N+?>7'%O@:U68^M,U;UUNX6RZW8"I:*OS&FY[/1;7;IH4'LC MV#K35I?>Z_1M0]:=@SN#"7RU&E^GW\0QQ";.C6#K3)LXAMI"V26R=,]^I5B" MLU]YC1L"HKW/I9P9$]7(EQ3TMFWPILJ1&UJGKYNRJ9E74(U<\+'@XY;Q\;:4 M@\;X&/N%*X:LBD9=@I$%(S?/R-OR&!IH\6,TGK@@>%CPL.#A&0]ORQ=I3!F; MH(SUGFSU#D[Y:P$CB^#,V:\42W#V*\42G/W*BAX_N73]E(U!?[C\;Y3Z?I@1 M)FYW[ +$I?(@?M.?2>A=>PE5%'%GG_BA!W_=JT[=%^6*SL"&0I,H\7$^]S$- M8&+/-.\CI"I,"Y;NRL>ES&\A U (6;K^EN9F=&KUKRJ+U"O_Q FB/O8MPQDX MQ.U1JKF&8II$<2UWH%.;ZAK5//??AM4I;AK%Q10FY(G>#6)*?MR1(4SYG@0O M9)ITWBR2#JB4C\@QN[A2AQ&Y%DF'PZ-%Q_DHP++!)"4$#Y@B-,:K8#BD-6.1 M1C':=/_8OK9VI_^=%7&*AM(CFH,AUNXG3;+WF;8QOE P1 YACSE;ST6;_*0I)Y/DSP=94H6U!O MR_[,LO_R+9M, D88$OQ* J 6_3:B-)T[,LEWN/W7(')_S'T5JR-1\& F\* T MSN@.4JMW KE?336C*^43E-@, 2GC"5@* EI/TST=I+ 1YWX#!'5$O"^CG8?&\Z6,6Q_ ;DX<50+#W!L)NZNNH%L'W$05G/0BB%W![I;RI MXRAZ $E@C[Y%]92"5=87W*='9:;*5[F?3*#^%940:C])+7 M]WN+("#0I?28T6GO#J77D0GK04Q<\-T M.*@UY"7U%*OF@Z_D11J#*1N#47N6CB"U>]-=]P9)C?E?SR[(EE,+,V,1P/E[ M@C*E9]0J:NED,8?PR^< MP@?QB:ET^H8FZ[T=NRP<3]\(-.PJ-!M$@]KI:Y9L[YK T:+23.T5C!_\T$]& M%,N$1L=IA5C!(K=:::*N)"T6Y9^X)H?Q#FL::,F:JK6HQH1 UKFDK2CZLTJC69**8JRE);4\E(3G)@_GD M#D\I$>DA(CU$I(?<7EJ$2 \1Z2&8X$VF,0AYIC/H>!)$4TKOV/D/BC-.4I$R M(O:L6^"CO\^Q^95#LV3?Y0G'.SL4=J=OJ7+/:+@FC4@8:1<&!?,=[K@WSWP. M,)\B&\ZN0;.VYHO4K1W97D.@\.?ISPF>BQ)5P\^J[CZ#]Q]_ ZK$TP:X#?N6 M*K*I'+RA)0KNMAA26X1XHY"R% :IGG+P[KNHL5N[*L%-3NWR7>QW=$AC[$T< MTV<:9E3D(IU3L^+Y?'S,GWXZ>LP2F!.-"WDXW5<:JIV^(QMZ4]9LB[Q% :RZ M^O4HP-(Z_9ZLFDV5VQ1:5FC9"QFPF)J86JL&?$2+]M)B1- M5A-@]K4], _:D&W-:)&++S!UCJA1THM[5+?]IQ[UI:F,KL+ZV8LK6SAG'QU_.RT@A$(PM&+LY2Z0YQK:0 ML2U95QK./FC-&8/E>M6'%';\$D=>YJ9_DC@F83K;.IRN2:NW-A9XO(SZC2,2 M/L'+6+X\954_23AE/5/LMPG,+O7'+#URPDDCO>2TX785"62XU0TR#RZ!9U08 M6S(BECT\\7]*8QCO")X;X@VKF?SI"PV>Z>)5*TFKLA339$)=K-H=3$7YR$M( MN1?G \3Y@/;FQ8OS >)\ $R_J(!-4J:O!A0D>HA:,QJR#R;PV,@3AP1$GG(+ M7(0E6_6!FV,[^P=.IV_*^LX'^L7! ,%PU\9P^FDXKM?I&[*N7@S'7?T.;[Z0 M['!Y[M[B:7,_2<"5%;N\1^4YM9KE)C2\_Y:"0T]B#WZ^_YFR6$ U!WX,W9B2 MA(+UROX%?GSD80T_?)\',. SF!T\ZDM,Z4\?/@V?_IRM]:X\;&-&N*PB).?N!'W5 M@!K9;+E](5.V7E4LI'7Z5L5IZ= M31>R+8X$/\RH]X K27OFD!B:ISN>99"A333=&%(0Q-2CYL#U+K"1L-F5YC21 M.%$NOH'P@_M7YN.I]BU3VS/M#.OYI_0W_YEZRWA:DWEFV\M0^]:8E27ZTZ4@V?@$J'='0)B1)WCN. *A]C=A:H&['Y>4I*8J2A=6 M=9\L-4/M:CW[*(E?ZU^Z=^*7V36T_1Y[AL&J74OMB<$>9[":>;7Y?VO4VZK, MN^$DN#\+"?Z02_"'L@3_4C> =*WD^6<<)8GT"-[)%+4P$"<+ZQ3.O59Z@'^6 MC3->0[B,E!LFR2>:GB-Q]$0!@.HY?]AH5MX?=0.PQC-J>>>'O$ ,\K('>:(] MH;,&Z=[19QI$$V#0E+JC$-[Z-#UJ?M=A]#NE8-\MS+DFPJ&MQ#B*P,F&"$=A M;N76UA\)'6;!;_Z0+D0\8<#NO9?%4TKB>13$Z?2=KK,<]I/PHJ.49SDX(:IU M++%S1/]*8_*JIFV.RF] ,+.(=X[/]P"[NJPYO19E:0DVN4$VV3%Q9G\^*7E* M94=I5\YQ,/G6D!U[M<)W_6P:P32":2Y!M^S1/=)1.WW+D8W#FX5?7O[O63%1 M%,*56$LIH'[3=C]<=64"8NE(66S)PX87!#(3H6Q?4P^;!@N.[V# MJ]=>WB&#LT+B>TP\*B5XL@]3AT)6)LNER;%;BMU:7-D\L=EG@7A6&C7[Q*G; M^J+3.K'99V.FM&8>7/FT?3&E*X?5CF;?_KAJRNQS\!B@8:PB[9(#EU<.LE-A M;!^SK\?,OL-+R9PNT->^!B;7=^7I:_R?-?.*E_E?S>07@=?F+/#3VM\]I=/O M=>W315UKIE-5'WY;GVQUU7MV39+F>BR +>>UF_9=>BIPBBDK>E.1GR:6\S)* M.PIFODEFWLEGW)^;&_(8>[@!Z<@]=;4IZLX[!8*U!6M?-6N?AK/W\--[>J=O M6[*JGJ2YTI%963CX9[]2+,'9KQ1+*C-+[GB7O/ M=%[[ -5*Z:YT9BS2*$9[YQ_;"R#9G3ZK-8.5 ![15 JQN WI[UVI9!779XH/ M?Z%@H0UB(DL?0[=[^?/Y%*7PL#3"90(F2*B'OS$KCQU"!]N5A*Y/ NE;"A^, M^4I>^JQ?92')/##*O==54@D$?5X/B9=I8%6_MI;7VK7T3N5;ME9>ZHN2/:)D MS\55P;FHP=YHR9[-_=HV3_+:BHZLE.WY91"_Z8O:/:)VCZC=(VKWB-H]8I!7 M.\A;.&HA:O<<^8R%?>(<+T/4[A'U%1K*NG9.G'5EBMH]@DW:,+<=3\#LSR=- MY3-9G;ZJR*JJ7]41&,$TE\0TI^*9?3*%[$[?UF75;M-AQ.L* 8C:/6=R,'HG M=C <4;OG?&)3W])?LW&3O(>U>W1GU:X0M7O:#:O=3-@#<-6,"6LI"M;NT8W5 M0[>B=D]K078JC.UN\EF*VND;LF*T27+=0D!9U.XYB=FGG_;LL*5HHG;/&47G M::NH6XHN:O=<)JQV-/O.777<4@RLW:.KJP>M+SEP>>4@.Q7&]C'[6,G&GB&* M=)\6$I_3$8U%7*]! V^%48YLX%G89%J$]L M=K3OSEV2VU*<=4@38;W6@NQ4&%NQ[X;^3^K=_4WCJ I*O4Z?]9W7WK9(;#44 MT[OPJH BM-?@CJYR6LM/964!K?:DC&XLPZ)LJL123N6^XJ2@!@ET/8KHQ":T MBB4"+=FT#RX1V/BBMCQK3["W8.\]G)FSNS(JZUHF&TTDV0IF%\Q^8\Q^&E[? M8\M U3M]1Y552[T:32[*J)W]2K$$9[]2+,'9KUPL)KA4YZF_;]VL\]?P^SZB MTA.K^N$653\(J_K!,MY(J?X%*5=*B892"G>ZE:G<8:8N-"5'D9!$+W@(O.*8Y.8)EC^C:W6 MP@)33A%86!=UO,=7&$_71^SBQV@,L^^ SE!L3]6-JZFR5E.H5OM5&R:U=F^H=S%[ M0_7J1'UGDOYW+N'?+TAX0:Y5#V$$E@[$THG2GH%N9Y+%CU&2HDL?TV<:9O2,'11O;_=DY_E?S^:( MJIN;MT?*(9K/P^4 3M4.B-GI6PTW43K_SJ5@+<%:.[/6ED;CN[.6)5A+L)9@ M+6 MNVG6PD,L^L&;]H*W!&]=/&]MJ::W.V_AL1W]X$.TI^(ML=-_]BM/5-OF M?-[^-V"11):>:$AC$O!]?F_LAWZ2QJR[H2B"F2&L]HA M7)1 N2)0&5N*DC4+*DW!T[ ]NTW5*02HF@>5>E)0L4IW/=L4H+IJ4&VIH],P MJ#161\=LZG1;B^KH['#4^GS6)CMG?<8=)7%@YP0$NA[I=.".U(ZR24?3W#Q< M-C6^HI<1&Q2\+7A[!]X^<$ML1]XVD+<5_6"W6_"VX&W!VUN]BI/RMHE5A56E MX>UPP=N"MP5OK_+V@?OM._*VQ=HM.-?#VXM'5]FYN:4*614'6O%D'5+$MPQG MX!"W1ZGF&HII$L6UW(%.;:IK5//GL_B5@,IH*\S@IY6WDR MU1T!2\/[_%!Z*BCK93&[&K[>?)24L^V:8Z2G/1+:ZW5MQ=[G1*BC=LW><4Z$ MZL M49>.!S26=)7Q=ITC/R(O3>2E';N,4Z%A=[8U>YV^:EFRTEC]\G,GJ%U%YZ\/ MFXJ2B.2H<\9Q"DYC73H^AFY,24+?4?YO!8?IF*>BK;9BO/B]WU8ST*+67K#& MQ4YP>U6ZB#J5)9%^')VOJUSGJTT?IFI-A&DYMM3^TFC5GM7/ITS","-!,"U'7(91%J>8TB.*D2DDN5;Q;YJ@=8K/V?K'9=W20;HK+ M8D^O/%Y,O0>DR6!(55W5X-W$,%QB],A0<0=.SU65(=%4[P+CN'97^@B<.DBI M%](DN2"FKY[/(W"2GTH/3S&E",+])M1KCQ3['$H/D]@/N-K4#,8\P$*E^H02 MB^?QDH211*1E&DBO\&*L8J@I;Y>_9!^K;U]++SX(NW]]^3V*GV"6CR/P-:1? M2?A#ECYU'[HRLO#B"1J)/-&\A&: (>E89K_C/%_,)R/Z$"JOB77#QX?3&S"1.[@D-*TG]X&(93I^$'RA) M8=D+U_HK>)]?^WT)LC-@+KSP^9^A^S%\-'BURG,ZY3N]*[N7G MJWPN;,G\3F)W5,1MU5EYSYQ9E^']@APUYG<";8%P\#N[E(T"">_A@N!CQN0' M6 IH"^:\KP+!FH1F8 M.()@#,,X&DL?Z" &:DTEU<[+S<([YA]:[$,#WP,OFHF,'%S,VAP3CQ8#B^F0 M8IP0Y /\' %6?N!4X3-8%2 G'K8DDTD !$/1Q;&4,*K-!2Q@K3Z]_! MUJP0PDP$K)6N(.X&-%X5L LA>Z...ON##:Y08H^S:7V@] N-<6<0)C(3IW?: M7)Y:G;[2U5>/+?VW-($)H@,U[EZ\M*FT0]#A\V.:+"O0,<$:T*BR)10K8"5( MS&5"+HJ?$#0Y+E#<1 Q1<%<8I<"I+D6(2-M]H)P ^2@-W(*?1 E3Z_>\(/DS MG1=C_N]%IR.GMS*_A0R2*,C2];?4,_07-I);LG:JMD3-TL]1/-\7?Z)W ^"Y M'W=D"*._)\$+F2:=-XM4@ GG#W?,+A+],'K5HLYP>#3'B(_"PSKG;(?GGHDE MO J&0UHS%@EL*A!M_]CN](//_YV+X"&P), PQ+:6I'^@ UO&]9D\V"\4I7T, M=@?8OWM*U#;-YU.4_L;BLZS6_@Z2BHMI2+R2-?6\-).*O5,4GC,_64PC,O*KRL]K$8 %ZUW;@VA MI056)-M98RXN7,(Z-# 5S,"QKU/3HM!T!3&8>;"2^R/O'?TUS(WQ7[0-D\(X M?&0Y -N[.Y>BO_:NYZ&MHP['J0Q&KT:G9[X(+$"68K >]X4V&.D54>I]_.3NCBQ=G', ]]:8IB;@Q-![[+.NZ0F7/%]L?6>U@_Z,RW MBG/*@?/-T9&')O@SHYBY^$6$"/SP 4G\!+KB9C(N')@LFSG9L,LASWSE2PO_/@_8?(>'?Q[.9$YE$_"7 M*/82&L[8VU Z?;B[Z/N]U T\]S470KPYD;T90?FFYRI=!]-= [V+AU?,S;-> MSFCZ&/[.!_3 QI/?\"4?S:YQ7T/%.,5JR1XI#_D6E@@PU:BV!IY!914F*U2= M W"%L/#:'0GK[$+8G(S_4PS@4$IJ+.*S@9+2'V% $\X<8,6C-0]H#'R,I!:Q MZ2)BN9Z"R8B%]WY.@(P+*]([U/MIA61D^P@H?;1-DC&L*Q(!3'*EI),QG+1K M '&A2)NV&5YY?# :LMIZ53%"0^_TJP*$!2/ B!*\%S$QB2,OHSX-'Q8\8S90XND"O0H9@M@=+BC$DM+R.:A[B7UX73'!_-[\X),V+[$,C*7A[)1S^0;>5&44CCRV?IPH K MF@>"C@TRCT/-7>PQL=01L$XG0/2"=],12_T%S&7W(1]OWOUQ9R5@HA*PURH! M-O(=!VP==R%PP^'?1 MLIFE-I824?CL4S#_R W(GUFV6!J9.PS(F,/U'(\A3NR.&&Z:9 E&!M* M%M,CB>O&&3R"S!XX95S,=!'@$!1XPI67S_*(0#T-F/)B[QQFF.7!)3BXK/>K?BHA4M*,21QC\@-WU>H $HS[,3Z=(:5\]U*8 8VZ MA+OC_(V@=D91X &3Q&.T1[D6BJD_'K"W\*R&?'1HD8&A[^>);Y@\3+&]]'#( M3%[,8PYS8S=/>:BZE7-A2+GDSY/'V*$O@'N"GC@8?&XTF;),>+DP\C"JPK*. M,,DB".!VC!@ -TV M;'M]1!-0.ZVN 'QQS@&]N"1'WMW^/8\52V7Y^M:*Z?4 M'86 C*?I$J,'251%04[Y=40JK%&/LIP1WHH9,$9B/LIL2K-#! %$!B4XC)%P&L6 MC2Z[R6P0F#M09(;S)!?JD@S'CMG6F"V(8HK-D$LZ%,4SH?8$LCA)%P:1PYR/ M4P9LIUQRXXNF-(5[:,"^E[']O6'N&7@P!>K!(+L]FQZ3!(5R, M0F5&YWP=5],L"\AN>$BQ-BOJ$1_,5>1@FFN>'+$^IC20-&.'#X FSSX_C#9_ M S)O_@(Y9V-X9KCP$GPV.G$L90QUX# +P A+,'G!,TJ#HP,1 \I)D?IH3.4V!YW+^6NP5OU%^=*5/48RQD'FR=I[4RS'% MVE2@?D_J6R'?%Q^-:.9GNO&$$I&X"F8AQMQ2"6:4SBUE)FGD$H_#CR9IB#X$* 3ZCWOF>+PBDS-L%+3%R.7I>$L\V.6J<[\OBS@L7(T M,GATC)VO(LE(&@;12]+8R2%'Z^RQDW@F!MD28%PIC91&[@^T,F%)WH,(2:>8 MB+-IPQA#E(OGG0ROUZ,F(:ZI&L; (*2G:YYJ>)IC:*K7TY!26A"3W^[SZ9V)TF<=9GC%= MOZ0$F9YQ1SY]YH]D^T/T#JX"+\=/1GBF8:8LRFN98J)UFLPBN+@-@B_& 2UO MY>I\*6"9!1N?&(^(8N8;S M5*Z 4> C/28Q>@C% 1(.YO\G8?M!N#''0<]O*8Z:L'7/A7H5HW)K>9E'2V,! M,C!;]2D$Z'GL+,<\%R'Q4SKS7&!5_0@]HBVK8:[DCLW7I"P=2POSZW1UV5Y( M[+$?7XN1?.,#^<+&H59NP"&ZYJN(C5RZFKFRZ<:VXJ2,T?P)XRN>M%GW52>5 MB<3_VHG_NDC\%XG_%Y\R+A+_;S7QOUF_Y8QEAU:GMM6RZ:,MB*J2'_LLW'^P M/%FU%>*Z-, P *;JY&Y!;E#D%@C8,7GP'#W9QTO[FA&\-(IY&)_O*/* 'H@B;KT6=G"5B#YO=RHP_M*HRL+QFB^=7E\91\A_+'N3&X ML+C59.U66$\M*$==^(:Y4;G&1 W +<@KNG^=&+8VJ:S[N4^"^=Z$%[IE>^)W+Y/<+,OF&J?+-_UF#)H(--A82 MWJ'N:;O14+=R#:TBCP2.#J=?J&;"L] :ZK!M>6SM/' 9>EH%KL MK6W)=,5]<\]G>;+2@7)13(.?=U[HR7.,79=:O%9!R6OD-;UW%EY3._V>K*I- M;3:T*- BP%4JJ^I$)\ 5SO!=1;GV<)M4D@ZZK1=1;O M&<\_J;JL&*NE.\^'KH;"G^S==M M,7663"$+.^EJLJ,=+*0:7]HS!W$$DPLF;Y[)&\I%VI')K4[?D6WGX$U:P>." MQP6/;_4WSL+CN!%LRJ;3U'Z*8'+!Y(+)US+Y61(>+=R0MV7+OAXF9P&)-ZS M0'^UDMJE%EBL;HB+\0@ 5:EFWDK!O7+EZ2S$8BQ8%@,Q5%5N8[$O ?V)13>P M: =6:MFGD8VYQ0>M5?GD4Y2/FY7@2U@4IOP]'L7Z%*7_1]-Y791=6\Q8O4[? M5KNKB2GS'C.\Y-!25>/!:L5"(O&5A+])WM6X=KE"ZV0$XH5C/D3QUWE]I!IU M#&WT?SND![OC=/I[ M]F"?Q'0$M(01?0P!Y!3+6ZX6:+/-Y=K. V^@63W+&'CJT.CINN,8U'4,A3B& M/:2JMW>7]E.4>JRN#: J7>G!=;-QQC7D9];#8H%&$B>2].JW*$E>7[RLRZ?H M+DS1SZ>(+;E>LRIU?L++TJ4O$;LV"M$6N&>61BX!6:,?:=[(:TV7#/),_ ] MGCO@P3O6J!4H\X/RVFP^TV'BLB?V<2NJ9J(,Q%9 (%VPM]BL*1!6Z:2PKKR' M$ZR&UY7^N3QC-F16E;^T[E@?-$F*$J#E3E#PAJAHB@RD!]EX]T?W6Q>\_0#[ MI@VST,UKJ^: XNVC%@LY[K9@;:C469)CC,$AO+ZM.T)?9M:"J+RP Q)@"=9D MJ7HK6NT(JAP/>"NW'W@;JR<2>\75,(&0-17,'07>$J!@-[=H^I.EO)[M_EQ' M>"NB)NJ+YKTCMM^S:71+%3=Y1&[UY\55XM3MKM&K5]7P_"48G:ZA:&*L8JQB MK,<8JUJO(F_-LHXUBJYMO50U+[,^YH:JH5+-PG:W2IN=:MZH,0(_S)UT0> #"%PWR_NF MB2286S#W)1)XE;E/=(KZG-;/KSP$(TL#"EY^R-H;#4N!&%&\]M!:[==74:S> MO%_MEK.P4E$L@0G ;]O;4>^:V&:S,D:6L5JOX?71EDH4\1,>[UC"]W$?N]QL1^-:.(QF3M0.(V5_M82%Q!7$\!#\D4/1:O M&&U;W>W3@4T58+MRL%5XXVU3LCU-*-D+1>*.@:$5-WZ=&["HIF]I>%2B\'A36#D2=1E[V M#G?K!4BO#*0-9*(TB%%;4;!"B%K1-;9E&!5!*7%E,T&I]@U87"F@(JYL^94" M*N+*8^V*7%ZV+>Z*\$S;] Z[(6[OZW+NI-MK\CA.EHY;N!I5GH/:R%[)3JMS M02D6MPNW W)N-\%-:S*G4<#M2N!V2-+M'&T[QDSTAO9!!!C;#\9C[8/L*06- M0W<]!.:N#G--I-_N+0O-QE(7!22O!9*-Y-_NC4CK\!V-DR#RJG(GMS0YH:'7 MFO8F>4-5'9;-BS*LI%70X0"&;5M\9M\:G@<3YWJDF&I9IRKQ:2NL-8JB-E?B M\]"%O(R*NX*7!2_7X^6Z)DD#O.R@26Q:MN!EPUD'5MTV[ MN>82@I4%*PM6GJOET_&RRAK%]#1A8@M>%KQ\#%X^69LU6\7< UG3F\M:%KPL M>%GP3^92-8;E<^-OSGU<_ MA0^+68U)_.2'Q> M6-3\$QRMQ;B=4P-;S\\HPYY:>DJ^Y@;V7Y]$B8^$O(\I MEBIYIF]??"\=W:L*R[(HW96_5)G?0@9 G"Q=?\NVX5:TGF>?^*$'?]VKSFQ& MC3&"JM3B!-58I%[YYR@N1C,A3_1N$%/RXXX,8?3W)'@ATZ3S9I$*,.'\X8[) MFMX?1J]:U!D.&Z%.U98-'P5P:Q2SLT;WP&0TQJM@.*0U8Y%&,0JJ?_B6X0P< MXO8HU5Q#,4VBN)8[T*E-=8UJGOMON]/_SKJE1$/I$64.C1Z MNNXX!G4=0R&.80^IZJV[SW0]V[+)T+$=8@P&I&=H-AW28<]P7$UQ06W_POL0 MS70(TZU N(!,$GI?_/*VR)#W0S9]=M/;Q=F@X%Q2K6R!^->Y3.WUNHZIHUC- M-\WS%^<2M\LD[I*IP+_3[:[)[ZS\6NFJ>WZG.^9>=VX:K-,U5.L(8S5U38Q5 MC/76QZK5>^J6Y)P=FMQMO50U5ZZM\+)S&[I%R3W?_)_2[W#5*)'>@\;VI']E M(95T198T1=-K)/C<)F6T!E\-(.76#/16F;>5/;:?W[K"$BT_"8X3'' MY^=MY3>E 2LF+\7+U>3OCUJ84SQ#/..:GW%5NS[5HN6/,*8PBK^I)ST1/TRX M0*$@4J2\O;,TGNW<@M#9:=?VF#U&+J_*UF[6]=Y-P6:-:IOH(*+VL!JFX335 M-;%%%K8 VQQL*T4&CP"V3>WD;4UIK)V\0%J;D;92=>LL8DU3A5B[2+#M&*(Z MO!U7L[#36#U5K8'B40)QK11O*Q5/3JY(=:%(+Q1I.\JVN@4Y3B7;C%;)MAN( M"GZ Q8,QY)UZW*F4SA.!EYSY<[?GN3QF;-99WU ).U_%(IN;)7/S=SZ$7BFU M>Y[5/6/;7=2"V9A:J&:42RG;?NU(W.;)GP*)-92%A?Z78JXJ"P'&*P+C-F>_ M)6"T!1AO (PKL8#6Z6A'Z.@+1>*.KEO=NJAM$9 ]3-K7%/7PIBL"D>U$9.U@ M0CL0J2NM0J3H'BVNK'GE#:248/=H/#E,?IX[1^2P)-G6R?03)9 4O=F:B KK M#6^T7DKZMD#IL3-/&D6IUE $0*#T.E&Z=]9*HRC5,2G?-%9/P0B47BE*3Y[N MTBA>F]L1%E"]-JC6#H&=!JKFX?$$ =4KA>KAB3:-0M7J]&W9U)KKJ'&VHWGM MB\Z(*UL:%VO?@,65 BKBRI9?*: BKCS6QLSE)0SCQ@Q/%D[OII3$4K2UKL"Y M$X>OS/,X659QX7'L[%W8#>W7[+I^%Y0,&],.LWF9PI,7ADF#T@S MWAN3O8;V8@0F+P63Q]J+.0(Z#>7PG1JWI0K-'Y_E:?-NV,-&^Q5B;H,\5R3-KQ2TY M6KE6@V6&*:K6V)YP VMY&064!5,+IMZ%J>NZ=0TP-4N?,ZWFTN<$4PNF%DR] MPM1:78^X 9XV.WU3-NV>X&G!TX*GCZFH3\C4%BKJGB:L;\'4@JF/RM1U0X0- M,+7=Z5NRIEN"J053"Z8^'E.;IVL^:V BB2*K9G-G)\[(U&P;X T[2])G\T&Z M^F'&CIQ4?N+YS_U?X >CAV\9SL A;H]2S344TR2*:[D#G=I4UZCFN?_N&9WB M)DZM3]D8\. N2^7EA>*[,=_)SW=^X@91DL7T.US^:P#K-U^+'@<"#(]Z#[B$ M=$AU ZBK##7-H)8Q<'L#1W-E,89IFWB3/)E&I/XR0^+ MU; I?DG2/X>$V*-\H&JU-K&4-6NQ*DA 3G@N3.4S9:BS@2L0@[ZH4=#>+BS M,J.UNU'-3[6:Y[^/J(1[Q=P$A,P;$*;R-Z]7@2^ ZH".7R03;$_SK<+ 4)I:>F>@ PQ"8*I ME*4^=CU*V-=S,) 0Q&4@@82'Y<5T:*1B#%])KQ!-FO+VX?WWK^Q7]>UK:4S3 M4>1)+R/?'6%SI"AXSA^9 =4!9KCD+DGXLG!M!8O>!7" 0-&\Z&# M1O)#$D_SX1= @1LQV5MZ-8DI3G?I8_K3#3+45L![68+4@6]@,HA'P +0,G*1 MA_ *#]X+#Z$20'^1I%) M2O(2$%8ZJ@U7HW( EJ M&E@)>#P'8-4;_NA^ZRYHAP7%T^ *:KNOH'6:%50[?:V[FE5;>P7!JO!=GX;P M/TBT9 1B9P@"'V31;&T;6!>04R"$P##) F9-L*?A@%P0P$'FIMSFEDL(68#& M9GCQHOW5:U^AF=P1"9_0&HJDM0L*E!_0>"-7KN1-OR]>-5O;K_"Z1VZT@RS_ M#+*2=-E])#5=R=:/CO^M+&;90ZYW)ZCE9QYP3YEFH9L6L7M>>EB:O M C>!T0:+ B@"WP\ AA4SGRE<&8#BH14B"(S!0GT=U\.I5C!LG:H&<';5ATQ- MF%$"!.;4VTA@O@;+3(CTQ443-L*RADG\GXU:".II](N!%L)J2L6560B%: ML/OR[6$>V,O+MR:*U]0ZFJA=#EC'G53QLAY?8V2L /2>J[E5'<(E3V[OM#,@N5O="8YO$W'@T#FKH8Z<0@55*!]3"8%T\ $8(A9!E_I00TT'+H"Z=6A&_A M!I#KV9!KDQ3GFK=99QK[!709AK7F5(-[\Q@7DQ]SC/)H%A(J^"/\3*7/X7=Y6, W<4]*Z^[?INB[1!]8*18U NX1%RN15TTBPAKHI8RL'ZB'46/I*TT J["F^,AW%*1!-&'!>M ,TB-0%"PN MO@3)PKO<* L\7 _4/BPH"19 'A?-8_KC**9W@?\#!,Q="HKZ#J\.\!4X(9?& M.-9TBG/(;RU,/'XZ)N%"JS L*-HP^-)R4!0X+(HY9TW\>-5X8*'ST&,;'\76 MW(Q./.H,*&'QY2J*97!'@&,!/F=;)#-8%XS#<0?B-,$ <5>2_M_H!?^4V?X% M7,.D<+$? Z3&MW+&!ID##YLP)L@W:8KO923W"T4&YF3W838N(\S'KX_2-\HM M =4V5097!\M@)H/)(D"@N1EOAL7VW*,51:GYFXFRT4?S\30G.IR&'! M\_G"3E[)CL\MM5QVP[OGVQ)Q/NX%T8G\ M1'\B_E)_C.N=XR8+TTT3+)Z%&Q8<-3&%#C MTWB;J7,J=:&:2]0L_1S%Q6@FY(G>#0 F/^[($$9_3X(7,DTZ;Q:I !/.'^Z8 M723Z8?2J19WA\&C9"WP4'@*;@?4^PRU+O J&0UHS%FD4HROWC^WI+.".?6=R M#-@0?3B@;O++&](_T& OX_I,:29?*'JW,9$QV>10!Z0%\_D4I5P%PS)Y*(<] M_&V>X/#!#T%H^B#M67+%F*_DI<_Z51:2S,.4;F@:IE1SWL)E1TC4,.Y$'3>XTM4LANOU];<[4FZ%([76 M-RA[4X]H>4=@NY-*9\F+T&0&[P=M,)YB5?B_99MUGJFU!(S2XY>\Y7+.2!$) M7LT**=_/(N;9+%4G@:6'=R4D0,L0;#S #XL01"$L$TOO0?,Z-_/*CL?,D>"O MB;. =E<-N<5TS6N"4[7TVBZ-OE=Z[,Q_P8A-D5 W=P5Y(A&SP5TZ*=:42(QQ M^1_LV\*WS ,G_Z3Q&,D%O.Y[/HG!T49+?,(^YDE.\*80PTOH_&4I>JMKLOR8 M_X4C6XB-5>P8)1EZG3,O%VY V+.M-R^73KFOLQS==V=Z<2'Q;SC3B\E,+R)[ M+7-R=Q5M%2&?FDG"]GY)PN_S>7^A\;<1J)<=L'GS3;#4OP)C*,\CU)\ ] MVYQAFUQX-4,L/ <4=A'L!8Y+@;E8CB'/\YQ[Y8OJ?S8HSP_8OR<:UB3($A S MZ%;X+,.4O1^C*@NW8 0*-"1CS8VSDK*D^"#%$$463_-'\&31KO2AB$UD,3CK M?'C,G"F21MD^:#E:#@*R.BS.X]CL;Q G*,- 6SR-*H4/'4^":$IIL2&9Q>X( M0Q>3 -"(1"V">7S7LW+JS5I..PF>;^Z(>J!_/P^71="OB.*'T'O'@<.W>V9.AHD>?VL_,5Y MJ*;+;)6E(T#\.\/N.J:Y]FNEJ^[YG6E8>]VY:;"JTG6,]5^+P1XRV)[3NZ#! M]K1:C]U24ZZ5I>.J!6-U_=T-U&0SD;Z= )WQKA- $J :KC@NI$%6Z!=,?SWM@3 M[UG4UZTAKS\5?MM]'0CMW>RSQC,:PZ<8Y'4.LJ%.6:SHA7UF+MW:+VLA '*, M;EB[4.W,97%JDJU^79RJ*9ZILLT.&UG[G7E>.5T Z)K7K=^UE(VE=/JJ(_4!GK^G*"M3_LZ)E_?E6()SGZE6(*S M7WF#T==W\SR9L\=?Q3,NZ!D-Q4)K6Z5K,^5T/.7''WJ'3[BWNK9YMBS1/Y=3 M*?,$2I:#QLZ1LB3-BA2SY23I<@9A7OSY?BESOD&70CSC2I_1D$[C7F2OY6XD M2V0]JAK;U,NV@G+G;E=[:-"&2Z^-\7UEV34M1. #EX"?6"[YYR'+-$X^SS._ MV6+5N*O>$<6=<4N==;K4:X8VAG ];/U&E" &UMU/S$0#,!:+9L6[9L MJ@)H5PXT]8Q LYA$TTQ#5HR#@]4":.T&FGU&H-E[^IG%4A;H>'IQP-%5[*U!WW:C;;.J>7N#9"@B\GBWK]A5F M] GHU3=^3RKP;+6- D_L 9_]RE/'R\_GC.35'LX=+E][#.,&!.)>@?1\W5:" M CLK7JW3UWNRIJC@;*P6Z]\O'E!O-2\H)'7+\-PK_-X8//4C!. %/*\(GGL% M[1N#I\&DIVJJLJ$V%;87\+PB>.X5ZF\,GN81@OW'A>>)3]>>%4HK!VSGE<+V M2\-L,(VHM,KZ!!O>9)B1MK#,Y\YT$D,\QQ!%*ED3ZO/@/?#6D:K^X:VJ*5ZH MSL\2KRB?N=&KU[;5_\WW\EK 5(;A8$-O*LQ;[BI M7&'!P(*!;X^!3^G*;V!E_8K4,(L%O&%9ZOV5YO07V_2PZ+27LM8ZXXBUD:$+ M;6266^26>_N5#S?R XW8=.V0)-G5*J$/8>H7IRF_43>+_=2GR?N?;I#!,#_$ MT?AQWN=VM??= ^O+MFL%1-R#-^3T.@ M=^K?%>2I:$U=%N/UFP.KBM[I[],=^"M]IF%&^:J$*1+M3S\=/6; $/" U:Z< MSDJK^QZQ;=7JJ=Y T0S;LP@E[G! U8%&77U@NY?87%CO2CEEDCT["?=.JE39 M$ZNJ,%;/+Y\;S-&-GH#9 >07WR^YF).?L(:M,*V_>1M6;);+9 IO9Q[380", MF>1$%B3#A5T7 MQ)644@#7E(/'@GB8H2G )G*>8HBU!8@!6C\ M[+LTZ4H/00#OX>-9'$S^TJJFXJ56XB!PHDD^J@1G5.KTRP=4/)W)*S?GW(1W M97=SYEUN_ELE7O)%RBEI8&_7290P1-S'%!O7/M.W19-+YHN7[LHQH//^62W!EVHM4;/T&,/I[$KR0:=)Y MLT@%F'#^<,?L(M$/HU3*7]Z0_H%2LHSK,ZFV+Q2;K<=$ECZ&[J'=P5LPGT]1 M2IF4?IQ)U<>R5/W@AR1TL03.MYE\O?Q9O\I"DGD^3/!UE50"09_;:%RQ,2-R MNYVV:->90]L94*(,Z% SE%Z/#%3;LVT%GJ ,#95V=C0UW_D)>7J*Z5-N^.<* M>TWW=V>U^_L%&B7?1S3OW8Y.)J^U.P'_@VGYDKG!2@/8;Y-"KR?@<,RH!2@> M3*4G&CW%9#("ER6OWL2M"8\F*1;49@9,)+V,?'>T8,DD(W\"1@2\=TY2A-T36^^KSA\:>[7KEP, M]KH&:]7#K.BKO7KIA392%^WE17MYT5Z^D4[@MTH;T4%>=) 7'>0/<^'^"-'- MYM&#_>KC'G@JI39XKBU-9N?YMSL)9J=.I8ZR>9-UR[X=WVT%PCPD"87_O._D MYZY;JCW6^=J2[<:.@NTB!MM\3DQPY"URY);LCE-PI H<::BRV MGB.U\W,DUK0T'=DR5<&1@B-OGB/U\W.D#DZJ8\JV95P*1XHJW&>_\D3=9<\7 MQ?B(@22^2TP"T>7GR&+0.+\8-#I]VY!MS6Y1NP$!M>:AMN6TRBF@9G;ZEB4[ M3E.E"@34V@FU+2>&3@$U"P,@AJP9HEG9=6-MRQFC4V -3Q1IEFS8!_>J:!!K M3=;$M;NVV6:;]7N4[FFK-A.[J'6\]Y:#&TT0Z'J$5@LL,:?3URQ5-AKK5-_< M0E]&N%*PO&#Y'5B^!19Q#W-R'%DW&@YW"I87+"]8OL(U.3?+.XK2Z9N*)CN] M@V-[@N4%RPN6W\;R9X]%.(K:Z1NJ)FOZ]1CVBP6L=CJ)JVI7><(S/YXIN?#! M4Q1/Q2G-RSF>=U%G"<5@Q2G-UAU/N]#SB.*4ICBE*4YIBM-VX@BG -7%$.[& MCG#^+TG<+"!QJTYOWE X:=ODKR=4I&)YU','B[1.7S4UV7*.G@%_@;%?P8@W MPHB]\S.BCAEDNFP:NF!$<3+LID^&]S\!1#+!]>Z9LZD=G1\&1@B-;SY$M MR&0P@2,-2];-BZDPJUIZ3@(+3!:=?*Z>?_P"@JK?G ."Q3O]M:$_:[-$SP$.'#4TQ9H])+ MZ#R^I>JH](ZZ=#R@,9Y+5.3%%MN8&11/ \Y")QTCEQ@AEQ2!QCYVTD M#^]VC8TMZ4\?FV ^+3YC0N(TA#?[H<3(WY5@/(C=HE?F./+\X92=VZPXJ)FD M, @2>TL#*Q9G_O;E]RS.DMW VG;S25!^I',^-SSEZ0*O$+B_Z-#)^HQ7/!H_ MG]!X[*?L*;! V1#$0!8STH2H/L? /MCOUO^;]P2-AE*2N:/YHV?/(HGT0H, M_X4OGWV/SL81TZ0DVRR22*TZ[TCK]E?B!UX2#J[R2&E^@J.XFJ+9)@ MF,7P9RR!U&37LK:EU43%.2SB8KYD))B1<':#+$VR.,D(=G>O:GY:B_JE%VQ= M !AMD@T0&RD0.9BRYR4P,WAH/$Z0F/C)#)$K(^Y*#_A0WKF=W;P99XND?/%9 M:WF7^L]4&OH_86X3,N5=X[,)PAK8(QG2F*T5SL!C W'38B0+?(7DYFN/E[.& M[W#!ZNJS"^-H2H)T.G]AT8$V>@GO8.B4C($2O&DV?CY[84'4/=M-GU:@L2?> M^REPD%OC-,47&C-5'KI4^CP 3<>X;L\6TRT2W>]H ! #!,!BSICB3OI>(2C= MW.A)N$AT<[L'&&$Z00, F 0O0;E")!3B>$2^1+9H1C89[*SY:ZN$\@Q*TC>X M(QGFUAN[FJ1K'BM%K@M2 L0##?EHHZ!X 3QP["-(GZ+(2V;LPP0 ?E_,1LZ% MBY](3Q0D IL6XSCLK\QD%XH2,&# T )5]12RSQ@_S'@Y87S$[@(NGXEHI@'6 MWW01;+,13%^XQ,A%9#6*)@O7/!/ P(!+5X 1KWX01.Y,IT59/%N;+GM@ZH]1 MB UH^D)AG8=9, 1AR9Z)&*Y$!E\0AHOB_;# 7D;QGS""I8 U\8> XEPW>1'E M7SRA (Y]5"@1"&+69!ZU(^*'@S+IEN<)Z1,?A)#"RE9NF,&1,N77 X YJ_GM?LP"OG8V-: M$NU_E"0C@%#Q EP\ E_A$W, YW5 ))\K4<"G'Z'-4S)B"GT\F1$IOR5A;P&\ M_$V]Q1F!G(MA28/RW"8+- :U3 8@>U(?OLJ2PDP '2[!B$'I^VX^9S_D3BH3 MS*#>0R^1X4,/I@O,Z9$4+%V<<<2,.Q@L?4;PXA?2)/*O0G+]R?P-1JM%:$9# MIB60=#,#[H5?/$6, FR7@.&GA5 AS\0/6"D6E/S<9&*ZD3TH 'Z7!B3Q%P7( MJE\R>UU,9Q5G<#Q/&<'/*>6H+8$Y :D8<@027-^4V>.PBC$,!4UZ9I1Z=$CA M6KEP*";!E(LH;DS?<:TWH2X35W,Q^E<&-A,,IQ@@&[^/@BO)8B9X9](3M5WJ MIQERA@1+\PRF(B=23B'X$*QDY)QJP7T1R-K1E/P^UQW2%V!#NM\X7TN6!5R2VU8H MV0J)1H)"^B&F -HQ'?!?4#6@V$_*LHQX_P'6Y18;\#*.-9>] .DH=_!29JV@ MX5%:-S:9^2RJ![X4!EFCA-9,FO%T,HJRP$-EE+_**_3(RF"ZTI]HWG@4#2L_ M9/)^/45GSV4<&H/-CO(!@$#RF$MQ/;.F&;'P!V4B9!&O&,]#&\?TH#-26[LH!K\QO(8,D"D",K+VE'JLLG-5O"?.H M]A(]2S]'\;SVPQ.]&X#O_>..#&'T]R1X(=.D\V:1"C#A_.&.V46B'T:O6M09 M#ANA3I6PW!1J_86T9BS2*,8=A'_XEN$,'.+V*-5<0S%-HKB6.]"I376-:I[[ M;QO$/^-'8'S<1$#1\\L;TC]0!91Q?708KPN0A-EX$(.M^#%T]U3;;9K/IXB) MZ@B7R>/Q+?B-;8\P8_T#]]U X["6X6.^DI<^ZU=92#(/.Z&_KI)*2Z*>;5OY MYM!V!I0H SK4#*77(P/5]FQ;Z:F>,C14NIO@.9,4Q@A3%.<.H,NT(]C:69!* M>3AK[K6CB1"#35/V[M@^!HN%_J"!/XK Q8-OT3]"%O>97<+OZDK_6ZV3_61! MR1=/CL)@6@2I9L8(,_?Q#C")!NQ9[+/UX^1N)G_BW*?D868TQ%GDC =(\%+P M'O@. 9CY8-9'@/.479XRCY5O15;;%OP[&!J&S^E?&?=2@991\)Q[L0DM&4-H M4(!:R_=,)4K U@-')XI96)V[RQ6;$MNK9"Y:7V/B@3$:2?C2&-?#'>'^$MLF MF0\&_;3J:>7F5?F1N<>2L,C@I-B9@<=Z ?L#C+-G[GXSC5V.2/(@I#^/0\9\ M\V(Q$@E_31E]BI&@69TL1+SF+RG=!/GWBVWVW 9HJ6P"0^(C/TTY?-XB@!Z+,@)E"99.@+CG%,B1A3G M*&>/+^JD7J.G5Z0)E&,Q,G,S%B>[L".^FGZTF(90E7N *0?I0^C]EK]GRHR, M[_"47X/(_3'/+S Z@':73.!Y*!0VV9D':FB4S:Q2TV^/2BRAOM\"_S19/O"@ZK$BMVZKYMU;%MJH( MX&VEE-Y4@94MQ^ZKK+69E;9S>JC9Z=NRXXC"1H+O;IWOMM0@:);OK$[?D>W+ MX;MK3+NNUO7E37&^IY;'\,J1FA&F900Q)=X4O,GGR'$!S[2B"> S )E9-;0198&69I'57 GDVUC!\%R=(WAUXU]%FWBR4 #3%<: MT[38 %]\/-L4G(?:UN8QQ9B&BBEQ/D9L'I<(J6*1?@<3>^]S2>5_\7H^D(61CY@^3C1XDU\>R__8Y=NEI73RI"M]78V$ M>KL'&!?B86X5-GFD82%E>EVH MT')S.ZI&;8CJ81X"),(CJ8-H5^]^-[G\[Z_>_<8)L MCVGKQJJ*55H.WS4W-%X*Y7*VS7<]H73,;?,=Q[+?MCG;+K_0232XY;^*L?XO M@_A-OXJ9=K;USBLGJ@-='[^__UW2NM+O#Y\>_OG^]_>?ON=A_V_2NX_?'O_X M]NWCYT_2PZ=W\/_#;__W[>,WZ?,'Z[H;SRR;YIFA22B1#ZQJM+;CK/T7R:;%?+,VR"MA#>3:%6\ZF MF+\UF653S*R[PAX,HSQ[+J9X;*O8+*=!0E]8PA#M(!7)_W_P>N#T@:^](VZ6;$E"X-X_Y-OAZ/'-/;Y!%[AK#3E[;?W MC^PW]>UK]D@ZB(&\4^[YXC;[YA,*[6:,K6#)3S0E4DX-6)@7$GMW013]0&Z: MHR0G$J-Q[G6,*6&)F+"VWRAG"4U]7^1CE-9@1O\'E^6$JCW=D-EA@OPHY2N\ M(1]"^>)B9=B9UP2L8LD%ARR1I6F4P:^8H8/Y)T-VPB:A95 /V*'(A8:N_Z$QC+\C<\67WY4Y:0 ML_PAESTKX\B3.6:? R?-GL*L]/E7W,<#J"&3_42O.&'<5V2!,%[D#C\G'R<0 M^N#H]O.4'&#!! \)X6)SQBUHSO"!Q)Q3O2M]PP_6HX@[^-G@/T!,=@;&3W[ M$.8).07+\@SFBK0EEV1X#I4[PX5T*61>?G@*(%8< 4;?B:<_\TC +$,&&((E M: RS-&,Y.J4G\:?D)$/_'R8]G@0^/RR3;)YB5_JP;M11GB6#IV/9B2OVJ'F( M8I8BQ1>E6(@ QL/#-I@T$\&#\B5@ Z*@^.2< OA=+J3GN=1)SINIGZ*0S-'R M%2A?C+0 #-SP!0_U?I2ECS ;27THU.8FT5M#EO,C(!M@44^US4,[.*9GG[X4 M00@6ZL%S%NSW;0_JHD2B$Y8K,3L-]5?FQWR! P($?6'QJFS,TJI*AS!AU;() M>Q7GF0V3R@F#Z5_(=@P.!H-SZN*_T?"+U<*G!-#1<#5! B,<;W M>)AJ\YA(*:3(6&6)D.R,'\YNGM]69&[M0-]5=5G3S<5:0*U.D=IHPW]^QC- M].42F9Q'X9- M,@%)WI7^!-A0S-K$,]'/(*HF]'>3*HYS'IG&"J8Q#0\ GA/*8>.R8S,T*9:.%OJ#BAFH48L XIQIH_ M R>D>/B?3XK5!&O@M+9/:_\*P@FP+N=N$IK:QTEOD62DW/^.@42 M0Q)K$&!PD:S]]&]WSPPN)'@510+4I"J);0*#F>Z>[IZ>I[MY6J@3(@W!WL _ MHOL.W*$E!4D,9&?YEXF^P@?)K@40)'G!1B,>T/.!2%*+9\4S8)28(H[$KZ"0 MAUP/K.)*^;UU*:B.YSV\G^(P.[!$C18I=I(KU[\'9XH1+>_QXD"<,B3T4_"> MIPO9LRSL+9Z;VG\$H12M-R!$20CV^5XT:>06V<4R)N0^9=PFIM$,P/J#S8]& M"3HCXG.8IQ0,8LI8RE>P&'K,YMF'6.ECAL(!,@&")CZ$V%N8=JY,!2\\PI/4 M$GR<3TQNMXA(!"3I9I.>_\ULZOSE* $NHQ#./]!:OL[Y9[%N3B'.C'20/BO* M(/A;Y/DA#]*]GM5MX+FJP,J(LNP\EMN=(C.5SI=HU'PAT#*+.$M5K541C]4Y MO4Q4DC>096WH"\00\D0&,&4P?=0U\N""M[D '?I+7 M.8ZG=5A(X7^4525T#LM^8)EL@BKW@7:B\H3([1.\#>G'A]SN0SW-[RK!8?%L M>EUP5#ZE"WRV< !AAX J#)>,+\IDB!1+&M'!2QFD+-?^Z!7191:52,AM_SS6 M':V?+.UCT^TW=XYRC\-T&ZL_!IEA9J YI$K7#,0 8M(S&K*,QJY M_ZFM5//UE_&[0-IY;MEREIX?;C-3GA(8K7E*BA_L4:KH3/.GJC97)PF-YP@O MNE.MF844A?\A9(<6"NQ[4W/JKKI%P=U BC_GTZ3$&2%A]TX3@0NY0+@2S-=H MS]'IXHAB2.?C3HJ#.0*O"M0Q6SQY@9I<%72V=J&EKOOM(W@WT[R&3W^ZN?J@ M:W^_NM.UR_=7X-R N,>RO@.*?O,#8@B$4R -P =V3QGNZ2A77SY>?[G*16OR M55Y2:Q&$(!>[7P8IL=A1+ K&.R\6GR]O[K3W7Z\_Y5CY/G ]#;X __3U _P_ M\>_;Y7OXHV+=P5DGW*R+K(Q8ND5UGBS'B_*!C:,7X'#-_U_[?/D_VBW#]#9= M^^WJR_N_ ;/_ 7_\_#_]#OU?S]2U#Q_> Y_AP4_7GXG1MU=?/K@[ENE4C-Z= MT>FIZD*[#$%7NQ'GHW9U;P^3O-;=EUE=8,T1\^#6^1_IH;3$!8D?@JT]$"6E M6TOIOR0+YGR,ZR\?KC]^%1Y&=HS!L%?9$I8VBCH4><7I.$BBTOD=:AH8+@)I MY;?]E224'*@931E>E9,)*49N M,I\_Y:B?=R(J2=^I.PP#T.?\U' AZ@G@E644C.('ROKWQIAJ/YF*$WN.$W1P MP>MU"<>5P9!DRD-A:Y9_J%6*BG !SB/'G'2:N5/3\H3L.3BG@MZ60V_[SU)Z M2H%HJXH_52#:YP?1J@/?3J[T-QAJAO?BWGQDYN;[;__+ S R8G>3#!ZU3]]T M[=/EE[NKFR]:6L7\,YI(:XA&R M]%JRY#A)I6H7CY./.X:SU1;9:8O<7%U^TJY3E@F)OBB_N>3^GX$)1582QZ_ MA9G_W0;>(1;OD<%YE@./$+_,/S-@E*J0&PM!)?P2A:ZXAT2X2UYN'1&#V>TE M@O[ UT9H+L=)LY\S#"4RPHPZ :],G1501SFGW($)VZ2-HAI%)4^V]K7Y(W=JWM5!5TI8=67'/, &PCW;;YS38V6N#25 M212AMC6\F@-]@+DU>3PYQZY-9S9F\G/TU4,& J2*EWDP$']2%PJT+!<'1QB' MP0/""7GU2OD] 49_,U<%0EWM/[\O1!T3OO[K^L.%V=<0%L>F[I"#3D'[@+(' M:;!_,)^74HUF@>@)AME;L@@]28K/QC;7 )I-^T8*#>+>\X*R\*">-[JR!F:) M !F(^P8C9$]G'M-EBQ"J+2N;$^7GSQ'Q\S,6$&/T/+#/TH1RDK*R$@ORCK-' M]!LX&+CQY_O;)/XL1"0PKTHX\A),%TGAP)0=QQ&!E&"?EA:EQ)$BB"&T']*4 M$6PTDF6C93V"\6ZR Y!W% _45,(?<*[,$PJUD,-I#W:Q %3=@# M2-B$E M&6#YWH5"RRIQ.:"X4!A -OMQ1;>8B%$SM^F,Q2YQ&60%+TVH3Z(K\-L/3#S" M1-N8G$6&!\;8[(-YWL70IN,0E5GA>1$R\V$*7RWHV +@6P[N8B\C6$3:#DS, M2^1EF=VW61M&E&F1L%9 EX*V;)7%.41YUX9 M3H* MXBT'6R^%&$TE%H.4P-)7\GC\7SA=YZ6D5!R(JHQR<[,?"^#M1KDI+DLJS,--,=I0>?>; ? MT_QG%P49X1M#T:Q"]F2D!&I]+L6?JU31%-<->=8,:M1"Z?FS M'(D&;1+?%GN$3Q'5\Z 07$ G2X0BJ,#(G.F6H?ETAFF,GOKU*9$[M'))WDJB:2GUC_"&G1E.)+#71M0K) ME[.^X*W+"ZHL+N=()[TD2S47O1-UA. T(;H3<7X)7SCSE-,+P'&(]R5 T)$; MR_AUA 8-:83&"'%H>.LU%XPL":KGL)*\Z$JQX,H;GD"=OI4E$HLRKYIC/Z;N MO5 8>14QH=);C]%;7C')_5FXQ(X"S^&_C%DP#NT9#",?XC6_"E*3/>ZP*5DU M$8":#P9D_[ 85'@[9T;Q*AL6A3$%A$)0[GD^!54FFY/)3M/04UFGS[Q-[\6< M+*X2^/.?DO>R&A6(IK?DJ>H!:PE?!*,1[UM.,X'ELFB((O*6A]B 0\QG([=8 MIZ>8;IL>%TDKKWN10L'#_R1NE)4L0U,P#M/0W0"[2_-*$_BK_ QNADB&HFF( MD+W=/;3,JS6M-2@*$?HD?64U%")4(4+KMHB*(T+[1]O.<^XUQ=R+%X/">8@* MAP->?&6NE63N5D?4O1)%XJ@, #?FZ6@@4-. >B=2/18_F!L"3AMIK-'C< OR;(ZJA4-2?>T0%\U=2ZZ967NF2OH3R MXOR;N'BNT8J6^MF\S#XOHX/L_'<0>H[V-SJ%:%_#,;C0 E*,-4ULZK@YP0!0 M3):,.C)+NI!;+&_EI?,:S:C&+282)>-)P(M":M^-6R/U*A_PFQ2CES?X>JX7 M)I:5BA(JE^CP?II1'+H.W5E M" 2Y NJ^&46B(VW.;\N ,V-9GH;C"F;83%YV]4Q/)]E.S$62%M 8I0>>F,=9Q"(LEYMC-C4)TLS="69H"@X@4*)>6@0YQQ9^1$:<*'X/6U!,19%7?F[!;K"\:2_EJ8O; M5]"Y4_GH_&J/'!TB,2UE><1,W.(0:Q&"KP+'C%ZGX18,R[DEHL^)';('\#."*$K M>D&SK['&I9LCMEDFAR6?E\V#D;R!0_\Y[1> M'W*?,(6<9Q-W5CQ^$F;:I6ZX?_(/<"*1!,6"85T(G &\EG-."T*-(8(U. MUZ'V+BRMTIFO6X4:%AX0JKUP,(7Q[NWAD$ZQ>)27^DU_X #$Q.>-M]&UP:8O M(.0"4\6K(R68/,&!,:1>4_U(%ZJT\T09ME2SBUGZV*,)<[$+57_S2:N\:BVP M5)Z@006DY_&B^%+LA&]LW+?A6-PNC&2EZ,Q_0F1;1*$"BC+Y<7JE<>^&,!U. M)3U_3YN\+B\"W0!DQ>43%@"BN98*ARUE%XR=B/1[&0\>/7@ M(+V(GV%=8OR-WY7,12O(8J,(:*"(,9[.IR?,(%<74B*DPA3E1^:K0HJ$"(QT M\BMR"4A!0LN< ;VD>'.N6'%)@>'5Y8A+:P^7%!\>N=CU9DT-XG^7X&/9O>TE M4BOZ=EJ45/2B%RS*&):*^9QPZ\4Z^Z5(27V+6_Q-Z^6V=ZF7>RR_/(M_ 5UN M,A)]34E4!^6]M I_^:I%^R;C>/<9'ISR?YK$$# MB2-#43O)&KBNG[\1$7?-J_ )J#$1BZ A>C(M#OX0Y&OYB7*K]/6T3@Q\'OTL MH[#8' J*3W(&WC WJ"'/9Q*(8I$X0QK0"T2#M>QI=&-=@8_@B1J%BKEISS7Z M31ZK^35BL1<> M2:_K$9 E31==R8M:"N0TX"H?$0R(3_&W@63HQ8M\$:'H<^ Q@D+Z&#$IR(;T M3K/>>Z(X%0]VNQZON9@N/@V2B$+%>'[)25H2NXBBS!>PQ6.J%)Z,QO!PVA\E M(M*E-6#!>77H6H9#\C&4GJ&O>BYN&2N@<.1G)=2$<44Y>TAM\ M\60!;,^O3J3)T'.8/7&GDSF,P-/A#Y'P2?=/?F3S@Z+K#ZA&ZRBDN0E)H%,> M[*S[5%32DXT\Y<6,@QC%KUA^9!*@L4__*0P>02$^RNB;ODH2\WX1/V[2W\&! MG*!GO@@@I]O"0L7QW+WAW&%8[+'0$;=H3O# NWSD+M7@[>RR328KWO,NF5A- MG;)L>AF\3%9##:B=B-IR]^T.==PB2FMAUGECCPZ5'5*PH'"?+V&" MO++:%M:!, RI6>$&Q\=CB4T-5_Z=#QB+&:4SE O,\(Y2?^O96AGUF1%Z-0VQ M%;6]/,/.T476,<#_-5IF;#OF)KG J MT??E&'@T#OQ?@4<#'A*2C2;@7ZB/DX30XXS1+F2-B].IRT<(FHS^I<"<\E"2 M""7SYE@RPLF_P!"+X]OA8_HU?H_E1MGG#%"N60Y.@4+I! K='#CG.,?2#G,P M/LQ*!)RP&Y#8##XKP,.6=/@;@&12)N*$L9H$(;?4?K<\D4$4^",C[ MOJ0M]3[2%KFLAAZ4LUFC" ^J6D15!I([D2"2-I/1180(? :/C3%(1X+N\G^R M"R37<[X'3HOWA:8V5;+L"9?G20*$3"^#ACIZ&.C(5ZDBA MCNJV"(4Z6E:G-&W[%0L76%Y7,W!BA?J7-R0ZCQSR%BYZ'G]@B\9I0O]3A\J0 MI5'#M$L?*5(,($SQA/YG>@\F,*?D\-C^V$61 W>;I=T74E3K1<%\U=LW*3]^ M?L-X-+7U18S$^6_<@E,P]I5VS4OQW-D_ZW$J71>Q0,O!$HM][#G9DW4Z$!PCWZ]/<30%6TG?E=:/F..]D>WW<48_QV. M9S^(ADQT$O@I;D33YK*RL6K,SP2PGV(!LQD\YMI;%_ C H!2N-N%N5-4+[OB MU<7)F'8@'#0XR(>%0Y@;S-\93_E7TZ.4;+"5HVY*4WX+6T;6E11,STA!+!!/ M_"J3CN&(6:3S" \,HJQ@!GC$JUC@D09996@?EGRU\"$Z/J5'0AX#I<.MSX$U M4E8H_,5+9Q2ZPN9 CCQ=,/^Q4+8Q$QG7U"^53G*&=EFZ)#CZL0@KN_"DZ]S! ME2K0>>X/+.] A>AX&V-;0A9$IU_;RZM1C/*%O#B;"$8),*7']GRWWD)5+-R[\ U; M7'%RQ&266)2[UI"2+G-@A=EF3EH]5$Q1GGSPWA%+K'OV+&)OY!_>.FXT\^S' M-ZY/2Z:7WA9Y@MX^0O?0V1 G'>()_SD["!@-?AB(0_BO([\L?C;HI]>QL_B; MU3::'7/ISPUC^6^KANT:;:N]TZBK?VOV6FJNM9EKL]M_AKFVF\N_636ZJKG6 M:J[-WD:COB8MRS4M@E5!Y?_UK'F6A74H-_F--?NIF<4H%:8KS^MSKLKW;5E[ M&R9R%^H\BH6G:[+,=%'"B FS!,O2R*1JBJ? ZJH M>E6HJ+J4%HO\;>!"SUX0V6[=GQL0[<7LCO[&7!:_HU==L/[V"(OE':6 MHMVSRMU&"U:$7264+T9]+UKI$V#G.6$6@@2&<+#J(H%1Y,VT"&5$KY['R7F9 MY%NS7Q9[[ V'C(U&J^ARN(W4WV@C"6SQO-1LL\*&5H-U_O*D%>97%N*H55J: MU3'U5K]?KA*W%%5MR^6NLM?K/KE<_6RWPTKEKW)DDI9->CDYJ-RR]U^\JG51I+BF=I'32R]%)+=/2 MK:8ZNRF=5)G%_OJT$-B(_E.G$-A<9OORH/)VJZZ':/=;>J?9VU*VRWG\K/IG M[I,[Z9_:,JG9,2S%HDJSJ-O2FXUM[;ABTH'W4=O8]OBG6'1@5ZO7TON=;0.' MBDL'-TC*9Z@VB\QV0^_V.HI+E>82;*0CLFA/^ ;Z=I>GKU?XG/ M6/W&D)AZB*#9Z>B]CKE;>&,;>%!=XE-+UU1#YG::6QOJK:AP"FRM)V?-9DMO M--MJVY[DMFT93;5M3W';-LVNWF_NF[F*OU7A+QC<;4.UBKEU82XA;=MJ\YXJ M?V'S[@A9?';FOH![V*\++?/>[ 2/$2M_6K[8/B)63YED]6=8BTE6?X9JDFJ2 M+R\6>[.D^>E3XK+U\SVOK>7N'R#JS$>PHI7G$6F69+[YAJ(U6;2^WVUIF3 MBD4'CD*V&WK;W-9C55PZL$7JJY2+BK/(LMJPD91%JC:7VJUCNG9KSGZR;8@? M4,>\%5Q53ZHGG_/)?=Y'F_UJARCN FP,%BS@CYXE2ZB&*M-L]?1^=]^XUKI& M.T^)L^WNKH5M%%LKS%9,#C*[^\:R*LX>G[.=UMXARHJMQV>KU;?T1G/;5'#% MV>ISMMTS]IU;K=AZ?+9:G?8.A=,49ZO/V:I:V!>0 21ZNY][012]HG[ON2:^ M3X$)G))\FEV]U]NQTEPU%,\>P\^GQ-B=:VHIKE:8J^=FL[_0E$MQM,X<;1BF MXN@I<=1J[] 80C&V^HQM;WWV5ERM/E?/6[K9:RL5?%(\-8U&Q3CZ KI_7F.3 M5A;%FBM.WN+F^Y6N^>R%)6/W5!N6BG.HH7+?*LZA\ZZUN1)7S#GT]CE.#R/% MH8U#NWJSKU1,+" M/9[I:IOKT6NHG*EJX<[C)R^TBXXLZA[$]?V9]J M-\A8 M!7;O&32'1@KK9VW?&FV)O5=C;WKH3M>)M77A[WM&M[A9)"XJSM>&LNMM219.K MS2-3[:**C\IM;W' MC5,Y 6D_$9Q_'.E0:ERI\9>DQM'Q;NS9R5(:_#0T^'G#V+YBTLO6WNI>23U9 MBR>5H*HG:_$D">KKV 83 O_ON/?O_@+_(]^8VN'8]:6UZ8#&%O^"YJ4C[:OK M.\P'A=TCT\_5]2!\_2Y5W>FPKO/7,[?3Z@UZ]K#/F#5L-=IMNS'L# =-UF5- MBUG.\/],LW>V[63ZRR>S-XME-N9,5K?49-U-0L:TS_#<)-*N8#J.]O?$9UJS MH6M6PVIJ[X/IS [AG^- BR=,6_."I2T2LGHDH1'?N#&X#,,-B'3#[IF?,+DR M$L#4^>$N#$S.LV<1>R/_\%8*L.O3@/32VR(-VK,%]X5HP']^^^ Z\01FW3!@ MP3 -J:/%E\7/!OTTYY+QWUIMHV?UE_[<,,REOZT:UC2-CKG;L*M_:S>7?U1- MMHJ3M5H;#;O&PZ@$0*6W86W2LC!6NJ;^)FL:,NRI<)Q5;6T%-@A(K3U/UY0J M[R>V/V;;G.E.1Y!S890MSNC5YB?Z,_M:\%)97QA'V/K%H4Z*L-8^],1+I-U" M-%I)Y!ZHNE4D[G2TMF6>H-H^=WTX>08)#.%$NL9^#ADL"%/J9RS$Z=IC-@<4 M/A!2&HC[[,?VCJWD M*W1QIJ2N5E)G-?5VJ_XM:I34U4GJK+YNMK9-YJZ>T&V#$:C2+?^F7&KN6N*M M2K?U&RYVJT/"O@I2'<]G_,*2,#B54E.;VKI&3^^9VX(/58V" [.IU])[#57I MH^).1 ;1.U32PX.31;.\9FU391V^1E;)-V4S?;!T_N MJ](N.?6(X,ZYFZ=QG-@-;GX4A'?YF@1X&6+UN&]A5D MP/8\+113!7%ZB"?:@QUIL] %L@)5- =^@ G:?KH2_$!D>T"J8*3Y0"W;=S3V MTXUB$#MX,W"281QI#VX\@2>#)-3NQ;4Y/>EC/%0;)!&0+(I89-0"NKX1KXD; MA06GU,B)@=4WS*(8-(V.$ .S;1G=7<7 A(&VE2$0@[N)F\V/N.^$+BQ(&SQJ MMM;J&[U?RWE?6"E\)Y@.V! X]9A?-DWBN^_&\.';V([A592"3,#L. [=0<+1 M_4"#@FBE ^$[HR2$P4(-7OS!8FW&?!:'=HR+%;,ID<*)B\/"'$(6Q0NSEF(( MOTYM^),#?_!@R'L&,QO!GPSM6^@.84((?"EG;?IJE RBV/9C%S;5HY;X0P*R M.K"%0IP33F(& A8XQE*)%V+5LG@89!9$+J[OC9Q5EIR (.__LIFB3L%>%)%]EL.]D@$S/_O),SP96-V,0"Q_7%ACV#V;VSOP7Z,SEX7 MJ0 +GJ/ZTPBV$7E&HVO[RV:[N(]_ =D(R(UK"3R=LRF^YT["GW&4J-:A@BE= I!FC$1:,+DZ-%%-,8\[L+_'V,EZ4 MF_O,O[/A-!)%Z2\Z&N+A1!M[P8"L8\9"^%S3,EJ_TLM6EUPAL-4S&)O,L+XY MYV9V*(QO,!I%0#GR8&#GKEH)FP[@@/LG)^_\?.6[-$VS8YB_;CJ;!<=A3H9W M\!IJX2C3B%OG>")Y/[)@'-HSH+MV"42OPV)77Q4!YT:!YP4/Q$?:]C.0;+0! MZ9D+UCW.UFW#NG5M0 (7\+/3,(E@F2R,_ON_>I;9?:M%$W[>Y8 M+%[!?@[%IJYI'"EEC9F4Z=K[)BYH-224DOU M4TNMMMXTE5:JN%9J6L:.K49KKY54[7CUY(9/GGR!C6L,1W$-J5 /O''Z512]BC&FEY0>VKAI0K,VQ MO)!5A<2#1MR\(L7',(@B[3/-]CBMQWYPRS?DOO-+=%ZU8OPTP)79V$KMO2FXWC)/(JH7NI0FCG*LD0XT,3FKLSKQY_ETW1H[JB3B M&!+1;.F-YFIH@9*(ER0134OO6:M3? \O$"5>3QV=F]8:$,^I^S G$?_BS@W' M4VC+H9^;@XHQ5%J"O*NA@'>:QHZQI,U)4VXZ3N6H14FC,WIIC-[&/.&9A(..W5_(JYS+%"P^+&+2NAJ)71ZOUO_Y( 3A\R:C:U+>;],R.P6 MM7ZGKN-X[ @W'BO=1KRYLO,W>,NSL,IDOH: @"WIU#/6=!:M(1!@2Q)L @W8 M1E&>OM#TUV4<**'9+0KX='3(4Q\]#:R'U/[LYXSY$9=T% %AA=+GDYC*$B//HWTR;V/0/)]&,7[+YW:/W!=]RR*$9\@ MD"DS#Z8'O\I'RY\4%'=R\ 91.4U 13A@96:'Z0^!/PX0-I*-L\$HNO; "$T" MC(!_QETD2KFEXB:9 ?,,\]"+_*A 4OAFX .KM&L_'89&)\+@:*'+_&&&4)G9 M42S!.H\%!%GB,#>Y-8#\YZXL$Q!&"]Q6)XTRP45)P4K^2/QAP0O(B@13H:C MD^;@/BOD6DA7R^+^*@?Z!&!.!,0K0YG@;7WN1:'.&MDK]B *O"1>_LI*1=@I MC3-79-OE+@:)@/G_G829;1BSBP&HF1\7]@AF_\;V'NS'Z.QUD0JPX#FJ/XU@ M&Y%G-'HV\O!9.&P8A(1U>P,G0!;B4S =NS)ST<"HC/YZ]E]NI]4;].QAGS%K MV&JTVW9CV!D.FJS+FA:SG.'_=<_>W1&&"W;17U[;M5W$>_@.:GE:PT[XO!4R M]NXO@_#UN[)M44W79TOPWRT")'7M(_-9")H8]?>E UO7C>*0%&.* KS]2'[3 MY7%A@*J(IIIL52>KBFB>!-Y-H0 5"E"A !7F2J$ %0KP)*BJ4("GPTN% BPY MPXJ3J8(!UAH<8W7UUIK2.76 QRBIJY74F2V]8RJI4U)W6%VG]ZP=VT%62.A. M'0EHKL,_*21@S9& TG544, UA&KUC#4I&@K6I;" "ZU4V^N:'BNI46# 8R)> M4@.P! UH6HN=0BT!!S2QNO;.>$"S]6R P%YAY$T @?ABE,QF <+?>'&DAWA2 MBVI'*]E[&2%B+H^%XV@^I$:VS@*LSB:R+X'1X3_C>Q&'3?#.LK U..YNG$-1 MV$441AB?I0Q7'"^8PF7F1P\<'203LBU9@^"HD=%NB;+Z%P;T;X7;$2"T0 M*Y@"?>R?+%(HFGIB/=1D%8I&H6@4BD:A:!2*1F$6%(JF2K3; D7S-&HHJBN4 MC4+9O!"4S?HSK+J+KN-==+N[NCM1'2ZBE<352>(LO7T"X 1 *?C$9F 97C>H%.B"AB0%(-AQ'+J#A%^CPX^(CW@(0L]Y*@^&/BP$!@& ).#SO;%;VA>_&K:']D81N MY+A4H,C0-B&%E2LCMB$IK+6D<& 10P1MN/"9\V@2A/'(]KSH54:D;(':K@OD M0-F018E'M:_X:#"A(=-&7C*,$YL#3S)2%VB\FD]>$&%U,FW;\F1E15IJMGW8 M@H.D#>FR$ N%R95M,^M.9SA\UEEKN\SJ^8,+1O_7C?4+WQ'"J&[\&NS%A1T8 M36&O%552 )8TWT+2L\,Q*U%*KE]&R$/12\M?85:*DZ2=;-ZY,1#46TE@SH-Y M;8(XM6,2.'^362GZ;ET$LN9:]EL81#.N8[U'W@.T1.D^@%W6//<'"M2 :4X( MO_IHQL[-5WC[ ]/ HV."Z^&")$D 8/7R:()6T^*!$9$[./(]6TPR@CC9 AV M1'F>)>$LB!!!>FZ]R@LU(HR%K5QC*O/#HC'F2,[SYBN86C0,6%S\V^ -HBP/R0B36- M0YNHP^+8PS%"#3&JS.$4)?2K[<(_VAZH>CN*X%3$"VNZZ)'QOT;HB_83OBD5173^&_X+[B*04/J?G!0\V HWM,?P6<6#S M[\PA'/72SK1W("[O0^; +OEP=XE]C#G,._$/ V M[7QW7\3@7EW@T]A?V*-JIG#TQ5D^ZAQL3;!DL1OA9_AK)':5V)KHT--'!_@- M.,+^R;#^J8O;GV#4;BBVRK]1-\3,=PJE:B5->'=BV#6C!+1/&7E@N[@>SB!D M?'>-^ :)-78/Z@ ?H7JR8!(1ZQ\;VM^"!_R;CE^+X!$RI(32QI?L$#_*"[:" M^,-8,]KO'.B=_JYSTL*DQ,[E;9&1&M#IF'+S*'"O[:1!Z8.I*0/C-@ MGLO0(DA:XW''C@*?-Z^&;[D" "\ ^2DG9/?HC"7\HZ0@[7O;]:0J3^63F%[& M;WS3!Z\G@!, F@18,G-$FVZ!R?=!(VBF)?Q4 W:+1XD>7%)+1R7C)@YO8I00 MIC?V*5L W]Q^ZR'K9&-TD6&16H3LY"D\:Z&MX=O\-,MGP.?M1C29T$'68)X+ M^XFBEDLCR,S&L@7*L4"[4V-P=- 9BAZ5:N8K3K?[G-&&20GI)YFC/4L$RZ=& M#$'8T#4 HKNQ6!2R1JQP"3+R1<]Y:7O 8 M%^@Z?SU;7X/6M,RS=ZI,LBJ37.E%J#+)B_1>4A39_5F>N<#=VO<4E^!G -3_ M*Q^WE@41*K4-)6:IE+3@";_LJ-AXMFA2D2K6A,'RH\-V M*ZV-/'?U9J>UI4B7<_99U<[<)W=2._5ED]EIZ[W>FG+;BDW'9E/+U%M=Q:6* M<\E:6X+\F7A40QN^PGG9+.G\>.;\+HAM;ULOK1@!+DD 71HV? G'J7U1I]I; MIMVP]%Y_6S6^7Q)5/'2@MHG:)BW3TJWFFG(5:INH;?*RMTF_H7?:O9>\2TX] M)&B][)!@[1O^".ARKLW/+_V&T2WT^$$FBQX_X!X:_?DV/9'[>;#XG&M0LZ?13[.Y#/6DP2<$'2F&Z%/OI1CS#* R<9!A',GL, MEC,#3MP+*R D?=^$R\*"PXI49.!%K]C%5RU8B M8+4ZBQVBUHG '6:1Y1D;KE]*43[F,\>SA8:I]--4OOLN)GW>QC:FLJ(DX$!9 MSGLJ4H6O8A>CZ8 -00 >LRG@VYC*-IM0 B&;#H(T^5(^)(O8C+U@ %+^6&RV M936-]J\TCMDR3*!^R/()^QM1GC('HVQ[8_9JR!;W#B8',M''2>:%SY>VR>^G MPC)'28C9H:+]$ZS:9S'/S9&T6MAZAO8-D])Y)F0Y#T.&Z<"P(,P2C#';E4B4 M^+(.C)/P8AAI'F4M6B5MMTNY)BK=HF:V"_D6;6=;M%'2B6VS+6IVVELJ^(VV MZ-PZ=MB?5S# C*4U" I;52\73GUWZ2RNJ*@%EMF9;)V851U%Q4W"?RG5%:O5 M0-,TFEP- (>[NZD!79O9H=A 626J7)YR^3I*E18^ @JI_^NF&FANI\^)P@[; M_(13R) M'UDP#NT9B(1V"=RIO5+#W/51@,G?Q$=>-P!+(?C$_G3=XVS=-JQ; MSXJ8H-@,DPB6R4*L9F!VWT9:-'%G,QS18;A[19TUF5F_6BC34AQOCI.S9S; MG^()S=LF[9D]P^SWGB4';/E'GY(#9O;59-5DU62?;;+69AFA+R;/89MBR0LI M$4O37VJ5%:$2-O>9L+F/>L?]%YAG=9"4RA=*6)52J5(J*T35%YI2N.\6D M>95]N4B30F1R$V6C4IM..;6IV>[IG;;*;:HXD*%K&L=)M3T^D$&II1>HEJQ> M6^]NG?NDU-*!V=3I*[6DU-++44M=:X=4/Z65#FT\VD;[A6JE-<=7>4'L!U3? M>85,J2=/_$H#KQ83#;<9<4O+!?7;+5TJ]51*=/59I/5,XZ3UGY\ M:Z<$9*-];'7T5G=;CTCMXT-'8AMJ'RL!6;6/NWJWNVVD7FWC@WM-QG%X=/QM M_.(KF!PB(+A[WO'\]?V)AA/W2*!J;[XCU4*9IU*-8IG/O'>J)R*4R%%# 3F^ M+5/:7&GS@U+F2"5[E#97VEQI-?PJRRF$6,H*ZN)LEV%@F*]CQU+W%2Z],7',(@B[3/- MMG;E&%IMHV?MEBU^4DGH:K+/EM[?4NG])Y!^KE+R50_E)V0;UX*?JH?R\Q%6 M)?RKA/\*4?6%)ORK'LHO)(O_?1!1U5MQ:E>ME.N<56;V6GK_!))=E=352NK: M#;W;VS:]0TF=DKHGH=Q;NMG=\6*L0D)W^E=;Q\ERKLC5UBFG1?+[C%D8C-SX M*1#U4].E94NLMN VS:[>;VY;@*-Z&2%*ZNHD=5;'U%MM)75*Z@Z:[-#16[WC MM(96R6^;ZP;3.$Z]@!KZC74+.7*_D<-7M.7PVLV!VQB:+D$WUE#L.TW#>A+6 M;"'S; Y MU4;P)UTVC@,B8.>NAF'EK@JU6>#Z,:)U46UOV"9.@'1Q+V[VAF5HA;EBO[[I MS![&O&N>Z"^G3=V?B* ="[ Q_BV*[3"^2&; \@B;\T51,'1M? _[P>8["&J> MC7WHF.@D.+6'8<"&@1],W:$V@F\%8:1%R7""O3)='TF#T.()LYT'8&5D:)?\ M=YT//;+O@U#T/\M-#^8=!O=L"N3#I8O?W'LW?N0?AO5X##OACI'@""D>N3^9 M(Q: 7W2I?:=HW%EL@RAPRKDV>H_,#G4:9IRGX-1^U ;(O<@5O$X)*A@R2N(D M9,LQR$*26A:O+G6] ^[(0GX+IV)69BS8)V>BO9__E=EJ]0<\>]AFSAJU&NVTW MAIWAH,FZK&DQRQG^7_?LW1UM>=B5?WEMUW81[^$[V+&1UK#O)(1W?QF$K]^5 M;8N3R'"X81&H7#03H,P_@";W@AEI^W/L9FDUWM[\MSV=O?U ?S/?IE";PV9! M]/M&M]'=,0FBW]FL"]V6Z/=FI_DL4/W=1ET'U6]WU&2?:;*;96R\&!QB30'_ M*@E")4&H) @%.5=)$"H)X@2HJI(@3H>7*@FBY-S*CZ4J^:'.@."6J;>MXS21 M4BCT%RMT#=U40J>$[J!K,W7X]]K+W(EG/C15Z["-S@=5*=*^]*ICI[ Q6<\%@@(]-"=A."%;^\4R.KEQQ<,(SV)A%/@^\RX(U@2CR]7J MVLR&O6-[,$XP&D4LQE7;N.YL*(&<8SFD%_Q;!@E B$#,HAC!6H3O6@ZWJ@C3 M_\VTB7W/8+8^S#H!@@ !I_8/7.(]K 27)1!T,P^F![_*1\N?%%S,4T54TA0$ MX\ Z)+;\(?#' 5(L&V>#473M@1'J#=@+_XS;4I3V3.57LACF&>9!'/E1@:3P MS^+",@5AO,1A M>=(L%W^<%*SDC\0?$@R2((\X&8ZBG(,E;B_792"AE3JRLGB@6T1DZMI'YK,0 M2(J,N'2 86X4AP24U,YO/Y(JO3P>%JC7;NZ(!>JVK6[ZM*J,>_Y5X-VC(-4P&" M]GE(6'HGTIR[$^D?[C[=O2;H1@,OM&=SL( MD^:$+M@[@BT57\&:5D-PPCA :0'Z 1^,DMDL0$0.KROU$$_6-JNMF !<1@C9 MR8-Q.)P(UY^MJH#KL8DY2W \^,_X7L3A'KS3,6P>#OP9Y] ?=A']$3-["C2= M@-<[YA":B4O5N\ AR:.4IC,O>&0">1.ZI/FT,,!R7_'$C@LLH<'9V!W"P_ D M?:CB@*4<*"PO8/CX((F ?=$*$%%]JP5]"X-[-\(]BQ'G\P'(RD<$D*E[2!'&Q]6E:7^76\S.]T5"-=)7&'7-NYI7 MM/JUUW$GCE8Z-_$6\-!*H?)0)7FWX ?4IV.%0*DGBT_NJ1MV3:M%78U&;,BO M/.V?&EY0[M3V4-!D.1ZBHJIF2VI96_>IVXXPU=%,SX"K>=9.LJ2UKZZI] M2O3V('H;C/&,'1/W.,L=8&-K\!E+/W4H!^DKKR24"S[EHTT$ROJED0-@X1.; MH,)X]9U23!<:R11%8\=QZ X2#OZ 'Q'D\Q"$GO/@.M1@<.02C$;6H<*7170L MXM"S* Z&/RX&!'"#F>.XO(%AV=#?C5M#^R,)W(APOR.S\>_^2"!(OA2F3B)%C_+0RB&6>\]\C[MY9( MP@/H$,US?R"=!GE [[GY"C]PB+EHINM=;)#XN;7%0(/&^^@KE%PY#% M?%&V\T;3 $'D;J*\;W&-2M.2OPI!X'ERDW4**0YZ_3O65??:&*'3"QD M'-I($O:3A4,7_P&^CG!9YG!"$A#7=N$?;2_!!43@/7-ZL/\D",FU'^S0B33J M!\H5\,?+RV]SD&"N6*2,P.9\P \%1+>8A3/@$]?J\+V0!2/^A^ MSPL>;,0*#X/$PR_13R_Y'?F4#K+TE['=Z#"WX<, M#(OVX0Z^;(ML&S0#?A!C3HDH-LM3/$(T4Y@E,@W Z'&/YB(&PW*!3WLX,E6U M92'.,'[4>N.BC _P&*.D_&=;!=='EH6P6-Q3> MP;\9&3G?*90LEC3AAR473CL)>%QEY %7P?6X8=1<]%Y&W#F(-78/+A ^0G6% MP;O%)*O8T/X6/.#?=/Q:!(^03TS),OB2'>)'>>%>,/XPUHQ<')YOD_ZN<]+" MI(37XH)W/21J7-^\UVX9/V"9W9:@,7[D/PE08N0R)ZMS3"X=L O&)DL.]!K: M,XJ,_2F2GL ? H<0_T8N>INRXMK:(PS JRMGT]1\.$D&X/78Y$&BRYZVO_[R M]9-L?:TE0#/W3TY*3#6"K]K#(?/P1>90X6>;R -31Q+29P;,'2T MH\ G[0>&/7)%'I+(BTHYP8T^YCQ)EO"/DD]HW]NN)]W75#Z)Z67\QC=]., $ MX/N@&PQ+9GB"PD+((C7*!XV@F98X81FP6SS*L..26CHJ.?29G\2WQC 8^^2L MX)O;;SUD75:)G!+=4B*6BZ; M*W.9ERU0C@6^K38![81'2X:B1R6[^8K3[3YW4$''D4L_R1SM62)8/D-M",*& MQR$@NAN+12%KQ J7+000/$X#W7'"BC8"WPU%GULO8EQE%D2#K:+YU>T^CEDW;A M8/N#E#5?IXS-B0+J\(9IM@PK_\;0COA.I3^@(@8II&,N_N,O9J-C]///\_11 M(?QI8B0IQ/)Y,K!Q]@S.M#_=*>A.V !F&R,]XH2Y_/LN12"!%K #8!?%<);= M=['VBO X=]259U7VTQ7-%U;RIY0;VL#V4'=$NN@S .P'X^=I7.:1\EZZ*T#M MX$-@W%!!DAYE\ D8D8[@=*V#DQHE(9HU( UX 6/X(S\;9P/)<^MU2$X:*"9T/*4\7TH:%V;B-\!WD$J74^#G MT.:O<_T!2QRD(^* _+V(FYV%::._Q7LPS$UO[\R8P\> M6>#=HPP,@C ,'L2^MH=(;5HJ+#*8\0 )F(<_&)J\0+JB:'NX3($W\W%_6,XE+%B]/,3P 7X.#"^"[Y M 5)/XIL+"=&G6#B-I%+A,^Q+$ MJ=AV<4,Y; #^(^:,"ZF5&QZYA0Z/0UXE)@=PISK=2%$,_S"5FO$;=AVYUK5K M^#?-Y"L 8?LGS '6!'.[83SG'J86A/!(X^*?) 5XC($!X(]3?K[8[21;H7H) M_RXXWB#9TK07]!RY8^ ,YYQN[/K"6#RGQ\2!CU,:*6;C,<^.XE+/^6M!P2X9 M!5U*4J&B$H,X?]#.% 4:@ K)"'Q6O@NR!XH&')Z'HR-J%3I\@GO+8\MZX3B8 M6R(YK&D5 ]"MX6.Z;%( N?.;PZ94*D+8Y20"MC,\0-&\E_:=L3$T2M:9:WZY M2.&"%,YOY!CC^<3VHD 39XX0X_A#4M:YJA) ##0:+M^KXF^XH7.%/7 T'%[H MO6!Y-Q]QS!0'*0+G$CXTK@-*9"'ZP4\W2R4"V$_X7%! M*5FA0A.%-QY!"8WPA;+/A+8[QX2$,GQ$?R(')A*D]4!$^)YN&P9Q-J%\XQZ4 MTD'^ (NWRO9]$/+3+"I??2$$[[A>DG>%Z YB$G@.">/\TW,Q?BEU*4/$38!X MBZ^96T(;-3H7'-@:=(U!QW+:5OE]"D3.>3'U5YAHU48!GC#)XO*R'HZ M?;W7/F+)_/U:X>,IY<^E1[4-(MFXZ(E)W23>N;OFXU>GJ_4_]&/"?/IJ;>[&V;[*OL\/)M M/[,?<<^?I@6VVGK/7%TZ1!G@7?'R>J?[_*1]"?8W3)BC>:(@O+M8C^W$=;K9 M:.N=1OV+F)T\FSIZL]$X%=.[45.P8\%'BG>5S](*K&WTVILDJBRFBV%8_*)I MF"6WD9B Q[."SLU7Q2O3T[)^G5Y3[[:?__CY$CV+CMG0NVL"O'O3)]L4V3CL M/;YE&JV^NH9W*42T!-_.>9E*KU!)UJ M&;TU*O5Y9KT9X>:,$D_$$OV(XH#^1:1CV5'$8H0A8QIXX9>3F&$Y-@Z5]'\,5(IJ50?\GS)*(TG%<9^E47MX2J=:T =AF3=%>#!=53S#5!&GWGE\O9ILHN.]I7:0MA?N* MOMQ1'+J4"<2=OSCGH8)'R+U8A0Q6&,VCWR,JH:N3T+7[>G,-#N*8MZ*;MLFH MM/Q\D;&!-5&!W.'_*=TR:GAG!H<=R]I6]:UHF/)2^B8MJA[-;@ MA3D.9D-O=+=5#\IQ./3)5F_UC\BDD_<=MHX=,5Z5JCQJ=.*VZE02L$^<3>V> M;C6/G2FU%%Y9(10$C5C6UZX\QHZ>!.F+;]*3^.U1._^.P8AK_Y7V-0U&7"[Z M%!6FPKX#,!D^,.N+A,B+?"5)Q'R(G19ARU1PEO/U1Y\"&'T"R=X\*-BBQ:L^\9&+,3* MH=3-1I2P?96UD>%M6&A=V4OSE<8(AD*U]S+JU+]B6ZE(E H"-7%K-G(UGG.% M5=>TX>*%\DB0F+-*?N"G7ZRNT4Z_@6_.R0\^TS*-EGPFW\:-X$<9#W,+X6!6 MJL>;H5=IK&8OZTS'"[/R$38:(-L5O!\3K__G9\5P73\54OE!JYTKK8TU&),9 MKZB:UI_4YXOB5GIV17,_L1ZS0H(O6"H6Q80O.;-?) M-5Y,)3V% DLN%*'!.(-V5L0;B>=R09G9L(VI:&_&F\4E4<9:V>:<;E*$JGG]$;?:.1?H+KD MX(LZ?+R\\> ,HG8L:1\[T7+#1T0&_";Z;.9ZJN#O]3"Z^_!&K].H]ZG[H&7Q M_=2@9B86NPI*>2+1$ 79)4HX@M,^25IY)5F.3L9-+JI"2T^QK)[T"R(TMR_9 MSMW2LWK#D5F"Y8EO%5K\?BYSRD]9PE4CJ6#3 MF1<\,MEP/.=3\):Q^> O[[2=^"XJF'20..#=8GGS+RS@+YJ/H4?')\5D7X&! MYXYEEX6"DT/;07:LC;*VWKR7BBCV'T5)FL 23&$#IC/"ACB4Z2)7(YJ"RR8& M,\]>(?,JWW&C?,>>RG=4^8YU6X3*=]R_42'?R&SL$%99Z?<6C0&U)WV:QE\( M]&UEOD(MW/X)CO M3_@:NPM?*Q>P71VT^J6=VXO[E,)&L='D"4EA^1D"K46(S:;@_/0UN7/.2=59L;]U1[^.)?8]=V1A>*XH0)C;_#+&1W7S'IAP9@CDR##,RE+8/ M$OLG@&W@N!$UV.4!>ACWTO<3ZO0ZWP?O'VDV/3;K%7MWH2W'"<@7GO:'0 )1 M?A3UUK? P\YPG+I744PM64_@D/IO(7(4N:?ND^EY<+%W(L;$0T=TM8XGVG?C MUM ^7EY^D^W\< Q;GBQY3\'2L40_L4@T%*.F'9N_8_,X'#.]?9 =M?,V;[[U-&]@QWCC:MYQ+B7 W)+)*L'_C@->'P+, M(;T\H,-ZX45X%"P0WN,,16PI=*DI.EV(^-H]V-0 :,X5"S;L"T)!TUP7=NRZ MF&N_SBTI+F+HAL-D"J3@/7+YNK"?')&=ARZQU1_]0A/EG3-M0AID*[('0<*) M/;3#\!%_1$*PC'D+-V*<[S Q[(P'DW/0-[!G*+-^+"Y2>)M=WL/2P% 2JC$Y M0=[(CAK,8W-DX#P(4:9<833I4T0Y612+YP^+ZRHIFMC!+VL56R>UM[$!6FIZ MI(:T,PTYDQHR;UM8!(\.N&T1W5P_V[X]3ML/F]VWD?8!=F$21=+_NO1M[Q&% M!\3A]W0'OI>DIF=N,KG[FG:;E)UATZ[=RJ)QUMZP(6^\>PWB"TO,&;9;V,T. MN8DU6N62TTE UZZT4)?4;I05".\^REWL=WIS!;F!-Q'F/B*5I4J"KE1 M%+*_/ J)"W2=OYZM#PR95O=L'[%+%;BL8LQ/!2X/&+@\KI(H-TK7=U>?M::A M_?/[Y9>[Z[O+N^M_76F77S[@/WR2?_]P??O^T]?;[S=7M]KE;U^_WVF?+V_^ M<76GW5S?_J-.AGGI\4M8(SJ!8[Q'N.C\=ED+W>A'E.\,G35PG@4H>N@:(<8- MCPWP,%HZ. D2;\\-^\:]MSF@"9PI<;1(W3;7QX[265/X.+0)&PU_C, $)]QL M8E0.2<"_+SXBSR,/"T1*_=([3CA%2@/L]')(J^+ M,YO+* #YQFVD#0*:$F8/N".J18F_.XS\0IW'5,#%\8>/-,MQ /O8QX_"?D%P M*P9IJ*V]"&S@0_02A2CX!IHF/IS%9K8L8HS1F6SV_*B&/C+LR"%AT[VF8@ ]/%.0?1;9,0!@0X$!A ME_S\@6Q 6^H=+X,E/)9#$X#5NC'?^DG(./H<".KSR#^3^B8&/46O$B4RFN5U M5C:7G;63#@.%.!XL#>BF>:">0F"64SXD?3V)70\V"JP!-J1/#Z2,F-)9.(R M"+ PAP[@"-V%A8R!NE12.Y(HC04& M!H5JAYF^M^,W&E;K)HK+Q):K[S?7OWV](3[IVLQ+"(-LSV;P0=H$_ >D%4O" M0,!ZAX^Y:0R",*1RK&^1C.?6*QK!H]7'(FS%1W%LW!T1G+]@X-NOO]_H^$8Z M%WAC2O\L'@=]D$UDS>1*IH.<)_%PL,AIB"&B,@5#(2)@,,6:LK?AT22F,R0. MM9S(,*HV>9RA6/(0"9PY1"QL%@#M,&V@$$#$1&H0Q!!4 LR/%WX%$[*"X9I'?LA:=?, M"-%V14GYNPW4PRCG(T.KA5Y3A,E)_!,#QC/7_ ".T*2L,8B6@_ /7>$*\A * MC\R*$LMXP !>2>'D(\Z--;= [1%C(1WE" ^DL?=Z=K+]7F. M TR!,&?HA])N\LETI8XA3G3"?$F],)@0 MBYBRN(W !6>I7GG#(_W8XA-BOP]8/@;-=SJ_5\>$A.D4M M*G-GX=#22_1'0^&W,.; *H(4Q NA7S7)Z% :(QP8W\J8/5&@OQQ;^!M0GC MBV0&;UH>%R;<]._'!N17NX-0>A@&#C0*B/4RO>;(#W\CC M$CUAM@.VC=S1[)@(\QSBMG4+QB@"*2%_%4Q89H^0'KDKH" -Q1-AT%63A=?) MM?1C[FN*Z^LL4ZOLHFW_,E,64"F)[:K [HH*;GL)[#8;>PGL*E!J1<.B*K:K M8KN?M9:AO?_ZY>[FZZ=;BNM^N_GZ_NH#AG+KY Z4+_"*(S=$G.1#"B/1")P6 M>#P.\PV1A ZA2_:S8JM%*N](VO_2EXB5-#S'*[<4G!W^3^CQ(+K#)4Q1G#LQ M1PGX!/=N>MU/S@P=(! TB6&K?&[*-#W]Z5I662,@N!'\'8-<"-$<)A2H"4;@ MHF -"XXA%;]GWH7X79T:MFVQ%_R\AQF\;"LG/OY3#F5)0$-OO-%@^ M3+E[>8ZOBHD67Z,9O:*'"]/F9[AL\@2VH;HCZ*:E^!J'H:?'3Z9P5*)C@CSA M@><8A%/.'@'AHN<&>10AGES28<4A@*.?!(K'C8$AXCP6)8,IXE@S5\X6(?O4^19^$ MB9?=>TPC63<%9DH>HK@7!D>Q$Q*M'8X98 )IER$1QW9('TW9EDFWH?U&)6B2&068L&Y8 MNLGUI^XTE$$!QJ&A<;CU&TL[MZ/YK11ML)?RPO.*Q_#2':[9<8FRJK\E>I^= MW*Y]$6(61DC["J?U'(3J)@4A[H*-/J[MX>@TM"I^D"^ED80R\N-):=(P_)\3 MQ0Q[N4JL1@6Q&BT7*R['0XJ8%#">_TG @(&G*0^]I9$ >GMB1_FH#X\@44^R MD.L\ ;Y\U#SW!^.E 1:>U[=;?/TE_1/>$8GP@HB%7\W;;^E^[ELI M2Z/'*&9372 R\>9] EJ>,,BH7GFA$;+Q/#X-@C2T?9FD [2BS&()Z-4IK".# M%!QM'1*H.S7TP> /3M9(.DK%J9"G,&4QF XVM/$F#!YS_0D3=58R/B%JW//F M7J=[M+PKR0OW<$N0G[F6&"[X^]YAY3=&LIR(, !J'.W[QA+07:AQ]*WL_9ZI+J?M4[OUW=:-=??O]Z M\_GR[OKKET52;JHT.F>K#RU;463-?= B7RM+:XJWFH;VZ>KCY2<>:+WZ#7?>-HV8G5T\)68]B6(TQA9S\BG!HM4 M84H,X1@$&$DXPV2V(.O!MZX/1170$@G6<_1(D;Y_,O M;> ZHH_A: Y2'"+R\Z/ >F+\\%QP_]OEQTL9&47_E-]%\T^(P?&TX-D(T++' M-F+X"M.78<.$?-X0_CT)8^D'$_Z&#I^@&H ^OFNGN(#W"!,B!.BE9T^98^LH M! ,VL;U1X6S%:4E 2S@^>79(R#C$7C GG4;V)!=A63: A##[NHX').P;.4[A MY$!(=QHAD!'K)<0R4IF;\299WBT/E]PT?!,]A(N8J$CCY\OD2^"D2SFL" MEHOA#Z(@ETNSD0FFK/*9EE(0U)6TD[*%LE ]&4AGO48"UG-E0O# M0R3[(4M$X,>E@-#[& 7VJ8*KX#OPSO8X3C?#C6+=5[';(A'CUD9B2HF?Q=I% M2C:?@ER $/Q2F1"*CU[^ ,$*W1%!6?\%$*Z*;M@A"=.-XX8$.O>'0>@1R+O MT= ^8M2'TXZ32B+/> KO+&\-7+I*P,/Y(T/T;!2YZ)S&F#"(6<84+$>X*<@L M1ZUDN14B"5ETQ9YW91'(_%BZ:V:ZU-@ M&O%FA0=<7!O?ZI'+PS)8,L'C9:?U?:1>YPNB<@6>WA;?7KVG\=@@!#?KD=_M MH"E8J$L71_6(;V_OOVM4_OU_? M_2_RY/O-]=WU%0=\?+^]PA_%<61?J(_CWD-]"?Q=T:Q;A@*V$=KV"J&M=(AQ M=6KHAZO?+[]_NKO5OG_[^@6DZ\OUUYN"(M0RM,_7 M7ZY 3_U^!>HI2R96DE-H/"TC<7 Y9S?,Y#KT[.%]$7T=WH7,9AG?PX&]>,/QQ1C0>7?3, M_EF:V^)"[@Q[ W[ XN=:2P:VC.,&,&) M8MV]QQ'\T27%: @7UQBT+TQM)07;>0J"[..+^)X)]+MT@AGXIK][]OA,XY%! MH-C/^,W(_8!)_[R MNO#-=^O_7O7(XX?M4#5ZVHPMO04.618F$_?=\!V0GRX=\WZ"AUR9U!P.-16N7)KQ M*$!H(3&%+O9$_(S'<=+S),90>$'33>:ZVU99L_5)%Z9;I7GV3C!]?A-0)SA8 M=R8<6'DBE9LA(RMR.[2"RF@1('Y&PJ>7.]B);Y8B!D'U,+F8F_F[A+G=GV:Z;MA'I2"0:R$05BJTKX"--1M$54# M-&P:. 55)IQC@<1W-G&0W_V%&ZM4/X5 -.PB[-FSB+V1?\!4#W %'M^X/M&= M7GI;G"CNR?E.X#A1_K/8KOVVT3%;N&-%'W+Q8;&9#=K,<^V-^6_-IM%J=Y;^ MW##,'7]K=UH[O;EJLE;#:#;49)]ALF;?L%K+?\X/NZ[=/9=U(;W8'IM@#!HJ MJE4M[X61/4Z/\"4]H^PIOQ>]GA" MU,AG1KWY 3QU1:I5I(*C)YD81:4E5+H+L"18[KC(,P!O \\IT&R=@K*'/\9A M '[,A9CY<,@8N%""5.@.;$XGCXT6['-*I:7>1_-H0;#5H<-^)W_XY1'#:]]! M19@=;5MG[R[A1.AJOP41FS_LZ:L/U\N^0!HV^T3[[%VF7U?%D%9)_C(^;[-[ M]BHK1]U3Y8?)[9DE-3HJ](QAG;-W[==F_S6&)99R3/'J2;SJO3:[1&#M0C-? M-TW\-1:W M26:F+L?CRWO;]2ZG<3%LZ"?3"R>@PS6. [0&8C :36XK.#AW&CHL7>XI.<%W M3[-X(_K/"[)KO0WL6N_LW=_LUL;M_+/S!FW_K,8MSF6[K2G MUXM%!=7B]BPI-6%8&JK]VFKNSX2]6([T7YN9G3+;N]NIPU#P!*Q1?S=KM&!P MFB88G-Z^KDH1$$/?IYZ)3MC-4P]V5GVF?ONIVN.M4\ MS:)YJ;UGISTVJW-C7EWRB:FI:ISC4'-#4E+"DU-9C!V'YM]M3!9I^FIEV5FY[3-C7M/9F: M5A--35N=;)YF:C; (;1:F&(.,XFT?[N>PQ9,P5I;LPD4H?4\4(07ZT1OSY)R M6T. @SV:FA?+D-[K'*C M-1ES;.;FAVA XNFIJLN:_9@:C: !F".^F=[/':9 M]K\)\[=9+<^.,('M0&M8DZ&E=\VGW>[(S"AXGZWFYW*]IGRZ=R2' M^22^=RKU>,?4X^:..FQ[>GE,5<6"#[ M.7$';OSVZ!/<1VKS":SL^/G.3Y#_RI9&ZAC:U?_\[?JWZ[MC.]I\_72MAP!K'+WGYKH?--XP73 *A#LZC5R^8"+_S4N + M)2=4#.4DGU1L/P0_2WM9'R5=CJ6 MA>!NV'\2%TL>?Z=ZQKQ\+O9U;YW;N;[N]#?9L2LK8%6HS0P_F_UFBSHNVU,J M]_M,)QGU:.%1I;IJJ[JL5'592G6M5%T+H#*END[@4:6ZZJJZ+.EU68;Y_Y3N MVM+M0NVTHVX;[*+->'M0LZ=]-VZ-]X:&3?^Z;\UFNZ'T7%WUW#&$W&R81[VB M.^H.+W9SD:U;HK2;K>Q8*UK[KFECGK;Q%'UZRAJD".0J[R6J71/R _9ZS'S> MA_F3;[R$W0C9!6H'FO?:'P12H\BF(HE=/G,"F,[B-@^&/28"Y?6F_YRM0 M[/'CTR9PORD%[&BB_0[RFE%\XZ_@G\[A0U^"F%>J7O+%S'9EWU8V1=F4;6S* M)ED3SV=3CK?R]P%,1?N&VOH:[Z QS0!4U0<[MC7" IQG^A]4,BETWB'+GLT\ M6 +U8K=_!GXP?=08MPO8X\7G[^&?$3=NPY?)@DBP#9CQ5VJ3'FR3ICC^U?C9 M=A'-VMX*S?VL@OK_M-^3T'>C"8@1-D5'&5S>"?:0N0BU!0DO25!H[2=!H7OV M3G544QW5*KV(XV<8U$%/E"/$;J\_?KF\^WYS=;MWRAU:Y6$HJO&V]LOXEH11 M8OMIT]*01_#2L]A& 3O^XMB-P)[!4!,;VZEZC]K03O#@%4_<"'ZG4 +O'12! M:,(/Z//!9P9L8GLC[,^* ]&V% ^@T4YX4UL8+NN NDT[]VK2O2@^!^Y:V#=Z M[>8NF33MMF%:NZ72K&S99_3[_;V/VNP9[>YFP^[W3"HQN)+'IY,4L&E?M:LO MWS__=G.ICCK!;)#=C.*)\;ID M=?5?U&^/;[036]+KZ+56*!NDQ''+MI6+;<4:3VC'> SB*/Z?O+%96K5K>W8_ M3T2U#D0\7P'G>+5(R@U#PD^)292%0%3%F&T#LNWE =G7@\!YA/^;Q%/OW?\/ M4$L#!!0 ( )>% 5>@,'27$@P (5Z 0 <&5N+3(P,C,P-C,P+GAS M9.U=6U/C.!9^[U^ASI<>[_M^Q^U\\IU#V-MW]M"N M[XSVCCQG]Z [<@\/.OO^H?O/\7'7ZQRXA_[(<3M[A\Z>%#CJB&JPX[J'GSPT MVM\_4* O[)BY$S2%0#2-L.,7UF]-.)\=M]O/S\\[S[L[(1VW>YU.M_W;]=50 M56TE=0-,'I=JOXQHD-;?;*.DZGZ_2ZFJA9LN=T=IU=(0DY MIW@4<70AZ#M'/HP"WF]%Y(\(!MC'R!.Q$2#)_E*%W&T.Z1CQ&SA%; 9=5,TY M)Q\ D*SAZ2RD'!!-VH=LI*QFE"NQ%H@9O@I=R%7@RII,5%4-U.JW4<"9O'+D MUP(>M[=C:D\FU;+T0PP34: M+Z4?Q'V O7[K+!2+\Q:09=_N+TL75$IK7#\%3"$S6TXZZE\7.-E2W@%*ZG-[ MM>X*2L20=TM.U.?5T$Z$DRHE@BM!45ENV9V%8DEAZK]2KQ(/$2$L/K PP)[< MRIS"0"Y6AA.$.+-RN1',R$=/D# 4WD0+0A),D <%"2J(8=\)R_GX#E+1O GB M6!C\INPM(QNIW*U#)?BXI.7GIE.[<" +_5LQ3BL;7]TIUZ :*=VK1FD&#T(? M9 K>RDMEU*HPT[]>A>4D;^"CU_0QBC(BR+W]$F,_/A5H7_C M=+[?03:Y",+G-QVF,U CJ9]J=5^!#Y2"!E%Y2\>0X#^5%9!XYXBY%,_D5>B? M1@P3Q&Q(K 1GI.]0;DDP.NV-!:4%<1T$C>T2IY"; :03-HD&&#%+Q!]%V2)\2X M&GM$/%] 3'^%081"_P*+CN-B&%P2QJG:E=NP:(=K(K/;624SAZ\ZHM0 E K) M[T()R&EI$*OYS:)<#8;$DKXU $:>NJL\+>TI00;5(#(NA>5DC$=H9+-M4M6-CMU; M=:P4:Y!3Q2 YQ8NI4VP4Y-H$$K 2TO9>1"V[DGOE;B#7+U#>)9",\0'4X@MH-CN;BQ;E: ;.2[8BEOGK,#'6%N3 MJ"[./1676C-= ]Q(M)8)6)?T6G^C@32OYK96KVMTXDJ 1CJU_(.60BLH:2"! M:;[+FJ@502,A6C8B!6BBU_4D@K7_UT(8F:B4C6@B*Q63"-94V>$:^7M=BJ*) MQ!9N@*UI+$,QDJ;E,DHVTTVD*-WGIG^MV5D#8"1&RW*D -F'!M)1;:L\\#RE M$ :9!]DYXA ';[\O+U5FHED_>V"Q5Q)'DDE@JIXO=8,'&4]:$A5.6&F\P\@.616)!9J,8GD-KX'H FSN69"@I= M'L'@&O+$JW_-Q%?'%&/P%>35Z@1?SC:0&?<^"]8/O$59G,N4"QX,1SA0CKU& M4-+E0;Y V7#PU37'&(!:'K%> &;E2>Y7K<4R$T%J(X \#]G$."Q^L"+]3GA( M<9TM7V5(8SQHV6F$\OWSK?A[96)4VLZ&?(LB>M#72\_-Z!O=/S4D:':SE!*=U( M9Y=\7^$^G,. SV]' 1['KZ^P9Z46O)$^+4M7^CT)^80HU@5RRAK)MGX$097( M5U)YI WE](%'82-8KGF:P9]L2 MV,BREJJR/"?10&YS7\_(?:RSPBS#,3)7D./)OOBQ?-%$E@H/HIQ")I]@>^P]=H,3*L96W*CL/(/:)0&[^K(U8,4LWY4S/OH1"S,!#+ M%4_Z20QJV:.=-XJ IYSXO+;\8ZHF1Q+N@^,Q1?'2,_23DI2GU K>".]ZT_(+9VB2G6M M>Z#R-^?[6+QCOMVH@$1P$\DEKO\5I M)%]3+']'XEB,OSCT'M2;A.,W[?/TUBC.U?9;KE+3 BP2QF >R29^I6$TZ[?B MFIBC:0O$KR..2Z8A$0% YY?BC@3/WEF^ZI-D?ST0PX:Z,9A1'/0ZW=XUFH[D M6XLS#\1VQPXPBIF;ZT7QJS4K-BS['8UC+YR*OFANV[\@%2&-^%>*GF%0WJ#B MNIMK1>5&K'KZ&E)WTNMT]NT(TL2V@:!32!YO_<%4*'7A@'AG8BP8B;+RIIFD MMJ%E-R&Y0U3^A$[\.$>LL%AYJ\HDMJ%% PH)/@T9*F^&5FT+NM!-)$W)WF,X M<,425TV4:P?X,I$W;U%20C@:(UIY1,AE1-.IYAS%?R_)M9A7I]%T0$@$@T3@ M#LZ3E]*M:?3K@6U<\R-GN70_C;S$UH%\R#E6E;1>I\ZBSQ_0"S\-0O=QK;M> M![K)/LU3-76"*6'X/Q&D'-%@7C]ZC$C;O2;*M>3+"T?$0]X#HE,Q]:23JH4O MUB)L:#1)A M.$;Q3'WKQ\/L;<3E@"%_^E#E,0>+].D@<<$Z9[P:=D,=6< +K74&+3G4A+4& M*TWR+Q^D=!O%#"N'F= ?PJ!DC#(+;C*F9[&N"@L4&5V0>N+_=*98.?2E#M[) M8[_+8ZY899Q-Y*I#K%._"-NFD,NR&[&+)0("H1?,Y /U!*9LS?M#;=C6E>(U M'(\Q^F^$2/G8J=?;@HV."&T\$S,6#'Z%3&;D:'DCUM??AH%^&-'1! \A);"\ M&045MX",&Q31T+#GSU?9!I>?A^3?D(EN/"XW7*^W!0X_I=@;(WY['T;TT9"F M**Z[!8UXF(B*[#N6QV/*FU!4\X&ULW5U9MN@_'V!/48:\BY)%"DM>S3X@ZLD2L04#3 "5Q?OUF ;Q/$*@&FW*$ M18)L=G^9^77E4559?_O[MX/)DR_8S<>SZ<]/^8_LZ1.3S_]_/2/C[^" M>_KW7W[XX6__ ?#/Y^_?/'DY2X<'.%T\>=%A6&!^\G6\V'^RV,7_NO33SPSDUR)D)ARH.H?>$:7!9:2LQFCUF9YT\EX^M=/]9\8 MYOB$Q)O.EQ]_?KJ_6'S^Z=FSKU^__O@M=I,?9]VG9X(Q^>SDZJ?'EW^[^^?+7][>NE\?-V%=%O^[)^_O_F0]O$@P'@Z7X1IJ@^8CW^:+W_X9I;" M8JGU.W$]N?&*^@E.+H/Z(^ ")/_QVSP__>6')T]6ZNAF$WR/Y4G]^L?[UQ<> M^1FGAP>Q"^-I^C'-#I[5:YZ]F$TS3N>8Z9OY;#+.U=;/PZ0*\6$?<3$G49:W M7AQ]QI^?SL<'GR=X\K/]#LO/3^G&4$W.C&05SW^N<=-G9YA3F*3#R5)%;^CS M\:TKNO;P\=L"Z2]6*CL!,)FE"Q=-JL%FW=[RU>A*X[ MHO'A?\+D$$>\,"FDXE L*R2E#^!=D!"9]+$D7R(SC:5<"]A%Z<^1::]+3V9= MQHZ&NZ=/OF(=FHY'OA7*T*4K++OXUAU?\6Q^>'"PO">,%WAP\O>EFQVTXL5B MUK=-5FP@B;:ERUY*LT,"\QX3$K XP7_@XD1FSI5%%Q@8AQF4S@)\BA9\9%P9 M&E6##JW?A5OPK$,.\>C(TOJ%GCWKC@C(R&K+4"-)902QDEL)/EL! M6?.4$*-W.C?FP/GGKV-S^>ALOK&&F]GX78>?PSB_^O:Y>EP:G-Y2--A=E%#3 MHT5V!= 9 4IX#UY:!B+HI+)VZ&QI;/HU8*W#"/7H&-':'NT3DT!O/LU6M?<;] M(*Y#(/WH"-2GG=J1:2GN*"NKT>D(+,0$2B*': L'&\BG28J#3&H]L*R>W ;_ MB0J#E$KJ2*^BRI)R8.' !YZJ'KG2V@L66"]BW(/(NPV6[V79*PS>6+D-O>+L M,W:+HW>4'- M>(87#6]E_6:J;T:&MX2'A)]^>H-ACN^K&M^6/\@Y5V%I_,S<<(F .7E0UA,D MC!F,P)13)+ Q-6;#K8"&%RAO18=VRF^8%BW"]-.87.Q*/B+FJV]I#(98?!*NAA!6TXNW-H"H>0,P@53-,5O,;0NK*R#:WA!\U;L:&Z*9B0Y M?7I0S#B# I@/BC+W&&C(HH].II2MCLJRUC'.?8R]VP!W*V-OI-)V7N L#_O' M;)J.HQ-GI!.F>$")!E2@2-U9R<$KGY737I70.LNY%L@ZIC:/Q]3;*[N9W7\= M3^N\P[7N)^0L1,D!(B(14=#PXLD?U< D$!=192L:6_\6..MPP#X>#K12?#,F MO,2"1,3\>IIF!_@Q?#OU.2-3@G-,(6B=+:B4-,2@$@BA92B.IQQ;%T=O1K,. M#]SCX4$CM3>CP9MQB./)A1J*+*5(BB9 QD+B)573TT1T]"Y$4W*AKXW-?Q5% MJQF@=^&HEH].9#.V>,X$ RUB8;52E) JS>YK[N8AD2%6.+3EP MT]3/%JIO.1'8'6*^1D+-Z)F91/+)5CC!$9S@@9<21%;9.-7:V]T(9DA%C_9D M:&" GJH?)ZB.3LMSI41=:"AG/#%0B!9BG8LH7 JE?,3&+/<;'FU!C5\6/QM1H9H8^ MPJ2]:?ZPF*6_]F<3TO&\5G071R/#I//%2/ TG('*E,5'KTEFR[*SS'-*\/H+ MFJ[%U%#F461&!%D46!X1E#,(7@2DC#50DN*BQMAZ4NC^M>GOXO)@(J3V#-C2 ,V(\&)V M<#!>'"Q7]$WKTM7JJ7&:*C-=3D8';4%X2?+)Y,$5DP!S3L%Q4W&U7F9Y,YR! MADCMJ='*)'TXQ5$,P0CC%01&8Y3BRD 0@O[A&7-24IKF"V1N=!!-JB"&J^2% M"*"LTJ!8G8P+3()#Y"5EH;WO4:!A5PGN9>U;?-PFNNX[%3Q7H2^6<;3<4L[A M"%8JEM[3'($98Z0V.B*V]GQW@AJH(]R*$6TMT7:.[)R,Y_ $3;0T28%FLL9F M+D%((8#4BJ/@UKO"^Y@HNQ;-0!W@=I1HH_M^"P/G0 GOG$B:09'&@-))4[!. M!)562ZN<%RRWKIG? 6F@Y8&M6-'2"GVF3"6J2/\%<)H[4#%;BMB1HK&2 EH* MYH5O72EJG_Z_QT483S&_"MV4QN;Y7DJ'!Y5#F%]B&:?Q8H0T* M3"C"F%:C" M(U#&BE!*E&3+DGQVC>6\&]608J8MN7&9_XU-TFZ6)>=QU4:8O OC_'KZ(GP> M+\)DE$1Q)L0,NC#*2G3(X+)5$%F,=8>MSZ$U/VZ ,J2PJ3$I6BB_:=E@-EU* MN-K^5W+,AML$Q=3E:EX'&NF9(#X:YXT)&5GK:;;+&(84'S6V_5;J;CG)>C(, M+>,V0O6YPWV1EBQZ[FF,THE HN=UQ1N% %)S M&YGC%,BUGWJ]#\0A!4^MAXL>C76)47][=EE];^ASZTX 'Q;T[[(J-BO'F23] M]B*DS5L"W'#W/GL#K"-0HR8!9.4SDX^B44EB77:DC*3,*B=P4M7>%EIAUM;F MY!N_EQ< ;+^4_7A-U?%^P^6S8U_=>'Z]HION*'A1*9?2>15F?R0HN6S5^DYEEF'IZ!Q M_NK;H@ND?DHONZ/7I+1EO8'^DO1)C_GT>KK #N>+D?+)&6T4Y%+[P^1$2B+E M /.2ZWD=#0)E Y&Q)*A1:M=Z' M>.[Q0RH:;&OO*SM--M1R>P(?NX?YB+,4M8MUL;M>[G1#B$5*R"B"YC')@LTW MFEP&<<_1KU]?W-KFVZF\W;ZQ\]1C/!HG3&W_0V.GDA0'6%V[K!EDR3'A4MS5 M"[Y)-?0+!?"D1UF402X0N%!\M1K#9^/KNC:.)BM>4FOJGCQ[2(/4II:]6M+< M0*\-RU5S2G./,8R4$,&BS6"8-82>"W!>&N#:\!)-$=&W+E=> #"H$:F5@3=7 M<8_^AZ4BE5$(:'4!%40&%VELE)FAIF2%\]C;.N_K_<\&\TZXC$U_HURK"Y.] M:=[+!^/I>+ZHC_F"QX\9U06RJ6XOY<7&VFN+0Y22G(HDRQE#/Q2M(\7UD UI M--N.(5?6\+6W3+-WX3W.D6Y3&_>]I'=R,EMVHSB!Q"B1D2)*,-&3U$G6/3HA M@G2"AF74- BW;O]P*Z A9:AM.=+.#H^B<((DD>?<@K64,RO/%<6R6@&%MXHE MJXP)K4N+.RN&8>N=B7=F] \[* ^% MCS?F5AM:KV7KEJ4T*QS'8P<)/#L!6'<5:RYX\4Z UYKB:NXB!)XX2*1AQ5BD M\*O]FW1[)!8@C'452RGG@.=:E!_1=U"H %I?0RV*] M;!Y>WXIH2$L ALJVAC9]\'G@"Y/:5=4K6?J8%+[I4;N:(5Y+U$;3Q=>L%3A= M)T"TDUQ'#1D+J]2+X)2($*/G&45VD;6NW]\"9]L![N)T5 G6%(X&F)(95.W1 MX:QD-.26NA>9\>!:ERYOF1A_V*BL%0>P%6 M2B.%E=&HUGL$[L^<=K+_,>TP3,;_QOS?L\FRA2%YMOK@M].SOLU[W7A.OWI) M'Z>?WF$WGN4SJH3B1"E8CXK 57W,)YE >H6I6*ZU;EV.[TN6(0W@S;FZ[FNZ M4T+LY-7^E<+T\:?I:AMC.OK8A>D\I*5=IWGYZ=C*^?\.YXOCMK_'LB2=LS<% MF/ 2E*#OO D*@HPY8&WV)79%[NTD&9+C>3!J[Y ,#Y];A?G^KY/9UUZ6V)[= M?&?YT_7BM%M@6Q_PKIM]&=/=GA_],:^]_^I)*?.:8^\10;ZL-L89K[0M3% \ MI&O(Z\C^ 9>[77UF@AGG6H\(ZZ/;N@5].%KJ^^-L+_WK<-SAC8W11\%Z$4E\ MT%S0RY $A?XBUPF0I'TTQN38>G? ^NB&MH"W#W)=Z6'?C^U:'F^0$/.RG/9[ M6!P'$LNC9XY.NV6$R63^MMQ\G,C(1.MD#A*"QT!C,/F&&$A7/$6C0PXQNM;K M>IH 'Y+_W14A=V[P=EP]1DAPSDNQC"NN4Y/-D0NM&+U&=<$QA2;@2BZ *H5@ M;N"?$>Y;6OZL1L0\K]C(L5NK?]C+4PY1&+HNBI8S 4ETAZNJQ-+KV M-DXZ:E."M[%U ')?C$/:E_< @UUS,S8?UTYCA#M DL:38C* MJ&N\:S]()RC M= Q#,-9S$67KC33WA'C/XR:^JW&M#RLVH]H-NECU!KFD"^=B444 ED+X#.G" M49X-3IH4T>J@5>M&=>NC:SJ^USW"-1R?CY(.4=?S0ZQU]3@13N*J9(!L[W-4 M-DC1>G[B>B1#JGGVQ)E;Q^K-3-)\1'Z/R[W>'VO(?GIP(SQ@]2Y:IUEW/-L4ZJ 7SN^+8 M+NS:2]^L=]V8%/&Y]BE9B3"2(CM4.8$N@A.D8"'&@/1B<(X^!:]+Z['J5D"/ M(9=IS:=V%NHG2 MF.(:6R\PNQ/4(\A->O=W6QFJ%_Z<2]67Z?EU*B@Y&AN+!F=];5/@+83::=NJ MPB4-BRDU7]YS3XA#.OON ;C5VHCM]@^2(NK_M0+^A?*CI5^>+[IQ(M=SVZVGJZMC[$E=?Z?/JQ,=7W])^F'["]^3F7Y6":3&BS-U$54\$ M1:YK/XVZ(]AI*-EZ>M%( ]6PIYRP],5^^?XDJWS,5+\XZRHO2)Y;>6@ M#.B(22==F%*MIYG61S>DW&G '+]F#6$?YN^[='%=&2=*6ZQ+&4J0LFZ"UN!] MML!3"=G5P@O;$3TWK/GO;+'AHZ?GMN9_B,J:55$D7_=Q>T/>M@@+WID,4I*K ME]D'+UIO%-VTLO:PNST>/SVW-7\S>JY$?%O.B_UVNI6"1UR9(H43$*4G??&H MP MN(1FFG+.4IB1,D:C46T3B$V#7LW2OS+>+'<0&(%-YIR0M"UP[SRWD.07@&W7,C,2I*R MA\GLXZ+[S=.YAUB_&_5R5PPP46 MK@L)&#DH6Q+)AA$L9X$;PB9S^X.M[\8UI'!Z1W1I;JYVQSE@EU7 M)3S=L%]W?(1O+^B'8XH)/:2VEVN$QF$U*Z&B-\XH6/VPJ1!UX.I'OS.9(+ MMM&(4F*F9*_NR9$I4G!O!!!*CSHR:T/K6:_-D*Y#,__=TZRY37?@_MZ%H^58 MJIQ77 D2/>3:B"0;B-EG0,N]K4LED^ZA(^7MH-:J&[+O*XYJ:ZE^"=0=8KYX MQ/O%*/#\.:>Z'F5J"+!C68%B6(M7# $]CUFJ+*-L7Q78#O-:]/O.ZM8[M?/6 M[*3Q]1K$;XXGRE;JM$(RK3=I9%A!CW=E*0:((3!GO+BVKOM*H M8:T'K<67[Z1PW5[S?3?R6"TK6:Z;#-/\:QAWRR,B9^5X0C],7D_GB^YP><7O MH?L+%W6X/=OB52\[Z]E3IW;>S>;C5<5^$<:331J [ !4H\8ANU9?HX8C=5_> MN6Y*E_;O78]G1%D %JDE)(>U;6B6-<-D]>18=%DY;DOK!=";X-R^4'O;,X\[ ML^?MU7+P@Y&AXBLR[(C0UR,_=Z#QJG4L*?[=83;,&>@?O&R2%DSFV*48%E=9* THR2O]L3GA:-+:',8ULMP MAT"/W6L.YV5HR9Q!E0>JX%U(B\,P.6NX-BMG:>^YN^VH.+ )I('E,WZ&=FT4PZV+>*POL"/+'_6YV^&G_U_&7)?KY&?RBL. ;%N^*]U*2NUGV [HOQH5_H"XA&2G)1?+' ')+"&$=P MGKXCKCD74.I26I>>FPHP9%?4E*VMW^S-:;!SUW3!G5[$36-?+H@&3*YG%M8# MY;SC&711)ECAM.&[C2W703UD9S0(SC8R^* 2W].?K1:ST1^<6_OQ.X;Y88'L4>-YFLPJ@)$RPO+:'5$)$4&A3!"8MY % MX[808TWS=X3@?6A YD@X4UE8UQ0&3R+4.(AC1 MN@ZR-KA!^>Q>6-2/G?KVP<_#I#8=_;"/N*A[>F?3BOKC:MV[D"S<3 MI9$_.]T"6T\"K\L%BO,<4A*L;I>7X+)UM?U[#B7:X)N?P'O^^]QCEU=7NF50VF]"?]N5$/R5!OS MX<:]U6V,TBGLJ2!+A-.S%9R:32WOOW. MCCMA#)!HXO<>,&3:WU"]HU@FC1V^' XS=W1-9*B<,DD*>EE,O5$ M,$=DE]Y XD%I5TI*J9?C?V\"-*0@I@T_KNW7T,0>;7M_W"PM0R64IA$PV;K; M/QTK>9':$>'S@RS6P/$D;LPPD M<=U[8 B6+RJ!=$H3,&D=:SULW@EJ2&%,/UQI:Y=VA;OC]69U-N;%X7PQ.\#N M!-O1"3+K**KR4H&+RM4]^19BP7I<'./,16,I9&]=LUL#UY":F/5#FN;6Z7^V M;!&FG\9Q@JOZY>7/VTQXK7?G9G-6&PC2*.*M6<\"WXR_U!W)%Q];,RM1!:JWH2,4*(1H$V16!.UI7FB>CMB!J<^G73W7_KZD)HITPNRHK:,#P2KY4 M%[B$[+U(T6GZTKI4>1>F(47 #?ERS7%?[4S3\IBXFU"=6T-_H3FLH\$Q2<[ MYMI5#:T!'S/!-H*3 ,6:V+J_QOU1#NJ PH=A50O[]>WD2/Q55\BZ2^,SGIZ@ M.$YAFE^.)X<$_E7HIN/II]-?;^[XMGE:(V?83.!&#O+/Y0M #/F"7?B$_R#$ MV+TMQTB6CY^_/5S,B5KU'(!ZL)B+F88FZ2D;4YYG"))32A:R]1#*F;MDI([MO>:KOOXY_6? M2(_]Y8?_!U!+ P04 " "7A0%7.X4C4,DI @Q $ % '!E;BTR,#(S M,#8S,%]D968N>&UL[7U;3,_@R3^:]O?A9__DW$_+W^:^]:#Y] M;8>G9],GG')Q\;6+?VW_JG*FD9I,K.>*2!"9!.D2$9J%:#55V<;_<_I7EJB. M-@<2J;1$EE]P%+_F:8S6) A*Z?E#1\/Q[W\M?P0_@2';Q[:?+KW^Y\?T_Q/S;S#GW;/ZOEU^=#-=] M$1_+GOWW+V\^Q#,X]V0XGDS].%Z] %^?II>_>!V->K;X1_SJ9/C7R?SWWS31 M3^<*NG,(3S9^H_Q$+KY&RD>$<2+8#U\FZ>G?__+DR4)ROHUM,X+WD)\L__K; M^]/YL^9UG?C1"Q/,G3+]^@A^?3H;GGT9P\=E9"WDC^HLA%U"J MP/G?Y6G/]L9TAD#:. M \%,8%XI7Q+CNZ?MCOGP629#];#2MB/CFLZOB;<[] ML*: ;SRZ MKY@\@YG =H:T+]YKG7<%Z 7$58'OD)QK/ST.(OQA]B<_YLCO!% M,YXTHV$JMO7#%/\LQG;2Y _3)OY^UHP2FNJ?_C4;3K^^A#R,PRWX@>\AQ?12 M+>@<[>[ON#8BI,YP/"S6Z W^N'Q1@=[YV.#+%,8)TM,GP_3CTZ%/-(CHF S4 M21TH+A^4IDAQS1 ZLC#8_75EE!?C'#7QF[>/B@UN+DDS\@%&\T\'LPDY]?[3 MX/(=*!AXC7^=#(S,-ECE"96 :YL6C#@;/)$Y>0$L1^W=3Q$BXL,;ZK*D(M/*@=X3XK42N&'W27LAF:3#N:5%R MVYQ7Y<:TZ4\E"UK@^)X^:5I\W(]/Z;X,^G#F6YB\G4V+%U1U)X8JR#Z9T&G:FMJROPF"=C>)+@QU($3$H=!(XG" MXOB8U20X2G&D2J:D<18 KVX>5U$\/!Z,IE!>CEKD9COH!TV M:<'7^9_/42;I17..3L1D'O<,@LA2&QL(UP8M).>"6.").,@R<,>1T*$+HNP& M\Q$PJ4.]W:2:Z(AJ_^5',]B 6"D?F9"1H$1P2JBDB7/>D<"U]LRI1/MBVBTH M'R71:FGM)L]DIR;M)XS(FJ\ \R^]F[7Q#.&_&_GQ9*"IXAK%1*(4F4BOT05T M (1;%3TX8 9TGV9M,]1'R;BJ^KM).]6E>=N(>I!$"$H(3IC+&'=$B"1(*T@( M5 &-T@3I>[1P&X$^2LI5U-U-PNDZ<=P[/TPH@H_^RS^&T[,B'82/'VRPS9D+ M';)3A!J/80P^CDL7[V&P+G7F;F4A HLUEMR@#\58A=(QP5$Q",[DFU[L7Z?: ^["YUY<> M;U+05J3@Q^8DI;E6_*C,H]?C%_[3<.I'<^1A%?E[0!E.AE/X .WG882%>7\/ ML3E=Z'9NZ0$;<9+S; ME_%OIV?0%M@MG)7=M\\HS=B[=Z8?@5RA&C#CF:=>D6BD(9+A'\&I2"*' M+ V3TE%6F2?? 'C8A+B_K-=H?O_T_HW]!FJM,$$E'%LI[+&!HB5S@F@P3DGM MC$FIWSV>*IL6,:)-%LH1"SX1J9/ *98# HY@HHS]5HE4N?[L'N(<=T.VY-% M7G$S@M?ZG&A 6QR@+3C(M[<_)E M.!E(!S8%%(Z5LLQA">B7*(LAH (6OIL:\=1MP*JR)-;JL-NXKWE:@!BOU:I78L!90S75]4[W=+1S87W%-5U+OC1+60 *M'4G, MHJ.I2OVN0!?&X\W%O4'@F["+L#AB <,Z;A2/[R]S_'9@8 MJ>&:$NH,$ D>[9^ 2!@:/R5<@E!]X^H&B/Z=^PK*:6I*MH-*K0T9C26XD)Q4 M/BH",7-TE8)%<$H0GJQ!W]<*JE7U;-4M@!X"!>I)O(.9?Q+C['PVS]EN2C\L M@;K J4P"16"*"*+CQ&KI"(T^:!JS9J)V0=_6X!X$33K11 ?E7>]ABF.%])-O MQQB 3Y:H;(A9HF-LPFD""-(9%;*X!K)'/M7<#U2!X"&2K(>&.UU=^> MK0@&(^7?]SC0\'K\&98)>YF_QJ./;C./2CU^,)!KKS;_R,OUN^ M5C):,&GR+[[]'<>*(=>UQ[PLHQ]-[G'PH3LL=0Y(]"2KE8,4W#O#0?AHK9*1 M!M/OF,CROO*#N)?@0?(,Y:U %,KO(\ MV6JF#'I6B?.,GE69'2X$ BQ(+:VQ.53/<>T"<.^U>N45+R%,KUYSQ*\8#'-3HC%,W M5O0N]=5%:' [WBO_Y.<6I_YOXQ;\J R@&(3GD)L6R@95BM)S:CQ!]U7B&L4% M\89JDJE-(*PUO/HLK +\$3.Q \UV$:K<;?2"!5.]'J,&\._TK*G9#L*B%= K0SH9C9H_2H, _/E%"VDXG>_I4L.X M@:!Q(N6RU:@8"5E'#!DR2E-9%J%VJ>Y]<#YD\G6NMPZ.O6R6R;>C>3%K6_3& M!SFYZ,HI';!0#@9FG!I:22)HQO\)YSETO2;? ?$A,ZQ+;75PUN7V";'8'DW* M6!' $= T$"G0UEJK,_%),.#6H0JFN\J2_Y#IS[CZT?3S*T MDY-Q6I3/#L>G;]?FGS[B(R?K_VF9>=UF+!U5,]0S]T?8?.AR.)6NJ2WI0<0>YYA?03H=YB%\KXGD)GYK)<+J$ MQKF@D+(@F6I+9%*.>.F :).2\CB?A:[M!-X"YS'3JY*2.C!NOWWX6(Y?S-JO M5\[R$EE*5K+$RT:[D,7^1Q*8M41XY8T0PNGJA0B;T3QB]E124<54[2<8#W[[ MX<,/)Z66&9]K+VG;(7N$-.M0=1UD8U\T[:>F19S?)H:6 MX.;6$A(.W<1B2)DA+OM,@":;I^*RXB(NNIA.]^H Y0RU=!>BM%?4;';)7-T?A4#@,'DV0TVD3\BJ*1 M[E;4=S]\?5;W2<%9!F\(")6)Y$83&W&UUS(S=!O1D92U6Q+T6MUW>^+_13.> M#L>S9C99KY$W,)E\//-CQG_!;YY-T,7V68A ";>E\R=8])!83,0H#MD;BXM7 M[7+]NB,X]AWA7?BXV[9>I[KN()=3=S37RGWFI19!NA!5CH3J8(B4AA,7$HY0 MV4@M]52HVB?1.AW0=U[WP80.4D[[#>YB4&_;-\WXM"30@(.D(I($Z >6.PZ( M0S>(6)Z *\5ITK77L[HC^$[D3G3=>VGBKJ-9G9;&&"HHXT0)6DY#YT1"C"6W MYU)T$H#S?FN!]AS0=U[WP80.4%?36>Y'D>LRKTP7=%4K1=R'.B4 DY90$I26)ABEC03C+ M:U?E5H#]G8GUM-I!R_!MZ@=5RN"$,P2-,LX=A]+QI1>E=Q)#11%SR+7/P/QI MJW>[H]/NNCCVZETC6:#92T*=+GMQ@I$@A"64],$D$G20&# MI>_5NP=@2;WJW5U4W'/UKC-,1BTX"5!Z[$)2)!B.C@YBTDGH*&3MJ/;A5N_N M1:]*2NJW>E>SF$R TB ]"L1#,7SV5*!W;*4#4!Y=Y._5N]VSIY**#EV]JT54 MB$H3KTOU'H9"JY%*5S_7KU;@SB=J^=PU;O&,PK669($ )$66>]4 MD"1G)0P'1W7Z7KW;NWVJKKK^JW=4[9W3 MAUR]NY\O7DM1QUF]>_G9R60"\U]X,_1A.%J.LBSTD/ST\BD]U>_>%]8!*GBK M2'"EAC?YTG]39,H8E^4T0=;1,1N8I)IC$+=;#>]]$>ZY&7#QN,5;3]:^]>WX M?9E3Y1I4_,*OS;B]^''>^?!JNR7BK.6"!Z)-.1G&HB,VA$!09A"H#M*EVM%C MU0%TL+6RJM?G?E0:4GTX YC^W#:S3Z5!\$G K_LX'00?6&"XS!G*,;)3UI;C M*IF -M'1WV-#I3M]=9(+69JFN3,QP4C8F49P#8T$K M%SS1P<=R]Q(C/E)%> 1JDRFU0;7K';<&=P &]JKW56>G$Z7UT/)S4^>T00Z> MN7(0W011=@V*JV8$)]Z+E)RRBM:_G&!+;(^,6YVHK(.:V(4,9>M+H>) MF5!$<@PH0HB,V!1Y DN-@=K-3S:">6SDJ:*4#A)%-1R&1?6'M,!H+A="!*:) M] G%@^(J147:QPAH;*O[9[7 ]U6A=43NV4'T?C1U7A>C?_YU.=;RU%0CFWW)F9N179=S^HLO8ZR$2LG0/JFE\&[-555U]K7P;06MM+%!!23*"$:DE$,>=(XR9Y+V+ M00 \/&YM[S\=![5VT5*7E'H]_C2;3N828!=-&95--"1-#)U7W7 TVEQG$I4* M"24@0_7"EEO@'(?K5$F1FRBSIQ:Z])VN0>,7W8.STTD[(-$A*LDQQ@A44XPV M='"&T'NHX6>+(A80A/*Z:@M$)%,4(QN@"*H6C* MU8^2;H;SV AR'RUTX!FOWZ>>+[-,\L25\(0%84K[>H/(RGULE"(PGQBE_503 M?(^R*FFI@UV[]S"9ML,XA;0>XZU'K+;!WE&@M0_NP\1=M3C0'%B!':QR>XV! M.@9&@4(#[#*1"0*QS$>BE?72&K FU':DCX]\=P1FQ\B]7?36 >=^:<;P=='2 M]]5LG"Y0J4B59!@+:(L!JDS!$.^*8#P/RF=C&:_=+7P]DO[]J?ZTV51711>Q MV8;3]QE8XBYZDD09:7""V&0=44P$H-:QF&7WUYX4ZFSR'3 )(#+.SD^4"(T&"D;14($9K:]Y)C:#+(U 4(35^7(Y3O%;G0,,J[0CD98.$(RZ+&O7R3S2U$]]GF9^O'I,(R6*69P">:8I,5R\*WP+7W@>G(T:IN,;?\JY_P/#T; KI!!T#?PJ_32#/1F^& M&0962D>=H03CDH2K?TC$.^>(POC6^Q2IS+4MX3YX#W+\NBZS;ARQ[DM]W>Q: M;<+\M-/AO_W\-J&(RPJ( M;(/K 9*ENCHZR!Y M-35N1X\]=- [411D1:.V1)FRR1QL(E9E1[+*N*Z&E)*M'3 =@"!W%,D=AA^[ MB+Z3RK?)]&TN/4(OB^*30#CE3AE;NLDD@9$;5:F82Z=P MT?EL"[A=]6':#>K!#JATH_KM*59-;_V:L+6PF59!V!B(SA9GH:1HVXTV)/(8 M<>5.R=D.#N8=GF9WGRXY2I;MHJX.V/6R-/%H/D'Z"/%LW(R:TZ_ORY[^Q?HM M!*(0N72E"N5<-#CBK$5Y(.^EP34]NMIE&'= .JJ4\OXJ;;K31Q?'/&:3*?J5 M[7L8S?W)R=GPTR4TJKDN)YZ9*C&H,8Y8C7\$E\$IP'\+M0W/+7 >-DUJZ:&; MH#%-X+V 7)T9-U$\;$+L*?4.W.2W MTS-H;XS[HM]<]MD9("9D263FB02>&0'NP%/*LLBUTS>WP'G8S*BEAXT%$+6K MF$N]]?TKE:__=IUJY(UX5BJ.N796:TL#8U$F'LM1 A=LF6J!!@B#ZP_:;VZ5 MK0X*R+AWI#V.Y7 C MVN3SX73 !%?>Y$308Q*E M7"!^,6M;&$\'DF8A#"1"6;D.JAR.MDDC1!%RU-YS)G0'IF05QT,@134Y=^"H MKAOM;^/9I#0 6QBOTI9A.+];^17 .V@C_LV?PL!HR;26FMA82%N:J7H*@C!D MLP@ZBQ1K[QC<&^Q#8U'W&NN@XG<=\&4+,/"&2BJ)X)$M[D+TSJ/]P^"-1<4C M-WWX;+W6WO5+D-WE?"PU=BOKZ+PGDA)")\4(2S02B4$;\5I* A8T\RHX<+5+ MZVZB.-269"7MKJ;4]I-R%V4OWR"ZZ):V!::.=A/7X3E0$^$]=76KZO<0=%\D M< JL%BD3&C"BDI" .!4RR9EF94)*X&N7PO6G_+N:^/:@^UWDVTDCZ,_-Z'.) MGK^-K1=)NR2YD8B I(C+(?[-8:BD2KS$G,P"@%??X+T54/^>Y?XZN]'!N9; M.]AS6QM,%]IKESFS+!+.:"(R&QRQTT 8/B,J0%\6:N_-;L+RL%R!*A+O*5)] M4U+0[<7M'EO@Z\@YN O;81R%.IK<@AY[JZ&CI-:M.(6FVOERX)6;3"0+.$<$ MFCCJ0K),H]&+[$'0Y Z7XC LV47Z%=E1\K//_?CWM_GD'-IA]*6E*,HXX&<7 MMSTEFH5DBE 9 I$\^W(SG2B]1$7@0!W8%5ZL37_?_I8C24C=6R--)^+LPG]H MQJ=3:,_+]F-IF35G=F+6VJPBT=QQ(C7GN#P&0[C7V1D>A&&U=^#7X7A@?L.^ MDNXBY;B":4GU;5!UY2FL170@_V!OC=U!@3W$W85'L!Z=+XTPO-?$ZM(HQ=E M@I:($XPP8)WFH?;QF3Y)<-?JWQ,'=I%RQ][@#L>E.^\0 M)N^;KWXT_?HVC(:GBYK2^Q=AW>LU=:JU]A_A2EF742EP2GEB3$AJ:;!99P7) M9FNR"FYPKS=6J*V\]MXWE[MFDF9T60PG',&6.@I&RJ6>1%@?5=".)2VZJ*Q< M!V:?".6FY'Y:JN4CSEQTMD];F.^R#;(&K04 B;(TKE M^:]S,0VB46I> R\B9^5N+4%"QJ%8I9+!_\5,MPEC]\7Q, G3H2XJ)SMN8E\B M_7\SWZ(?,/JZ"I;ZF#CHLI6D@$A*([$\HO,7+,,?/,\IWXLX=[SX83*EIK0K M7QYQ$^RR5JA9]$(8&%':'8 @CD7$YA5:/HHVT'FG.&<9 X'[+2[?ON=A*GX/ M659,A*S'5M:YYMHZ%Y6GULI<+KU!)N)"1YS1FG G*$U.1@/W6RM67O0P-;V/ M-#OHDK@$N&Q%,4!N9> V$6E9N9154%)NU"111UK\FR"K'PGX%L&?7>D5Y-I! MJ\/5,2[RMXQ)%:1.Q/'Y42GPQ"M@)'&O9<[*&%Y;V6N!]%5$V8VF]Y?ML11/ MKHYDGMTS25'(-!&5[-SOH*6+JR;2B C%=O%<^WK.=3@.M?M10;MW\&5G*7>0 M\%S%M$SS;8.JHYV/]8@.L_.QO\;NH, >XNZ/#!*DYL$!,=*6=LY.$?1"%1I* M1[7"4%6%VE=3]DF".W8^^N+ +E+N)OB_=$U_P2>?<4K51;,$+5CR&5W3!!*# M$I-("#A:*YS)"D Y)K;W^S>]YO .X'TT<=/EKR+&;M*$E]!./K7#$:>,7W5, M"3I[I+*PCDAT?8BC(1,3><0535EFMKGO\8[7/#@-[R/&_EK#SBV6A4!-22;B MKQ4[Q3AQ4DJ" :C20%F&6'O/XPC[3-=WZFK)O(-*V-O;6VX#[GM+Z9W5N%/+ MX/OHH/>6TH[Z:"5&QT[84MD?#/HZWI.DO-4)3:;BM:O@_EPMI;OCQRZB[Z>E M=&DZP((GIKB\4J+W$KA+A"HN@^,^1ET[)W#T+:5W4M+=+:5WD'!O%3$?IDW\ M_:P9X3LF/_UK-IQ^G7\2?#E-WIR73.=<(LNDY_UK8N[YHCI5,35&N5(7$XU0 MA@8P7#H94P[.>QYHELYPS;08W/.=^\WKGU 3S5> Q=7!\.',M_!\]8TGH]&2 MYV_S>XC-Z7CX;TCOH!TVJ=#V6A+5,*H3<$M<4*[L9)2_1;2'27.1M3 NUCZ7 M7WD(>W=B7__^MO7CT[G->/[UZBO+3=V3/WR;YG^\!]3\9#B]&,T"(1L(YQP( M]$LAR$QD+AZJ3(*XS&7,,4OIP@K1_= MQ>X7)*.\"9)PJ1&E%Y9X#X:@,&V.4IE8?5=Q.V2/FY(=:*\#]W,KB?W:C#_# MI-QJ6F;+Y&,S]:/K_UZD]FLS_1^87LES8 1C1J-7Y:(..#!TVZV*D3"GA04K MLJU^L*>SP3QN)A\'1SI(WG0VL(4*7C7M\J/R/5Q.(G5<"$F$"Z@#QA0)0>&D M#UY&T#H+7OMT2[\C_#Y-CI1-'1SGJR/Y%_[3$"50/CTY;V;CZ8 :$] DV'+B M,:$&BBZDX$0(IB,&L594O]:\HZ%\GPV'YD<'%7U7MQ#5&>!B$8<2X7;;?E[SD)F)CKB=!"E MM2K'*%IYHG@4D*2TV=9N87N$6Z-'P)4=ME9WT5GO.V;;@/N^M;JS&G?:.KN/ M#GHGBF YY6P-T0K*C;2^Y.\<)5::8!$]\Z:V0_GGVEKMCA^[B+Z7K=60P%-/ M!;'"*HR9?"1.@28T61,M"YKQVEPX^JW5G91TY];J+A+N(&7^'B90*@)/QFEY M@5D9\3+7NH3(DO+!9TNB*EW>HPLD&.#$X&*IDW""R=JEMEO >DBTJ*V%#FS# M;I<')ZN=$A$-(W?(:LX%"2)GPJ2W@O/ =*K=X/)/?:WS/N3I3C,=9)#G6;S+ M7CT&*-6^5*6Z^85W-A'\B1&>A7;)A2Q5[6;HWP#X'M;LKY<.2'+GYO3DUMWI M^3#&Z=W(CZ_=Q+;-F#J*?[H8SV'"ICUHLFL!0E\Z[F*M[&)L5AEO0O($>"BM MK70@/G%+P*3L1134N=KU3'\>WMX1S1TY;7=1;>535K\V8UQ'^_%R^;GP M%" XF\JUHY ,+B>"EZ,(2A)/@XL.TUU47?05"X"99G MC#+-$@DQE:TDK8CU/!*%$XDGQ;WRM0NMOU-GDR6JH:2-QJ1VK?9)C+/SV:A4 M=UV<=OK4PEDQWY]A$1J]:29[]"W<\05U:K/W&=5*338+W&LCG?+)2DUI8%$( M;B3S"82G:K#CN_:,TK9[V=5^8# 6*9LE,K=<1VPL(\Y*2ZAPF@EG@I#52RIW MQ+A_IBR6NYV'>;@(Q5ZAB=@"P_*JQ$6P]BM,W^:/_LM)*-%YG YR,M(CC4E@ MY9"?B.7(MLVD-!97B1DAH7:%4Q?CZ-\<=\K0F^FY ZN^@S7^YAF/ 0O*:&82 MX1$LD<'ARI%C)#Z*8"@N'L;4SL;<1-$_E0ZOW=488S_5=-B#8]T4>P[HAL"J M$"?7A6&IDXHR1S)C0"174-!;(I*VVJ:@K*F=#=X/\7<2]JGR#C*(;^-P \C% MQP7J=-H.PVQ:4JTDRSVA M'JYM11^,6"5C#^KLV6R^0MC#T_%B L>O'S&.G*"8B@;':?[3:!%AIG_.)O.^ M$)=#'01G0W0RD\1*HQ_%-?$B.Z*E289Q"B'T:4_W&,KC8O$1T*%76WNY(*V; MF\Y&:I(5),E0SI1'3[Q,G(!2WCAO;H/KNZ]97WT=4&Q=4,:,48!!F8^L MM-*ECLROC0F.9JY8YMQ5+W*Y(U[N+-6WJ# $4#9C.N+-KJ4J7#BK<1IKI-R MP))/U<_^[X*OK],4O2:?.E/0L9R"N*R)6A"ZC*\97S:UY!J"5@%7+PZ&2*\M M\4%'X@3./'1[HHRU,Z2W CI4R5!W-+B1?:JECBY.WW^+Z:*L?@M0'97VK 5T MF-JJ]42)[H2C/D:1@BL55&H-^$0G5D7/N60ZI^M'Q_JAP1[E+ MWTS81=@=,."::41O\;=Q"XL#L*_G)\>+''Y&E,4Z7M3 QAREIJ6)&5<$'5-# M;"QUMV"]I4EG3FN?'MT5XP'.0N^OVLV>2WV]=-$^Z KOVHS+13.\)(R.122, MR7+!:+D(AWDBLN>4>D=%]::UVR%[8)RII8-N+Z!\:6B)C9F26O71;V'S_@Q3%X.)_[TM(7%K4Q- M7GY^_WJH+1]'!#P(AFCF+&I=@7D79CVKVN:/Z\D 3B;'(^LU0V&]![1/-+B3/< M$CL__BR1%%DYIIQP1"2V^Q(E. M @8@1'D3 7+P(='1W=5'@E ?>F?>.#RUE2PK@0 M1-)D2= Z$_38:F1_7E]% 3?[2Z?RY5QEF__36>DH\%]^ M$C'";I>8= :(W 82@PIE'UZ3(#,.,U 5D*,R\FTNUM[T_#^[^JK(K;)UO=P/ M^!F:T]9_.AM&/YK;E2RC2^4Z#R\9>@]" 0E*,*)5CH$F#,3%5H'<'=9U(X ' MY5+5$7/%"KTYJ(4??AW21=IM"U 5_:J-0/KWJRHIJNE*RK6G_T9P.@IN7=)$ MB*B(]%2B39H?-D9;1ZVTE^EN<:A]Z_V:NX$N?71[X?SL>?;U[[V;MG"O/65A4',7E7/OVR3MMWNR" M\G)OYOC:X-0N]>N\P\WN8MO4\J+NR!]T8XU-Z?$[1%NQ_?T=#5XT#TK%R#"F M*'V(K,$UQD1*DI4"F,_"K&Z@/.FOS(W6D>E/7JNXJ,)?=ZW$:?AZFF1]- MJB\&J\_>;SFX&^Z>JP*^I%SQ=>T5=]JUV\>_\8%[3-D39.OP>7/9=#490PT' M5SKR6")9]"18!!&24DSHTJ1WF_3DRF/[FYQW"?WZQ-IG[!63%@7*?_KV4PLP M_;F%/_QHB<<&@3Y>R(3+[9QZF0O:50\1A4 MP?.R&?_?M\-T"M.W[YM9^_O%? U.")5E1!1)8 S$,(+--!"31)!&N.0CW4(; MZYY]G!K96PH;?8#[:>7#K UGPP^^'?N+GMV2J90I)SHE2F2BF=B4)#&!:Y70 M@E)OMU#)C0A]E/'Q# P')6\6-"@W!V*_B!3$M ]+$7# ME%MBN(J>"@5H3+?0QLTG'Z!@?/DNP !W/<.)8G^O]\"MR>C=FJ"*&+#_#5\]A0R7*U;]B2UE95[43%C0P\ M)4ZE2#7)E*WY]!<@F9E4/I@ $Z1Y[\ZVRY9(X)P?B1\/#L[CW_[7MZ.%% MF>;9O__%_:OS%\ SFK,T>_CWO_QZ_Q[&?_E?__%/__1O_Q>$_^?GSQ_!NYRN MGGA6@:N"XXHS\#6M'D'UR,'O>?%G^H+!W1)7(B^>(/R/^K:K_/FU2!\>*^ Y MGK^^;/W;XF^!$ YU(@%C[ 40<5] @A(&_= E- Z=0,3TXN%O+G-"&@L"J8-B MB-0-B2,OPPZE<<0X"8*P'G299G_^3?U!<,F!5"\KZW_^^U\>J^KY;S_]]/7K MU[]^(\7RKWGQ\)/G./Y/ZZO_TE[^;>_ZKWY]M9LDR4_U;S>7ENFA"^6P[D__ MY]/'+_21/V&89F6%,ZHF*-._E?4//^845S7J)^4"1Z]0_X+KRZ#Z$70]Z+M_ M_5:RO_S'/P'0P%'D2_Z9"Z#^^^OG#T>G3'Y25_R4\0?U;.]XD>;L2X6+ZB,F M?"FEKT>K7I_YO_^E3)^>EWS]L\>"B\/#+HOBS:A*RD1)Z89*RG\^-ME/9XAO M2=YJ7U8+PM7JWMB2L0_3&VOBWDN&X.,+W)GF;)&;%^HZ8U.]NYNISA9]?(EM MO19YA9<3O!;;:3HB+]4//LJ_M=.H@7K(M)ZGI>Z.J/Q;Q3/&&[9\,S1(V;__ M1?YML2KA \;/BW=<\*+@[(/\0#[Q>_R-EY<9D_^5WT*65N4")0@E-'&@%U,$ M$?,\F,11 #GU(L'B!,O/QZ+:O.,+GL%?OZS%J>>B#)K]EZNL7_Y3A)UX^X_8&*;4R%!I%_F,M+ZB4J/_VTU8O"^ N)X=L M.1%:C:R@%A;@C*F_@5;>HR#F](U@2V5-Y,4N,CDU1F:[6DNI5 V+P"6I]6K' M^DE9;2K'JNX)MG)8K\ M:9CR53[L=6H>@A3J+R O&"^D*7U P;V7_DN5TS\OGY\+3M/:&/RL#.7RR^7G M+Y_X$^&%"5N<'&QN=%$+#+H2@T9D\(,4NOS1C$!.8ZG'(%9A')E"3B$(_FA$ M_G_LT8@V/)9XY/1\DQ*)MOJ[3*)_HQF5<,H6=_CUMU(:H6K;K;:9[]*2+O-R M57!I'O$/%7\Z]?G4'&5&K[Z4%KR4H",OV H,_E B@UIF"^^^(3H'WOR2T[\^ MY"\_R9':EYZR[;NN._XD;[JALNOWW/2V81_,NR*GG+/RO13W"U[R6W'Y@E-Y MQ9*_SPOUDR^HR>Y_KH>A9^GH;3S_IQWPH.+O?]L'C#-PU MT$?.5O4TE!8KSCZFF*3+>OA[->D]_U;]+!7]<\%<01CE# ;8IXK^$(QYDD": MA%$8(L\A'!OM,;2GGAOQK257*["5'72$-]QKZ#\!S4W'*+B.O?OHAQ3\44L. ME.B@EMWF-L08,%O[$?V)I]V8& .RMT,Q'V$8?^T/?[4J"FEP+# )>>00# 4+ MISX+N1.B!SNQ0139U%M/.P387KDX, FIO6I <#C(:M'[5;P&IG)#[#W!6C% MM,?9)Y&P1-''YYF4D4^JNTO IV\8QK=J\WTK&H_U>TS5V*^?\+?T:?7T[C"\M60/U\@P;@0KC01A<^5Q>A"XK $N@E#V$=". 294+#)Y'-CY8V M@+82FE&'$?!Z;#(6G",33.V.DV9B(SA82WX!6MG!%NJK4U ;\\X0S"Q1D='4 MD[+3$%!V"6O0&,,X[#,ON;SI\3)C[_@+7^;/RD-U_>V99R5?B(23.(XD5441 M@\A!(23$PY!BYD5.A!E*?!/2ZIUM;BRU%K8^.F9;<91.]FX;1QX>,%AR7_!UO_OLANWWF!:X: M@DKE1N&2E%6!:;40V(M\GQ,8(B^2!A /)*MX!"8N43&F/"+8: ^J/_7"RY%43IM+94OW-C&P,'H<>\XP#\L@TM!8:_+ 6^T>%]49R MT(H._E@+;]&!9HZ8)9HRF'A2SC('9)? !HQ@?M;_:\:*Y>M#>Z#P^NG/ZJY( M*;]ZS![NY'+1(*;3H\R-B*2T7(JKEL1:8KEQ4">6H!8;-$REQT$:(/9SCEW\ M1N883>@N5" %M>+MT8=G4)S$B:$G"Y'04[$;':%YQ\ SP4=<\)\EZ;"K_$E9 M3'6,T651J*=;'^;__+J]Y@Z_JI]=?L4%J_^XE[-*N^M.OCLW\FUZES_A-%MP MX9# =1/HQ)A E 0^Q#1V8! B1P0")Q$S\@6-(>3O<,5?X_3XC>\7&GM17MNGQM_*L% +9G<:BJ7<2TR4#+KVW?'H#IM MV%E :1(.VZ("MHC9,=Y.0##(:CLVYF3FV@FENG;:J4N'&6@J[FL;#[N-#PK= MB#$W(3!Q8@Y1$&-( N++O[DA"F@4>,(H0NO(/'-;YA_DOH14G&6\-$X4.PRD MGH%C 9Z1UW<='MH-91\E?NH$#M:2P [/,G'N5Z^J^RE?_9A?G8X0^^1UW\MU>E\T%[=65O\I]X'CX'!FPF^.Q;:;'=$ MXX;/Y"]KCG)"WZEY:O?J29CHB(AKKCGVZZ'!.B_Y\D4=>[T-#6K>HHAY7H(" M#%W./(B\B$&!V=F\Y.<3N:2?>9*^WDG/778B?M*@H\ MXD4\A$$42T/&40X6C%WH(3]).&%)8KB3.E.@N?%0-W?KTS;Y]\/0Y-^S'YCF MKFO"QS#VAJR;/;>7 =Q)$ 9O%9HJK>XL?.TGVPT3YWNEX)T%7D]BWGGC#N/B M:R$XE9O/ZV^TCA7Y++>CM]D5+A_5_]0V]$6*(AGCLZ2.(J459^H7EQE[^X/. ME0L<)!$B7,"8.Q@B7W@PCA(! Q&X"<*JLJ?6/G-$&>?&V(V*BBTD1_#T(0.\ M5184ZAB(MM&:DB&HU*2.T*S_PKC^:_\^,G MA+ZH_P0=V2_ 5JWV$O5T=W[X]HZK/*O2;*7,YC8*,<\L5I,;\0E9^G:,(>&D MGY,1(=[]PHPYE7F@PZ?L.54G,/?I$V?R2Z>B+W[#R_=+_* ;[- SQ-QX_=/- MW8?N>5\MLN)XT(TZ.7' ;X1A/P=;A&]D'C5!#ORAA+=4"TP#GD%1$GWC3A8I MH:%<-UI"Y_*!M;ZVA<3J**MR[85&@1^[+H=A)$*(A)] XB8^C&(4N8*XCH,= MHY)>A^>9&T]T*]TUO(+-,6Q^I7 M=:\&UHG+!Y>*R5?2FKC#KVI+NZZ\P<(H<+R(0L]7I?U<%L(8B0CZ0>RR) D# M1DWKQ!R89FX,L)82/#=B&M>'I*FW/FRXPUONH'GE$Y_B+P!>&^Z\+8">3^/G0I))Y'(.&!3W'"(M?, MN.^9:WZ M^AVOZXVS5>WB^FB[T84!3H,,99WQ)S.<#93M&M(FMPW8 *^6W%65%RX+.<53 M5C&3HZ_#=\_M2Z>D!$I,Z().1C6X;_=\G!GLA _CI;$9/ANJL??#)U&R>J[5 MC\>P;?'A(:?;&?>J]&9SW'_EP*S?M,0/#X5J8YGFV:WXS%]XMNJT9?)CESG, MH="G(8:(RT=-XC" .$&8>0X+G<"L9>2)">?& V_E53$QK<1Z7[9AH.O9OS:A M')DGSD31/'M8$QI;:<2GIILVGUA3^;W$8MW[SG.9Y[R\R:O/*NJOX"HL](47 MK]LXZP&>]/X1Y\8H71\RDZ*#+*] T0@/UM(/<[.?@-;,^VX/U2F=\@I0*3;X MO .HY3(%P\ ZVW%_8IKOXL_74_V8FU_S[C/:U[Y)1Y9S\4/%.1P/(2]@JI> M$!")D$,2>C'T(\S\('!B%@4+*1K)C;K=ZLQMLI*Z$HRWH#JB_\^RS;X?T.M6 M"W@]4V<4,$>FI775@G'R8$P!L=GM5FO>Z;O>FL!QL/NMT0!FC%06U;9.PB\\ M?RCP\V-*\;(^%G<9YIY#/"B(RR&*H@0F$4E@)%F)8X*)@R(=PZAWEKG905WY M3IV<&V#93RC6$!J9/$S T28/+>7[B$(.T"$)^:\M0?2//0D9:*FW7OAZ%]OK M9[3=W,=NC'W/40W._ 0B-^ P\6@$,7=XXH9RQ(2>V\!HMNZ4CX?[[)SA3.D' M6\^\L ;AR*QP%GI6VA*-Y4'IG^N[-QXZZ3O1NVEH;Y 7R5%Y\?I[D4J;)/^: M+0B)/>01"BGS,$0!=B".F&03%HC(YR'CU,@KNS_%W(AC(R'XJD2$3,IH&'%P M $<]>C@/G=$/8M? _+X!QF87CF.J6^NVL3?!Q%TUCBFXWSWCZ)4CE<3OK=Y< MNTQ**JR:?I+O_;!&)KM:>%A+_S:'LGOX3%Y! M][I6S:;CP47;^&"C*FAU!7?]C]I^M?US'L54Y?8'R3BO>OOGP&Q<KU\*'@]_>5SD2[EUM)KX["QB D7B,#8"Z1Q&#(*"?$9Y!0+CN7V M,T):6TV-N>;&Z*VX8".O7/E*8J!$UJ\N>0KA?EJVC-O8YVA]D VHS'D*._UJ MG18QG*B"YYE8&E7VU$2GI]KGJ1$FJP"JJ4JW*JCN+0-S_%4D*V?E>REF?4:@ MNJ64"Y*PD*FB4!$6/D3$XY)B"8/""5PWXC2.F%$*P.%IYL:I:RF!>F@@+"U JF<%*]7(#_.EYF;]RWO[P6<[^J)I(/LNQ#"L"' 9?SQ0^']*1Z?8M MFK6(H);18C6 7@QL%0,X/,FTM0!Z%=TK!=!_]> .OOD3O\??#IUR4Q0D(?8C M&")54EB$"!+'0S"F,>;&VLTL@(IK&F*4"^DNJX[.T"-[L1; M8S1^9Q4=2.RUTCT^U=3-C$E,((HP@C@0,?0(BJC'F>=R=Y&I0$W.[HVLC)Y9M99#TBR'O;E' M=/GPJEHVW>R4I?&U%1[0)4Z?3$L,]<.N;5BRJ:[D(LQXT[H0APA1VYM2 23P(]AS"/F\#!) FQT?G!\JKD9*JUX M8+F56+/MQB!ZR1>:4CY*:*T2C-F4ZC82WZX.A$$X<>G%)X/^[@Y!W# M&&+35O*R+'F=+=V9ZI/\3$AKB-UFGU79A2+-'N0%-WE6K/_Y,R[3LJ[RO7!C MC!SA.=!+W "BD B8D%!(VX;P*.!!@)A6<*-UR>;&/YW.LJT:3^OBRJWL]9>\ MJTQ;:]\P9,K>L]5CM>_RQ$8FP>W#.NOY&'.B=2PM4:@]N29E7.MP[A*T_0D& M-DG 12;'*^]X41]1ODN7*[F#6R#B$0<'!(8XQG*KR4-IZ25U[=H8N3CTJ1L8 M-3HX/,__7]6]VOX:4*8KA\JG13 M;G=NF]N2OKN^!;5\.Y%!3ZKZIWX^[2XX_:OX3%S&/F(:!(E1$NP1Y0=ENNZ. M-5DZZQ$ENCFKQRXYKVRT_.SS]$5]WF]XM:YXG&"./!:$D.(HALBC <1/2AR>:VB#=EDHN-L!<@XW4S&KQ@!7('_>Y5QX#L70+UF]6_>R6%56 #PW?JGWH6I]_6T]FY&)9/-8/G<>"Q;RC0"7;YY*FYGR43Z5$2M<]Z%E MN<[UP:F^2[7K/J6/U;SNO6<8=?V2Y^QKNEQ^EE;S^[Q0@8V+T/?\, X\Z!%. M(:(^AMB- A@)XCF)BS'%1MW2#LPQ-Z):BPC^4$*"5DI#1\PA+/5XXTR$1J8+ M4W",B:!'?4OK_] ,DR[['A5W5WO?I0-34U;/S\VAJ[1XT:9)AJ3SHT&OOQZ=_?Q^M/US?WE M1W!U^>7OX/W'V]_!AYOWMY\_7=Y_N+TQ/$+20EZ/(VSC.?9Q=4? I['D(3GJLV@EZ %K 1VFUH8&+[ M?/3 3-_GQ/.XRD?/,'MN&9R\>$N6:5-QM/R0-0&(ZT#$#]FG-$N?5D^7629I MOKUA$ZZ)0H]@#U'((YI A 6!22+_Q@)&(P^%@B,M8\&&,'/CF+7T(,W 4R,W MP+7@H&A3TYY/17C:?V+]1#7UGC88![)'SQ_S_$IQ MK3''HX2[#D?0=Y( (B%M8LRQ!X7K8,JH2,3P\G SM8??5#4;7OW-R!H^#Y:1 M/QUO$1G![CVN_0CUW+Z'E7MW@O?AZE^X9X$PD8_JA/[: MR_2HKCW^)WE/LS#E7[;K<7^D29;A4076J^_X!>9.XIL\N^/Y#<\O7Q[J\!Q: MR0_U4GZC4V80WG9BF+FM.2DN5/%=-_)_ER^\P ]\)\JKE1\H!8S#X$Z!>MJO M;!'/D9>O72B-G,V:( WR.Y\:>S(7M*:276^T[BW#S.X;7C7)W2I.:2%?"D;\ M0-K948 @8HC#./)]*#_2,46Q2P6-%Y4*_M.SN-^,;D0;FSE&?-=Y!=*FVL / M*G;.,-;]+7(APIBCF$-&'%5KDD4P%I$'0R<.H\21!D\':1"Y* M,$XD2% 0+I%#@0<5DM#CCB=\ZH(E;1T]OB#49D[,^-A*(M M^/'#QUXHC/=U!U6VM*5[._:DN[F#:NUNY Y?9"L_?N$C/TX8<^1G(6 0.2I1 M2G /^A'AG+L>$=PQ^4KL3S&W3T63.4#WL^+/38H?G P_HT5\* E^S,QWZ_Z9 MO0F^9<>?2GB'FQ@BMJ$#)"FIA+\#[/*^R MO.+ZKJ0^S$Z[D2S!-3(%]"$U0NM1#5 &N8SZQIW,7:2A7-=5I'/Y@(6>?^%+ M3BO.VB(--_+I:R_Q0S?/;G'G3\\X>P5K4==%9X 2UF!U'P1*8UV?B]'8*WH0 M/&:KN ^"8>OWX(C3K=P^A=ZLV=X+!^94O^!TJ:*6W^?%%[SD7U0-E7K?\(Z3 MZA.NVG]=JK35VXS?/TJV>'A\G[[P_^2X*"^?\J)*_UOU=BBKA<#,)S'&D,6A MW AP3F#LR^T^]IPX8C1.6(*-DK!M2CE="&Z=16 M'Z#>#N.[/9:1V4M)#[;*7("-HE#D!52J7H"-\$!)?P%:=5\OZJ1NJBJ\UDGS M7]+L8-[C.=C*T7M>$OHH MD]@(-+_GQ5,N-BTC%JZ($\\7 N(0)Q!Y00B3 'LJ!,^)1$)8[&MELFK--C?R M5N+5Y376 IX3;;R+;#\+6\=K9%8]&!^\QN]R#/S."<<^ \?O&6^MC^>9H=1' M\#&*E=X=XSL&0Q]1IS_:^=A-9Q^;76:L;JWQF"_E_>7U/U;2_0,/ =,L MK?A':6JR#_(SESVDTDYM2K1^W#2/QXPZ#HU"R)CO2+,P\B&FV(>4Q\+QN!#( M-\M1UIAT;@S5R QKH<%6:M"(K==Y?O@3T#PFM(SKV,>%%B U/S@TP,C6 :+. ME-,>)!J L'>@:'+O,%+ZS"6WI49A0&/,@@#2@41P[CO #HS+[YP@S-Q*KJPDI*Z#^2T=<\,>[_ FG MF2%WG?6@]#AM*OC'/D49CKPQQ=F S!+UG27*I)1H [1=JK0RIIU#(.5IW/H= M+RE=/:V6RK']2Y&7Y:]9P?%2N1A5S.C/7.2%ZO>V\$CL\BA(H,\2#)$34Y@0 M',+ 1U3:@X(YSJ;_VK#CGT%R::WKMQW:1B;66EJP%;K%CCXQ"X J753#2C'.[LY"^N1SFR&R?1=SVK.@O'4&JX:91U=Y5GO/?D^KQZM56>5/O%A[W%X7/'!]U_4Y)"26 M6TCB(ABCR(,.VV>T16V&[B2YUZP$S8Z8?83TCQ1IN8V_N MUI!]E8*"M:078".K/5M""Q)+-D+_7)-^^[74WOVFZ]TTC$!NJT=>[/J_VL]4 M0 3C*(FA2QP7HB1P(!%>!",_]*BG6@%PH\I%/7/-C3QJ4EABB;Z9)^4%#Y5UVT+EE8-, ^LC9:LEOQ6[+,M7%D%YF MK&U=5M<6WN: Q"%QB..%$&%512!T0FF 1"Y,>GZ&Z+[^EI6[RTL&;YT:. M&R'!6DK-/BO'X>FG)2O(C$PX^Z" /Y2(EI(.>]4?E*YT>,3)TI5Z%>JF*_5? M.+0%Y#]6:<%93US![SQ]>)2\T-8D^[7D8K7\F J^<%!(@]CET(T23VZUF( Q MCQR8N#Z*F-Q^<2&ZG%N;2]!81))^T_QX[V+[CTOS M;&JB1S R"ZW5 /UQ3A=@K3ZJUGI*GB'*Q#TGSP=MOR>E MA3'/\%I=Y4]/:557[6Y:([FAB%CB1I!03""*$@I)X"0P)G'DX=B+?-\Q]E?M MSC(WPZEQQW2D/-D\R0!1 [_5.3A-XK$R@6B8J^H8!#:=5'MS3.^>.J;F0ZX;L[OMM8!%J5:71F&MN=%3+]B__[(;.O[KG]\ISC8[6+,$T,K4<[Y7G3M0K MSQWE>*UOIN_>*\_M/U[3N<7[,9=M*] MS*XRNQN7O=\/]+A6N*I+"37E.E055?G1R*JRCK'@U)/T[A,8>[%C&7L_.^RI&-/?&/!98DNKHDU*KF. NLO%H\QA[F.[ M9"Q5(75XB1SO9=MJQ;@IRLF!YL:;6X&!E/B'EQ\[K7_T/7*G\3OMG+,*WIE5[#(L2 M3%% /GG/3-,FEY]6>2^U7..6 5;$5URP7S-6+%\? M.L5GGBIMZ^'8 '-;^U)&+H54 6!;.0W,A:- :9@)-C :VSQ0,H*#(*D,CI6- M6O!:6 RS!XZ..IT=<$JQ-]__DQ>;+67&T\5U5J75ZY,\BEGBU*$Z[)* MGZ15(']VP[_*H>X*SK^EI8J7;8>1W+((/8X8Y,C6NMFR85K=Z@ M51RL-0>MZBJNJ5$:_+!6_T<@E04M JH R!J#^N<2A7KH#@Y@"\0\WQ7]>H4[ %WVDMR#APCLX$!$D;^D6,J#W*.[ TV MF6?DF!I=M\C1:X99 [OFR(>L30$N/W/*TY>ZXD7L!"$1&$&&Y!\H=#V8U$V8 MW!A%R"?8":-UIY![?<- 9VZME_=M-Y#[:6R$6E!0;"0ULP2T<->S!JS!. T' M'-J?R3W9!M'/IQ$U-@=,(+)D$FA-.:E98 +"KFE@=*_YV>@ZW>I67!>J.LKS M-D[CHV:;1-UA9K02UN+6I5.+0E)ZOBJ7KZ ^LI*;#Z6!-,::)1K=9WY&H<:X%5<%9VGU'M.ZDKU:9@5+XTK. MLUZ('].GM%JPA#A,:@\YD[MT1&@$8\?W5,-I2@,W3,)$JY?%H-EG9V:K52&7 M$JU5N) ?E?9#LU32ZCN!S1_#:;?_J.".;;0K7&\%:*0':_'KCEN- J#5H.-\ M_3@VYOKN\U&QG\@)/L(S,')@#\:PQPUM/N9DSN3!ZG9=PL,'&9B4R)?RMP^_ M\(P7>'F9L4OVE&:IZB2NJOI>?U/&!%]WWW!\@0(W\&$<"Z':(&&8A(3 R.$Q MCA+JNP$R2E(TF7UNGP[5%*Z\ ^-\/5Q$'XCOF'VHM&3T-OEC8;OV$>_C=P7 MX)<.N&]E!VOA1XAX'02;K51(H[FG38T< LM>JN2@0VCJ8M_PZE:HCJK"H92%B0^11]1I%PU@@ID/ M:9PDR!<\0L2(!\<2=&Z4*>4"M#ZX5-Z;U;;5ZH/4JP0_+.L>N3\"N77%;[JU MEI)K0=EIYIK)D53[EIZNK-.^$GJ$/(<'/3)WWUY]N !:S7<[K79;K8%2NSWI MVW3>O63_M2KKPK<7 OYFMKMQ3OV([%6<.'4S/.C6JD9+ 5#>1KX<&R=05OVAX;&ILG<=>T&FVB.;;YMP&O%K;3 M\O@"; 6V:+[I8F/+#CLYW[0&E:[Z>Y:1]HU#8T1>>&.UEU=+7):I2#G[^77= M@7F%EY^4,U-.^0Y7?*BX4.!".? ,I3HRZ3IPC MS-R8JML[LZ, :#5(FW3P3[CXDU=US\R.\J;A)F<\0MTPE&D>S.CA*1LUP%8/ M0%X//:%7H'09M:.I#5BMA;2<("7U/8$^KKH+&7',CBC9Q;B,K6 L[R(7> M![+N9L\*=*/OY0:B-B3!X!0>]O(*CLXT=3K!*94/9!&YM$3M)X$;8@XG\?Q"1D$/,Y1]^$/DB MYD[D"",3Y%R!YD9 VUK-C?"&9W;G/A[- [T)01][IW6H-O8%V'T,%Z!5"-0: M@8U*DN%:I6P>#EK"U];)X;GB3'NL: F\O3-'6^,.**JU*LAC^@47&=:*93UX MSXP672,;J(4['8NJ 8=!C9]S8)FJ$D\''DMU<8YIW5>]9N^>Z6K,'!/W3268 MHQ<-,VVV,7/E9UY7);G/[_&WW]/J\;$)>'J?%U\><<%_QB5GW:3!12*8?*BN MD&:,0U0IEP021R 8!!$B!$4^%_& Q.TS1-)ZK:?/YZZ%+<$C7[*Z*%2%OX&O M6W4,S9US'IF>I3/V$YB(;Y6 L)80W.'7>HMVJS\!$7)N"Y[>M:NINX?>Y+%K:7>>J7K76P>SE)G<=SQ0K3QT081*P=NG=LJ M;LI%*AGSXJEVR[6RF@>>' *J?Q%;P&CDY3L<'J,0D1X0!D6!'!IOLD"/'F6Z ML1Q]EYFOTON"R7U8)WWJX:'.^C-8K3U#S&W52M&*VM6P36W47Z=]4)U>KY90 M&GG=WA>XWG&_V9MWN];L VAU06N@-&AA]XT[V0+74*Z[T'4NMU4*4H6\9O*Q MJ'+U?NPC)J(0>CR45KD;Q# .8U45V@]H)&+*_-!*#ZD7I3!Z0]$N.N< 7V"12^0R%*N&I;[G#HT\CS48P0=HW2$S7FG)N] ML1:YWL:RK="F3KC38.OZYZQ".+KKKH->1]YU%:$1B@@9 &3-[7=ZQHD]@MH0 M[#L+]6\=QCLWO+K"Y>-=D;^D3"7E_%IRUA!;W3OCDE;I2V,MK0.*O)C&41@F M,$;8DS04*!HB/G1\XCJ.(B%J%$MJ+L+<6.GJ\LO?P?N/M[]_ >\_WWX"'VY^ MN_YR_^'F%W!Y=?_AMP_W'ZZ__,V,H@8\%SW&&A?MD0E,54Y2TH.U^"JY\ >E M@320?@0;)<-!VB7 L\8R=QY\R$KY22%W"C>Y!@[;]8B]_V^\HI9RL5]B%5 :TN M^HX??9A/NX%&07CT#9XQN):;_0Q";I"C2'^6R=Q&QHIWG4CF-P^,747 6[6 >GU ]<@!W2JG4NEX MJQYXEHNY5 J"']*L^9MI?S,[SUO/!IS\*8[,IV\>8,>Y?OWF 5Z]?7AKK=2A M&JCULG>4-@K0MJ+CK,@T;9R<31CW(N:L#CZ0[%7;DGMY;YU'Z+NAXQ%?0.JY M!"*,!(R5VP_YG''DXS!RS$B[._KLR%<)!Y1T@_(QWR*G27]#\1B;QK2A,">B M0RK;(I0W8T]+#(?4VEO@!R\R;\3XKDT5^=\K7,B5L7S]S)_SHEJXB7 \3BB, M C^"2'"Y7*.0PE#^E6 :$1IKE2CMF6-NBW8M)MC("1I!];LS'D.S?PE;PFCD MA6P.CU'+QA, #.K<>&S,R1HXGE"JV\?QU*4#/>%21EP^;AU+&6MS ;.'NCW5 MQM'J)[$7H,"%A*$$(@]UO[66@ZO<= >&Q?=R-SQZFMO$,;L9LF=N-XMTW1LN74UIYW M6E^V*1Q[+FSC 0:VI\?/:867]?$@2U6/I/)#4\>4_;RJ;O+J/WEUAU.VH+Z' M7!''$#$L((H=#(F'/1@*)W%IP%%"L%&;>LV)Y\9?=W*@1Q5HDPOP7*B"Q]5K MO 1XW6KU&;_6L7IUOR-*BY6\:'"%9.T'I\=V M8SR.D? MV3:B4R>^W/SP[RDO5,C$:YN]XZ$8"QP',/9UYRY)94<4P4Y7']KVH2]SXLCA>H7 M* A\!X4)%"%1]AQS82QX"'G(+&D5%,Z'!9YD9VM2HP%W E+3Q<5_,! M>:N/BJ?FK49UA82FQT6^J8M@:,&=\PCU.'&B!S,R0VZ>B=2CJ<,%;CN/Y+K[ M2'9Z:&Q;:%B,3CT?5%M1JV=(,FTTZ_F0[46Y6AAR2*)>'7QS613UT9%V;E[W MKKE1WH%L,TW/VP%$^GGI/#!&IID#.%@[4CNN^,!$NC=#39@[=TB%M^ER!Z\8 M9N/(Q7TKKLLJ?<(5+Q& C+PT=[&X:*(?7\$?[7]':05S& Y+W^Z=P2?] M'!]6;/<+>^0J\X_F'<\OZX8MRU?ER5&1,0:)[8?OGMMJO;N^!6LQ:W2F?!Y31![I^R$^<>7 EB)Y]B!7 MTY/J4:V"8UH''0LH][ 3P,CU/(B\V(=QD/B0!G$0">QP[AE]F ]/,[]K_;Y:(V\Y&N@[DV!,F\ATHN#K?XAAR>9MGE(KZ)[ MG4/ZKS8/:;O.*KF)?I\N^U]OZJN)&E-?3=F5^FI&+:FO!O6CWKUK8)8) MI:NG55T4^H97OV8%Q\OTOY6C?=V>]1=I3GS,R[*M@9+$L1LCET$BK7Z(DL21 MA(,P=)%P(C.'H,<^8T([,A]=WEY]N =!8 2%?R@ MA/WQHMYH=)+Z+K:%\J#("_@%+R6%W>'ZBV"_?LU07&WEUIA./VWZS4!P]C)T MAHXSC ?5&]6I KA^G51A?/DR72Z7^5=5857^NVG2J"9>N"B(L!MY4#@8JYU1 M !/N<^@D@2II3R@61HZ1(4+,C0\W4M;G]6UC426H&24.>AYZM#@VRB-3HQ;W MF3\%8Q8\!T9+3#A(A$G9\!R0=AGQK+&&L>*7*J=_?BC+%6?OY+S9PQTOTIPU M[7VNGYZ7^2OG]47KL/D[^:Z6"^$PRE5U4]<-58D)P6#B)1SZW&-"Y(C4NMBCU#/!M,2J0Z68E%C/ MA&J76\\=;N#F^RDOJO2_VRH2'[)*OI>II/2FS>2"XSB.5#'7." )1('+Y59; M1!![TN@4S)%<:F1>]D\W-[*\SU7R#^[(K&A3I%E:*;?>2QT=NE:AC>4UW';W MPZ^YR;8&ZMA;ZATDMZ*>ZD%LOD'6PL36=KA_LFDWOUJ*[VUU]>X:>I3WY9$O MERI &>O"^PGCOP_%[H>EY99A&(81X$'*>8H")S8$Z%6'9G#P\^-0]I#K%I$ MT,IH>J#W!C[=([VAH$QSJ*>'QX!CO4-JGW&P]V:XB8_V#JFR?[AW\*J!QWLT M_9G+W3K_S.E2?LY2D=(F[>2&5[?B'G^[K*HB):O:V7R?-^[-!47,CT*$H..* M0!H) 8$XC@1$7A($PA5.'/)%QBO-0[]!0FB]X9O&$M7(BUX5!);?MPI_,SSQ M&_8 -$\"QP-VHA-"Y9 GM0I@3X<+T((N];@ 74U E;>.>(OGAV=A:>M<<9@0 MTYXWG@74WCGD>:,-3.RN[?V/RMS?-8SDK(LX=KU0> %T<>) 1$('$D8)]/U8 M$#?D8>2&BTKM)/3XKW\Z(_-F,^EX:_)][V;H;T!RK6'B=C_:>E1G#\.1*:T1 M%-:2[F^':DZSF)BMA8JM3.S^R:9-O=92?"_76N\N\VR%S[RL<%6G?[WC*G R MS6H2>R=_J)NST#?&W+9 '5G!&V&!DE8_9:$7MWYBL G9R)0P$"VCO 4=* 9E M+_0./%D.@XYZW4P&K>L'K//5DKL."5R5J]B487^_Q _:2_SP[;-;W5),H.2$ M[IO$5N/V"\?@TEC9YR,U]J+N!PG\H>2UE 5\ HUAZ_K(F-,MZ7ZEWJSF$Y<. MK6)7/JK_7?]CE;[@I8JP4[11I%2.KWYQF;&W/^A(1]!/.(+(=1P8 MA]2!(N(L")- I3 LGIL#GPH7FJZ2LV0R61V[DHVW4.K"G:I<9_V7Z__]ZX?? M+C]>W]Q_^9=_CCW7^]>?^4.:J4KG=7&\6BS3HG;G/$<4>XGC.QY, A[+YTCE MWZBGDM$"RB/B,4>^@(U8UQF;Y5-("B!9@VZ^*:&-0ZQZU3LQM M]TQR(531,$8Q=&(<0>33!!*F<@&=R/,\Q@+BL '-JLTE,3MHF*R#=3=.O1NP M8,WY=NS!G.V0.P?G>3CINMA?ZF!OTW-W K[QO7G'!)B+A^\$0 9>OU,CF9'A M,\\6G_-7O*Q>;[?U_>ZX?&FS*AZVX'VQ#!YKFUXT'X.I0'PSZUS!U&9Y$W0:/I=WU!SMA+Y3\[36$),PLHDR M:^XUNL?<#_NE^O.NH+?%?5FTQ:;D\)]X]9B;=\[5&6MN1-I&C$M+GDO,P/V7 MSV K.VB$UW?3:J%YVF=K&\B1>54'PQ&:X9J@-,BQJS7!9%Y>$W6[+E^C^X;M M67_GJARLM/Q>>($?VG(:MZ()S[]=5:6T%55=RG>J9R-G[]*2+G-5HOMM8Z P M#!TO"2,8)8$/$78(3'B$((O#Q'$115%"%W(*DNMN8>T(9K+4NN*-M^+6>@'< M*-:F'H%\JY)A^R9+CY#'$2$^8Y!B:8FC2#Z]V,,8BC#P N2C"-/0)"=B^@?)_'I.>8F![\D3]4FV73:M163JK-U68!=;128922E=-EVGS' MQFC;91=A2_X,2T)-ZN.P"^2NW\/RZ&.40+C*LRK-5OFJW-9B4!G&=WF9JM?7 M]3[)*Q[+VT)5I./%(D+,#UGD0L_U)%.C@$/,.(:)Y_L^PB$+.+%7',%4O+DQ MMNN!1D#%%4]YP?\&MIUC;)9.,'Z.>E3^_9[.R)2N56YAJQ_8*EC76P!K%2] MYQ$7H-%SJFH,0_&?I$Z#L7 SJN P%%BSV@Z#9QGV(?BE4&,7N4BK1>R36$0> MAI@@#)'+$ABS4&Z9!">)%R/?XCY*VZ(T]*"@=4VEW1ARX9&/PFU[8R[WY/J\>K55GE M3[S8JT>)(T$H)PSR)/8ABGD(<8A#Z!(G"H@3.XR9M6_5F'1N-M0[+GC=&[3@ M+SPS-9NT8-9;W;;!&WG9K\4%7Z6\8"WPN#5 32"R%72D,^6TL44&(.R%$)G< M:UXZH#5&7M?MMF[D^[/PB!/R,'!A2"B!B">29)A@T"&^0#YR':97^_/8!',C ME+6,VQYT2DK] @('0>RG$!O0C'T:8X:*41F!/M4'%1(X..!DI03ZU.D6$^B] M;F!MH3IJ9M.==.LR6OA,N$'=WSVA 42)CU4)$ *%FP@:QR+VD&]BTA^=:6X& M_CIDK-.2=RNL8>F@H^CJ60A6,!MYG0^#R[Q8T"DH;-4).CK/M"6"3JF[5QWH MY UCN'L/.QHZ07AUP=70"4/B$U_N-6(.$?(DJ7#B0(Y\QPD3CZ,PV 0&ZS.* M!=&TUM%.I/ $%%3/\3?0;+1W7(6F'0IL/$ ;SEU[SV-&'MWC;MQNP/&4%76- M8)[$<:LGT8R\M480FKEHS88V#U;^A!\>4OZ?*YYIM0 X=,N,EF C&E"RG:[/ M?QH+_3C8$$M^E3@1#QY>V#O5<2 )$H4/EYLD7 M) Q#UZBFM=:TLW.)J'#@"_#02%UG+^(WRZIKJ MN9)?5=W?*@"6QFU)3!^(IC=H/)C']A%U$*Y%!V]D!XWPF[Y-VRJ1HW1C,@'/ M?C,FK=F_5R\F$VAZ6C$9#3.,\]Y4V[]];I():C/?@+B.#C(WBMKI+-&(:L9) MQP'38Q\K6(W,,P=A&J&UVTDL+-'&\7DF)8B3ZNY2P>D;SC9T[@NS%Q&6$,18/M&]ZIIT;9S2G^_05 M=&0&6Z&'FS1]T!M;,I8 G=" >9\7/'W(P ;?K=Q':EJ/VUQ2 T'[5DS?I-_+ M>-$ HL=FT;G;?BF=3HV*=B]X7Y?%WF3I"I<3RJ@#P\A%$!'Y-R+B$ 8!BFCD M>QB%6M4E; @S-X9KB[XL#Q=]>5/GY:2#Q/Z3TZ/"J9['R 397W_GX*, ?]3: M *L)V39AG: NSTE19E.A1QN47DQ4M*>9TF]S,N.5,[4SE;/?%- M7G<*YNSR*RY869^\=W]_E9?535[])Z]4'N9#IL[NFJYOT@YH?U0G5RQ<)D(6 MASZ,D\B#*.$4)E$203]F882HBQ QZL,VK?ASXW9U4KH6N/;'K362_RBK"\#E M"U.70BRV2K3E*NLFF*\<%Z8],"=^80SWW;-[#<8^]E":PEI5:4>_-O;UMB[S M!=@H#6JM57Y=6PEFN^Q*.4/MTI4?X+%@0.L*7 MVY*(<:;*+0L8"XZ@XR.7X(A$A&EUS!@X_]R^6[6<9I\=4\3UOALCXC@R\:\E M!VH]@Q_6PBOZ_K$]/MHH +8:V*/S@=!9XF/3V2%B',7Q@X/('?#$#,4!U@$)FD./7,94=4$4<9OSV#3]@Q6 MG78;VLU]^.J1E2741B8FS4/K\5L;:L!E+1OR^$P3)T&>5'D_]_'T+3/S+"S" MD,2^YX;087&H&B\SF'!.8)(PQ^?4#^,PF(4386YV5[^_ !2\.;R1BW&UWC76 MQ>H@J3>8;^[ VUVFX2G9>"_&=W86S(B%+?H%+I_RE4U>'AW^N6_Y_W^RNY]\ M(S_P>Z22@M^U^0;W\M8%3V+/#P2'8>CX$"$>PQAC%WHT"H6#B4L#+1_T[L!S M8_NU;$ )IY]I_P:K?D8]!X&1"5!/>:.$^D.:#DJD?S/09 GTA\3O)LX?_+UY M=E6]/97+^]V#HIZ2= \I$*6EFX!@E MIQW3OB^6R9+3C@G;34X[>HUYZX1[3%9+7'Q,RVHG D6S7\+1 >9&0:V@ M0$EZ 6I9]7LB'(>IGY&L(30R-77!&26T1@N(00T.CH\Z65>#DXIU6QF42 MZIUE;DN]$12T(EZL_P+>\9(6J4'Z0S^VI_< 5A ;>>D? TO)"6XS2WN$DT@, MVC <'W6RW<-)Q;I;B=,7#W,I?\I?:O?5A^R+JN*."W:9L>MO%<\89W=%SE:T M^KUV3%:O'S):<%SR=[SY[^=\N7R?%\K=L @=-XH3#T/.5?XY=CC$""$HY*P! M=8(()UK%]RS+-3=^:24':]$OP%IX\,-:_!_!'TH#T*J@:>?;?J!ZCM_O\)A& M)K6U1B#-P%JG.O-]K178?8:JYDZQPLNSGJ6QS]^M M[>&'$?W/N$S+6R'?577VD&8/=_DRI:_-G]M-2NZB7*0\GC40(35U 8 M)D1PAT8L<(W"JO2FG1M-UU*K8_4[.>K:@V'&PYIXZ]&L?11'9M$-@%N1+T C M+OBC_>\H"1AF2%EB/7/S)FS"@M#X5'!!38/IT])AL#+ G"@]=QX-6.6AE!QK%&BV&APZ#SE9X MJ.'LTX:'#H-F+SQTX# #*[O11\Y62WXK>I+5=GS&W.$>%11#EB1RF^UY!&*' M2$8D-!$H"(-(F)5Y,Y=A;K;:6@7%>_V9N8;%WP8\'CT.'!GTD7GP -['TF_' MS+0] T1;5>,&2#!M";GA$.W5DSMCJ&'LV 3.RAUS56^>#7NW'KE[1LNH#>/> MB#A*@]43,%A:",=FF?1E/Z'J[@M]ZO*A+^V+'"PO7C_CKY_DT$6*ETWEL<^\ MY(6TQ!<)$H$KG 1Z(4,0B=B!B>,%D 5,1"'R4.+Y)E_PTU/.[8,M!94;E%92 MLV^R!KZZ_& 3M=&IHA7V BCL-O)NDC_6,MLD#EU\K''(R0DGIA-= /:91?O. MX8VO7(_ M?;*P.VU%N^%W^C<-3!?'Y>-EQM1_KO^Q2E_PLDY//]#%+?00(P@[D"(_AB@) M$H@I13"@R..!X$XHC$H^:<\\-]91$@.^%=DP?UP;<+U-Q2@PCDPW-8**6NJ_ M=,0>O;.>,5JV4LNUYYTVT=P4CKVT<^,!QNC,=[E1O2XF1FOI M!S2(L/CL]"CQ^SR1D3E3JT7?VR?6:%=WY-N4A3L0+3A5M[XAP$_2M,](L!GU M[AL"J%D+OT$SF.]@+Q\>JNNB;J+1)(N_XY+?GM),1;$8)GCIC#4[HGUX*.J@ M'2 ESS.>KTK0S:*OZSE(5SMG$=F2X'0 K^L)Y"9@+:H.VM MU@23[7!-U.UN,TRBBW$U"8A;V8BS"W'A*"5];%[E0182>Y#(JE5*&,2[FCT+/ M[AL7X)$)JQ:P!(WX%\T6^ *3*"3Q,(7 @N4&%5E MZYEK=OS6A,=(63O.)YT8&6.0]0C-$G2C'QX,1&U@9%$O'E:CBP[/]!TBC'I5 M/AQEU'^+^1Y-?F(>I!VMRGB]\.+UW8K?YVTCBUMQG8ER;=P Y;N[N2&W#SP5V!#A:1Y^; JBJ^&!9VT]UW=-UHL7F(XQ0$GDQ M\F#L1TCN\D@,B9?$$!.*8A^%GA,:G6B>)\[<**[S+9U!2[QN/[PU&L,#O@V?+LGR?,M-Y\*\#M>?#MC#JT MBI.T,S\P.6(J4MJ4A%W5U?Z2"*G,60%9PAV()%PP02J[7R B'(H)8=K567MG MFAMOM@6*U';HK;B@D=>TE-,Q@/N9SBIL(Y/88,0&E'0Z@<8999V.C3QQ::<3 M"NZ7=SIUPS#3K*[Y*.GH*6W2P-_E3SC-%IZ@S*.>@#QD/D1N+.T&PKGJ , = M-W:11[&)R75XFKE10E,LM",F^*,1U- V.@*JGLUS/E0CT\ E(QMEWX0+-DD M1R:9U-;H5W37ACAQ]9EY:3>\6A!,_3!("/1=ET$4Q0B2)'*A\!)/WNU3N=D: ME($F!Y_;GZS1B84)10%QI0%%U!HF1"Q-!(^C2B+O(]8) [4[UFS4- M1FR"[DQV$--UJ@_#870O^B;?3@HV0E)=1UW;Z7-JZ.^3*-=1ZFA*7/>:$5L@ MJ5BIQH!227=ONU;6F[ K_)S*I:1^VK@J%T&($J%Z)[N)VAEQSY'6D.=+9F2Q M%\6.$,@H+7?&KU^.]3+BC9?Q M"M"JJD8KI^%49H<#3@L>OQU P>YO=U M7JT]^J"CP\3MBX;#.V7SH@%2SJ]UT7"H!S4N.F.Z8=^0MM,G7G[(RJJH6U1< M?DO+!6$^BEW5406Y!0F5/[A1[ZT\N*$TLCH$.+(/'/C\(V88"LG^$-) M:K@G/H:K'LE:0&OL4] !0!F3X0D8+)'9L5DF):,3JNZ2R:G+A[K-ZPY#6#7] MY>]PA:]6A>J:ND@P"V*')A G-(:($ 1C$4=0!+&+L>\(EF@U63HUT=SHH'4! M=X0%2EK0BFOJ,S^"KJ[+_'S,IO&8&\,UP&'>C\49_O(C T_L+N]7;]];?N+Z MP7$,N,U7: T2N5]9\;JTV8+A,(I"'T'JQ0BBD&,8A\2#8>BB.!1!$./(,$KA MZ&1SHX6WLC95AVIIVRI_YK$%QW'6,QALH3[J(Y-,Q8 M9QE/ KO:,PXH[S@?A8RN'48&5VR_UJUQ=]O MI#JX?/Q0\:?R/E=^%KF76O(;7C5!ZBJ;^#Y7U2/NBOPE99S]_/IKJ8J\WCY+ M,TOU +A4ME8CZR9N4T2!$WH.1%X<0A0E(4P2%L#82W 2<@\%>HV?IQ)X;C38 MT5?%4Q=K+4'&50>B.IOC!U7GX4?U:_5#A0EX;C4&Y!7\L"IKU_J/(%_K#?!& M\;^9L>?H+XP>]<[I-1B9MSNJ7H!665!K>Z$>^4;ANM9GF]_SP\?U&U%7[;GK MO@V_KM^&C?I@J_\H0:A3/2Q+7Y#1Q9WT\S,5^+O?KLGF'="86$5)U$<-C_E2 MWO*YR@PRH0[?/;?O1BTEZ(@IB:):%9EQ=M,1L/IIV@Y.(Q/K4(C,&A/WHC"L M*_'A(:=K2=RKTIM^Q/U7#O7'7]7E#.I$["83_W95E:ISGB2*11RZ22QP#!V6 M1'+KK)*C<8A@F/@(QW%$8BF8D5>^;[JY+?O6V=R(#&J9VYR?$G3$-O71]R*N MZZFWA>,T_OK!$ [PV^L@_*U[AI0RXK]UWU^QW,5;/ ^ M,R]?=?CVN7'"UA(#]SFXN[Y]DR!X =[G>97EU?%R)-JXG38*+$ VV7:K'ZTQ M*E#U@S.LZ-21,:>K,]6OU)O24B_4E*DQP"3,J:_(FD -[A@8%+DN%/WSZ^:O?T]Y(0=Z M?/W(7R0.*I;/D5LL)_82&)(@@,B+,$R<6$ 1);[CD8!C9%222F_:N?%KIS3Z M1MBZBOK-Y6_#0B?UT-?SGMO'=&3Z/0=.\P!+(W1LQ5OJ33IM^*41$'O1F&9W MFQMW?\?%<\%Y]4O!O^*EMLUQZ+89O>IK\4 CWP#CXB N^B;%N?A,9$CLX&3' M=NC3O<=B.'C;9'9"G]!=ZZ#WNF$VP6=>857Y]QH769H]E)=4/OM579SF/@)A4'D!R'"-,*>UAY+?\JYV0)KB0%O13;[\FM@ MK/?5MXO/2$P]ET, M*17R)P&)F6/TK3::?6Y+M5OC]XT?#?&1&<(FV.:-YH: M9JO9G-':T/6$'E)')HR/DI@#U!9!RIB\I6^$EZ 7,R.HXC<<@(Z1GV,ELDM.J=4T4 MC:N'IUO3O'C.B]J!]*62VX@K%8]7O%[EC,O)I97B$ X=[$L;Q?5]B!/APB@) M"/-Q' >!5G$RS?GFMO8WV<0=F2] +350;00;R8$2W3P1NP_W?JX8 M<]O A*>RY%79IH)OC.M ^(%R1$)/4@A$ M@K@PCD,/(B*W0Q'Q"$^(49;2H5GF1B6M> #7PIKF 1W$46^3TV2=]:NZEC/1>;*>V\<Y6L34[9F56.M_#J48$5T,;>7@S# MZ^QZQWM8C%3R>#O/=ZUZO*?NJ<+'^S<,W7%<,B9?F+(V-6Z+.@E-JK# 3IA$ M8>A##[DN1(&ONNLY% 9))%R>("^*M J@GYIH;@31FL:ML!VC>"VPZ<[B"+ZZ M6XKS49MF+S$ L $[B'XTSM@Z'!EXXCU#OWK[FX43UYM[$E7T^26M5GBY?+W# M*?NM/)#&9IPK8C;JW!CA34>IM1I Z0%>RK^"8YF4^DY*0]!/.R['PWO\DY A M4(^0CC(,PD'^3\.I)O.)#H.@ZR<=.,*PSQ MZQ!IX\A_1VX@/,^H8IVY"+/CNLLO?P?O/][^_@6\_WS["=S>77^^O/]P\PNX MO+K_\-N'^P_77PR=)0.>B][V:5RT1V8Z5:]D#N5)AH-H:4,V0(!)=VK# =K= MPITQTD#WSWKDCQR7?-U0;\%\WXMC@J$;1!RB. I@' 8QQ!C'-'!]U>3&R/=S M<)K9,5M=&4I9$D+N37!=Y:)41:26*]8T7Y [;/#4!!_5&;"YZ-2,6BK=P#+% M)%W6S\C0573X46CZB&PGT0:F6L*+37-5B_ZA7@QL.8<.3S*M9ZA7T3VW M4/_5PWA#,A3EG)7OI7"?<-56X+LK^/.Z)V?&KJ1-5]Z*W;)\VX)]"R_$02Q( M!!V?A"J>3AI7(8NA3Q/JA+'O$Q2;T(P5J>;&2FNE@'H1P--&+44^3[CXDU=* MC;HO3%M/RHQW[#Q*/9J:_ &-S&IOG\U6(TEO6YV:@#VEE7ID&F5&[5&B5;PM M,:@=F28E7*LP[O*SW<'-_7EW/&]SX#1==9L;9L>4U[?Z'K6MVJ>=98,T'IMZ MKF]/YSX:^;/VM!SDJMJ.,ID7:D_PKH-I_Y=G')0?V(BI3,/4H*#C>26#]A-P+)YX*XU[_0'\"9P'#R0-QI@MEQQD MB/F,N1Y,_#""*.:!9!_,( K]( Z9)"(/+9[K!G%2B*+2(Z*SJA+NSC;>^OF9 M/Z292K0$!,M?4 Y^2#-0UL(?3XC51#;T'9Z@.(#(X9+HP"2'W.!(M( MXD1^B^QUQB;#=3W7F&?X;"1(]9A\SB4Q&]DN[):_/*FX)?;]3B4O3ZJWRZ:V M"EMNL[+I$I=E*M*F=Z;:?W4RL]?15,\%?^19F;[PIAAW&W[9=->\X=6MN,?? M.H'2Q$V<((:1B"3Q^DC2 U/]KB+'=[T@B1%)S*HYV!=R;F;BY>W5!Y5GL%S5 M#'.7%\W9?E45*5DUWJTJKTO[YUDEQ5JJR^KF9;RLZA;CRK$B-01_?):_!7)W M_!47S#!4IW_ ZI;C/<$K-7#&$'$B2MHC ?R?LV-$><: MF%IS>GK5Z>'C)D2<$A11/XD@#2-I<(9> ). A_*+XK)$R#\\H97*-U2 V7TH M.@5N-D'G6PUVFKL,#]HW?E!Z+#\F_&,SN'WDS3."!L)G*UG(=/II\X@&@K.7 M8C1TG&&4^$N>LZ_I:Y1!E+O;',C.VGC\/0A [3^(M%7(#]!6;ELXE[5B6)>KT.\;2-D1G+] MT.LQFC5 1Z:OM9P7+7FM104_K(6U6"A-"Q1+I-0_UZ0,I*7V+MWHW60UV/=# M'2?QQA^["!./)8X3PD1NVR&B 84))1$4+N%,>?8XB1:5BDO6(QK]J8U89R/ M>"OEIK]!8KK6H-,@T4JH[Z&GHL=!XV ],B&=".W="-\Y^QD]GK<'L7'C> ]- M/(?XW1Y -.-V^T88>-1#'SE;+?FM4&-G\D&_MEO6NMOM-@,H<%V7"X(@<12E M.3Z%Q.4<1CX)Y=8Q0UIB",;>(8KI_6=5FKM\>*BNBWH3:=! ].@ M<^.6;ETU*6G!'U1:LY0WSWB^*M\TQC+N*WHH.@W-N MA;J=4;]'@;K#BAVI3W?DXF$&RK407!D[K;/H'G_[7->G4G4M5W*R-APFS\J% M&^!$8$2@@UP$$?)B& =^ CT61XCZ;N@P(Q-%?^JY$A;*.%".S"A;%%MWM#HP5')O>L"G;16[.RZGM!DY9XZ7)2O%8.))[11S0'8M ME0$C#"P!7G"65N^Q>C^JUW6/+I<'G$(G$0Y$0>C!Q%'-#X4?Q4&81(FOU2/Y M^!1S8Z!&0K 6<5 +K@- ZK'->?",S"J&R)@7USZJO*T*VOL33%LF^ZB">[6P MCU\Y;&E_W.;B+EQ* A<[#HQBH@[310QQZ!'HA6Z$0\:=D#HF/M[.V'-SXC8U M4 8G(G=1TUO [$8>>5^U # >+D>4-72.NV./.D"/:#2[LH\=(FY9^! 99?? MRCO.BU^*?/5L7#)*<[BY?6J/5BCZK01*>E"+K^\HT$7UM-M@!$!'7N)Z6(Y0 M^\D0JD$N!=TY)G,P&"K==3>8WCK0^?#TO,Q?.?_"BY>4\GJ^GW')6=>9=+FL M'ZW\VZU0&\.'+/UOSIJ(OZN\[-9H9=SS:T88G^VW M0=-U\OV>\=AG0/5C^_GM8]L^V0MP_4TI*'_;%#QX3N6:5WI=M/[;D0(#1T+< MEH?&LG33NG'&@7;/US/2-,.^(KMQ2!^RNAA#JIHU\D+N4=OW_#)K8B2;LNP+ M(J(H\)B U,=$;C 3H;(O?[U_]F#)-&BS:2AC;V9!J/ M0EK1 6]D+CN!C'3=;4'^),LS2-]T7S!C_H%/4(_@1WP@T_#X@>A'5=ML_6Q: M\>L'T81+7O8_ F/"/@]!2[P\4(A)Z?<\H'99]LS11DMZ:99QL8HV<)Z9DO[-!S.?*$V/$'D4/DT4* : M?R HMSTN"["' C=:O/""Y-_U>70E&-G-,!;2>E^=4= ;^4-3YWWN9GG>X29B MS%KIHL$(39<8-&5!I,%P#$@%.JNPDG(+#0L0FW=4F/5(,./PK]G&?$T:YV4Q MN.M[172=#N.R&KNE2E-N2PKN%AO\-9-68^W/48;'75ZFZI$MF @BWY?&6NC' M'D1(%1U""$$O0(G@L<.18";GJD.$F.4![-_ >YP6X#>\7!F&H8),*D!L@Y(.W:(F>--8P,U>*MU^ZG M;;WW]P7_QTHEX[[+GW":+;A W/,#%WHH\J&DOA 2'G,84S_ #@H%\HVJ_6C, M.3=K9\MQ%Z C-=B(#?YH!#<\O-&!7X_R+(,Z,L,-Q-"8P@Q0L<18.C-.2E & M$.SRD[/%TKE^F(UQ7V"FBK@7O%J_ MK"A!OG"9 T6D0DXX"6#,W0B* $7"C2./.$9>\/TIYK;Z:PE!V8A8GSH]JXKX M96D:MWH 33T+X3R,1E[T#3RM=".X38\K;^F[?V""23_SQQ7<_:KW7#EJQ;?5XMN>N0 MP+TLBDN6/\L9WR_Q@^Y>Y?@(<^,E*2E4H@(E*W3?!+:V8NMO6GJ .[UEL8/9 MR,RB 1?X0\EL:>=R&I1!^Y:>82?;M9Q6K;MGT;AZ^!'1N[2DRURY/0S+7!^^ M>4;O:WV\L)5PE&ZZ_2!8/!TX,,GD_O_CBA[R\/=<;?:V/O-L\3E_QDNGU^_I"Z9RIM$,DE9 M^QZ<+M\D,N)A\F$P&(S(N/7MN!%+/!)1+%7B5J*ON:UBK;A@*^\5J"4&0F2Y M]4L&X6%2,(R;9688A&Q\5ZZ,'2VY[<9_7X=%3(7A7J>SQ5*:<170:6B7OU!3 MJ1/Z3DVG,BU,PJD*JG3$JO**YFT[O!)5EJI[MJIO;&RM@3 *H\A%##II?1,B M)C#F= J#R(^3@#"W3J>J<&WN3$=SXU61U3-O-\O+>K/\PC?3=96D?U.\NG8. M6CE#RP1@E@FU$U'DXFDN!%JQML:0,'7)ZUPWT][6&E'VZ-K5V//J5M?OJYP^ MLO7=-_Y!^8="P.'0?[T$7B6@<+(IBD M(8'882S 7NBD5*FDS/FNYK8X[R1MTVMKU$P8 %9N838#EV6VZR'5#[5LY 0_ MVJ]6USAPT5;XHT+"ER?.2-HBY'H5Z ;VTY3T%.UCH#I M*0MVVEZ!M-97)#8U7/7;WHB8K!%N0]!#V$_Y=A&.FE&WUH(.Y,7LC'ZB$@(H9 M5@^AD^/<2P"Q3)8M%K5L5]T]@D]5M1DX2%=/L7I&?U,)5@^;GS:]ZAGECI*K MGGO.QEW!-DUSN:E.W\WYS*KJX0D7KO>%/_E4+3"BOH]I /T@QA"E#H;8#SV( M,I8DV,.I&RN%O9H5;VX,(N0#:RX@<#WP7(MHZ[:A\DC*4=+[C8]E0I.ZH;C3 M[^QEQ2NP-\B-GE/=8-3%?Y*[CC6HRZP:O/3Q^Y/?I?#*^J[66J!0J3Q$^\&#J.AR!BF0=CWR'0<9V$ M!"3!U(^50J!-23:W!>##AHF47651IU3)Q!;S30BL& )M;.#D2/]=AF,.?+]W M2;91\XT_V20T;/-E?L^+QR7;_AE\X'^Y EA 83V@ ,"6D2 @,1@!+;I<3$5 MGFU,KFECMTW#>138;;P#38_QZA$7^3]K/P%?80CBV W%C3?^'2$(1GZ(8C=+&5$KMF)$JKD1 M?E^IVG[O M$9FF=>F:A/'(@6NTXT#IYE M3CR3@+@6&'RR J!\I)51("<*N[H44*5H+&F !D*SQMN8+$Y+6IU^T);\2QK9 M7T0EC.IF65;LH?Q2O.3B6LQ!G7'9)##C3A(E0-8;@-L'#;+'-/*"[8"3Q,IJ@23H>VI7)^3;C^5 M8#C<7JJ]K'DX5!>1:,*,U@L7)X0F.(4I=AA$$48PB<(81J)(3I &!&.FDBQX MKW4E+IFL#.LE=6SVP9,\9-&%Q+8M4LMUU<8\&JR]?E)A4R<0>VU/>XIP2JVC MDX"3#VDFO*U=2*S>R-RO\H+D+WC9UGFK%CCVL>-'(21,7!P)4@Q3XHNLWWY$ M'982@J*NNI7QKVG2V,FH?);*5>DF/4+ZQ M5U9LV$V]6C%;IS)G>#@+RXYZ$37/L&3'0HYSK$ L&7V,82M,A4I M(F6(E&1[G92>%*$X)"K5U[6R;G\J:/Z:TPU>JF?;/GIW;OPBLD?WA%1*KGT, MC(2K]$),;.]']N$PGT/[K/*ZN;./&YPR9_99=0YR99]_SORUU.9*TC=&EGQW MG6=Y4QZX>L _MRL:#:+0Q]B!D9.F$+EQ"#%B%#J9FX0N\B+?48LNNDB1[-U5W,]@T]XX7!TJI9C0YL)1E+-+IAL;R]PTGH6W'98C?<2QV$\[\4)& MP)W@-JB$,+.Y]"D/G,K=3H56U6."OI;%/5OQ#I[%QK'.&]39!*X3D"BA$22, M$,ZU 8)IXL3014F:1)3Z02H5OC_,N6\ '\]Y>0)8'&8+%R4[+\WXA9! MU6 LTJL]\L?%90.QZRTW:Y&;;CL4Y0H\UWE%@,B,DQ>/W";@=EQ-&[^9"1L: MQWL@7FC@YY,CBG,(#C.# 5PL4X$:)-*3?T3Q 9<8?[.9Z/R;W?P^U]XD$WI$F6X& MCSVF56KEGI5?67G]^EA'EW0UX>4+K9Q\?V[SLMXIW-Z!K_R_ZU?.>X\,--$T M*M7BY>$;=V:;0&Z*[=7%H*G66QE$1;?:RNE&IZRU,JC60:65X6:$?^DC6G#[7R=PF;RLG: 1M4E=P M4>M\%O*F]5E(Q^UK$T!9GM-:&"G9VF,@:!G<9QN=S.H>4ZMO>H\^JVY_BY6> M#ZNLN=T^/K<96AN)_._RAG.G][B=K*&RY;DVJJV2Q7N@GY:!V[4QF3U[('3? M?#W\TP4^Z>^;@J[>/N$K#:,@M87K1@A/@RL@A?:!%R3.*$;04%/4@M71J0@,>F! M/MO7] [H,;5/^I]'7]+IU"K>W:A,0DX=?NQ!&KHQ1,QU8!QG M$;>T21RF 0J1*V5?&Y)G;MS3J2/.@Y6*?"ONMR\<18@>[(/V&HV4NY^8^RI'_ER^5NQCJ$^%Z28.@&-(&(1BY, MO22%04!PDF8>=GTEBVZ@KSES:B>L+ET> ZM*A1?!-2'-=7).Q&!G83'.3L<] MO1/SG%7Y/*NX<$W6^6MM/2[< M#(4)QA2R+/+YEI!BB%./&VZ9'R21XZ$L2E7R ,AWK<0G$R0)$#5C"1<=O+2R M@_0-_+(1@7YY\2O8!>3@K0IJ=*,P*G+L8P=KVX>C'&8A-;COP_QG!_-6>' ] M#K,R,:DC9HBG%#J>E+;4 3ED,8T6U-V]MZO:TOK&2/G*5F_-<:*D[_?4NW.S M9;B,9<'*3;5\ W46*CX;]F(%.NGE/<4G(1MW&U^*EF7VD ;*W!GM&"I:GN>3 M#4[FAAY2I^^3'GS.1HF*W4^=9Y7Y"?&Y@<(W.($XN(TI3#R*H$/]S$]2UX]= M?\&%2TLSI2B.)%#Y\/?EL#<'>E5A<]WZN)H>0&5JXIE/#.8'EZ35"\Y[GU&-4K.0J-6B>1\ M,Q<<,[<'JB>.0VGLQM1W,NAYF0M1'*80!Y$/_3!(78_ZR*%*U:.&NYO;XM"< M'N#VN'FYDU?CQ/D\QG)$90XYR[S4@-:=T4]PZ#P*BLE3Y_.=37_L/*KXR7/G M\;?TF.1S7K#J+KM9,9JON\\VR9PX0V$$HR!F$%&6P"1D&,9A1)CK$>8P5X4_ M3G4R-];XO>1;V[_RXK$"Y69=K7%!^0]JE'$23#FBN!0BR_0@Q!/'%XU\%CAA M2']#3'"RBTGG_Y"2A[-^\%G-8PE1#XW=9:UOL"RJ!4MH&M*(0DJ%I8!9"-/ M=SEX219&E-(H44H*=-S%W.;Y7:^24%UWZ@.KR"I_Z M(5P$F.VS@EHX@1Q,G0 <=S"MI_^L@D<>_?-/ZE8H?UDQDM=M M\>^7K"V<=?TLLITW4V'A,!9X"L:BUQ"'_^C_$M4=;DI*LI_UBKA=+:5N5%)+:TH,U37 >$R M-Z6&1.W"G*/&J&*]IO/P#9.(6>0L4\56(: M?T//'+E?E71#UG^KTW:MWVK/!EXNPBARDM#!T/'C$"*$8QC'*8'4QZ$3!G$0 M('_!3:*\I-_7>+66,T-.=Z;RF3_LTJ(+ B_K'&1X#=9/#*3L,2\*$8K##7#Q MBT82-3OD#-BNER0!)0[T$$(0$2> "0X)_R?-B$3 M /NV[T M[VV*5=7<-$<(^S2.$N9F_/,;.1SAA"/L>#'DG^:(IB0*$'/4+<#+<)[0^MN: M>VECGER,9^J$41QG%&8DY!:U$X0P1@&&449I%+LQ-_60JI%G DW[!MYM?7AG M#$C9I>\2:"PO=(U 5^!ZO5[EZ:8)7UR7X!Z;/<<[#X*QI>RH@XD7KG,*'B]3 M9Y^\]"(B7_;R-?N4RCR,4!@8P&+D0IWTY"R@)R_FJD= MZE-;=O/ST_(+SE;#IQ?7M!0Z3B/IQ M"FGB<%L[31*(D?!610YGM8A_\90JL)_N9FY4M;T;G&_%5..B,VC*\<[E&%GF MF$Y OA'9B@B$C.:H9!@#0[1QII-)*6)8T4,Z&'E:;^J?*E[8A3>^M44.QK6-D^8;JVY$=O*;HR4]W S1 ME6+GD]*8'C"']*;9BG9Q^7,&U1?\]W)U(TJ5B4R$'\IGG!<+2KPP]#&"J>>Z M(I\7@C$+ TB]-'(02<*,*$5H*O8_-^(;WEQ<@5H'4"M1)[L$/QH]%'=UJJ,D MQW\6L;=,@.9AUREFKP.>N?+V2KU/7?!>!YI#'M1MQGPYVX_EBN6/11/V3MX> M5KBH1-J7.BJM_FE9!Z5=T[]OFOO77]GZ+GO /Q=Q@..0<;ZD+N9;1R:\%P MRQ'O^P^B97X>S9AX!;HA[A0%/4WKX(Z>KF"G[!7XVHSXP\"(&ZVA>_F 3%!; M]P(A9U-S]W*@56KQ&NA-;Z'IB<#A$<9^7FSX1GEWOZ(I$]P\Q_MCU>U/SG^\ MC[S J[=/:_95PBVU"N5S6E>U55V\+5JZ%8FKKB\U1EEMD9C)VEE>:_3R\@G# M3M7^/;%V1-OG:W6OP+YZH-//W,(RP2 86EUL2CKI$C,!Y(?KS!1=ZBTVMW@E M8GBJ>[:J2QT+OU%!\F5SN68;3)DY29(F#H%^C"E?-\(4IB0)^'XE\S+'B1R$ ME,J8R74[MUV'L"SSO66 CU]3J?O?U-A?$G8Y(CF/\O"ERDK]@G7,T2>#EB,D\G):)Z<_OX/L.QZW,H"\T.$B)!GXT:AAD*C7< M##&59*>3,I4:$(=,I?BVIEN8Y(WMQGE0^)OSC'?3,^FX,=>/87THFPC61>+$ M82H:W"0.(PBC],EIK&@2^Q"[&0IC'P2((>& MV(LCI;""\WW-C1)KV?[U7]S0^7=/,2I@ %#)" S,-D^[=^F5Q:7OH2@5Z 6 M%7@6K#,)3$P=X@_T-.V!_;C*1X?S$J^H%^R^+=;Y^NWVF:T>^1[TCU7YU_I) MG-_@XFV!LI2YKA= %HBOY"WSN(VZ$%]$ M2KKZIRT-;7VJB#I1D)$49C[CEH3K8Q@SXD(GI1AY+G9(HE1Z5%N2N1&)G2(% M0T,A9X-, K!EXI%*H]\W8S[FE7 \_1?#*]"J^&;%*WXQNI,DW1^28T;I]R7@ M4DO$+].@;I3)?L3D5[:^_4F6&W$1O;L_L_"2S&-![$.4I)PKX\"#240B2(*0 M&U6Q%S!'Z=A/IM.YT6(O>ABWT<,%4[SH)@6V'!N:AM R\9V(O1:GJ+]L9=Y6 M&#U?NUHCJ$(>(V/1$1)=3ASF( _"<;R"PKN7)@@[GD,<#R'?4[I8HBK W'BI?X7]MEKGSW4I)'R!ND,4$\O\2&(2NX[(,!=PB4S/(E/J? M&P=VXH-?.@5^!7D!^CK\3]!H 7X(/4"KB.+U.M5ADC7EK(%OW:HSCKM.Y*P. M>N:B895ZGSK"50>:$U&K6LVH9UP7E_3H[4^^]5WGKYQ[LYSP'CX6RDG71QN: M&X/5 H.MQ* 36=Q_*M=%N99TQLFA.,Q+Q@&TS$+CV%G(ORX-D%8*]O'6)\O" M+JUH/Q&[_$OJ9W\?2K(1UZP:U^A]G9KQ(_]=M2"!GU&7QC")/!(A9%4^J7!7N;&')V@G:NX$174LLJ?^IT'=?S,SPA4MAWO.B@IG?>- MHJ!UVG>^U$T)9Y#(*:A M+RH'<):@+( >0Q'#-,@(22_;,:D)-#<:Z4JHLI\OK*C:R.>RCL(LR@(V%^PO M2,QT\0#J[J7L#7 P^PY ;MZ,6Y\>$]?@.O]EOG,X_I#XY'U;T>K7Z M5-"'?+V4.I\_?FMNT[(62G[>'4 P/NGTM;<\XQY6N#XFOQ;'$(^L27'#Y?V]JT M 8T3E$80N=B%*$DHC#.:P"P-",4>RGQ'J1[]Z6[F-D5KYS!,A9CU!:Y.3L6C MY].02AXP7PR4[6-D(2"L)01\+:T]$WLS6R1YP-43N&VV8P9/CP>A,75&?+J3 M:4^"!Q4].N\=?EHW5?3S<]D89*&7)3B* M'&?QRE9I*9\/^J /E4]YOR=['_9&Q.944#6;\R& VEO,/(9JAS>II?;5,YX.F)C.=3ZO0-YW//*%^DG>3K]^N5PS?E)0M MO(!FA%(",W$I!T5. #$*,4Q#C]($92Y!4G&=APW/;>()V8 0#@CIY$_H]L : M/Y33A<#VZB>GO=+)VRE5M0[;]AJ:['SME/C]([63?]>],GM-*1_.ZKZLUGCY M_^4O]:>)Q5&",X]!U^6V**(^$9?J YC$;I:Q.)3-U3_S$UV6'5#N^+3OXM-KTKU;K MK@#WW>H[6[WFA-4&'(I)FE W@2ER^9K+MZ8PQ0&&)$XR1/AN-*2^S,0_U\'< MIGP7L2_.2ULQQ\P_.2"'Y[D)>&P?Z*@C(SVYQ]0?VIGR=WN[4O[3;G*?;7:2 M:3VF5#>A1Y\SDZ]U=[ 8(C?T?'$U@(6NN!K 9W?**$R=@ 9>2D,4*&7(.=O3 MW":WN$^XG^7YI4LK>EE25M7K3480L[VB'Z=>-1LC*PV&I02K[W3_:%3=L32J MEQ[\OK!B<;W"1?Y[63$II^F)-V;T0:TE T*T<6?I*!"TC4YLSI(L ;+7R13 M7#Y9!S1NIB=_H)YR3N@[];0[]<8D$VU U&YJ#3UR22F..HMH4T6TR8+7%E&+ M4\RHZR'H82)2)* 0QDGJ0T(#YOH^X?]76G$'>YO;JMNNN%MI02>N9@6[8:CE M%F!C %IW0FMCIUE@8@03HR4BSO7U#D4>1M0^7:9A[*5+;ZZ(G#[-%8O 11%% ML0?#R$\@"A#?AF<(03=RHS0A?I(RS7LKVS[F1AN']S'J!$<7W5G9P3GN=#, MDF5JT,#G@MLJ1P@8N*NR:_.=;JH<*77^GLKQH^H.MN_L433X!RL?5_CE2209 M;Q>MQ,V8DZ0(ADDJ,I;@"*8)CF&0I5G&"*&42E4G&.QE;A.\+Z&B*3",YKBK MS0A&EN>W&CQ*KK91]2_PMYUO>S*GVZAZ?<_;^,-Z&X+[5?G"5NNW>SZHZ^N" MBDOP+VWMOT7($&(H)-!/,PI1*#)+\D\!# /&:.![KD]"E?W 4&=SF_:=K+4C MF76":J1*&T18;AM@"C?[KO=:S"M0"UHC=[M#[NL R^-\BCW[Q*.V:.WQE1I]<+AIH9=-PSAUA(>^=NP23B=QS M/6S,^.?.Z3S@H#MZ93(/W3EA^RZZL\^H!VA>B[PSMS]7Y'Z5$^F;3OMOS6TE MO?W)5B2O&*BEDX_1/,!BF& N@\&VZU\(!B1Q4 K3/*VR5ICF05.3A6F>5J$? MIGGF"B0$P=#($3&ONAGXIJ5CY$KNO M.(Y<2"GRF4\3)_:Q4HT6^;[G-HD;T6$M.SC*@0O2-U#+#VH%E$)1= 9&SFRV M!+=ELC"*M'HM&'7,3-6&4>AYVEHQZI I_(C7#3KS:W*]7,+?Z[ M[ '_7!"?91X)/,YK?!5 B/)]O>=$T$F=F*"(8@\[BUT)^O$B<1*=*A':MFM[ MT^Q!]-'FA3E9G:\IB%QO^$6.W#7^J5B73VHD4)*AR$T@0PE?8:(H@8D31C!( M^2](X :$6SY*U^A,C\4T-^L&JB0VXV !>QHX*8T" I/8"2$B60J3D"_Q+ O# MD"8A_P5=\-&?&/>DP;WK^#UF0%L+O!D RS- ;BDW_:FVO(8W'^<]>?M+*J!DJIBD3)?35HY4 .&H3*3*NYH9%KK#^+OL!E=/'Y?E7Y5B M_:"A)F8T"7;1(/QS+@0%M:16BO[(0&(J))W4V5:=KO_%IBV^=5.RHHM;IIS2]RP_/CU^*EUSD@%-. M=G>V@=E-Q]KC^I _BQ.=+U_O/_5RWBEZH$_B)>F,OA2J2?S2IU&RD&E\%!)] MO_7)5J=U80\I=N3-'GQ8;_GMREA=%T<^IMVH;A>;+(C\*$P8C!*185P4(D\0 M%9&:D>,FV$FQ6MT5I=[GQA:=\'7$PK'+M3\IQEDEH@6+(>&BEXCFH%K3;*YZAM;BCIQ#R7?FO\M7S^)8BY\.1/% M1T\GWJ,$!SXE"(99DHJ@-@J3B*;0]6(WC(F7>E&R*-ACW:I";)NF/&H^P0.I M[$W2+IZ8DP;FWY>VIQT/G.5KX>_D1,E" MBAP$'91X$&59(HC2AQ@%<4JS.&:>4M+77=-SL_^$+_Z"TZ8>9I+TI(6$9<(Y MRCH@LC)W-8WORU5]G>]ZO5[EZ69=9TCG*X#([EH6:R[?4CS&5WW&93(;YWL ME;FHWJ[AJ6-X#Q0Z$;%[^(3>7/[S^X,HH[!9O>UJL+<1JH[O1R0, TCBE&__ M,L^!L9,$,'2C,&;$B4-/Z:;O^:[F-M?__.W[;V#="JLVSP?PE)OW9E"RS -_ M?@>=E& GIH4$K^-H&)KJ QU-.O7'%3ZD HDW]*B!D[TX_N%4\YI31G]_^[,2 MH4D?\P(7A#/Y-5GGKTVY(A_QCPSG"^C%?)>$_""#"18G.AERLLP)D\3-5(*% MY+N>6\B06"'K7.8OK>PB&"_KY 9X*[@:K2B,A1S-V$%X O.C/B2^[X'[BY"< MFV:_@JWPX'H<9F4J4D?,$#4I=#PI5:D#^2VH< M3N)VG1-32AV'&S@,<\(*'0SC#,3M/'9J/'1 M *!R_&,&)LM\LT6HW?,(-TLCI^&;BN-H&.*2@8XFY8YQA0^Y0N(-_;H5^;KV MHUP7](;O5#GS,,X_K.>0WIWJ4B=B)(@CF$2!B B-0OZ=$\(H"3(O)#CT':7[ MSFK=SXU#>M+71S5[\JN7OU 8!SF:L8>N9>H9!-;>$?QEN!FLNJ'0^>0E.=2! M.56O0Z.5RT[!/I8K;FD1QFCUD>M5Q[%^*L3YS/X& B=1DF(_AJG/N%E$$8)) MG#DP=C-N&:78RSQTP>&7I!@S/?.JQ=4[QY+%7^WXRB2T&YU_3H MY!M;X[Q@M$M6W7[(0S>*4H(HS&@D$MME%.(D1-#CW)+Y?IBEE*BPR.ENYD8> MG91@FT/]EVM"-L^;)L"'[\ISDJ\5#\//("Q'(Y?C9ID]CB$SSQG#(!BBBC.= M3,H0PXH>$L/(TYJW\<@3HYLEN\MNVRBWMK+%Z>":Z^6R3:%[EWUCI'PL\G\R M>L]6>XQX6U&ZTF//%@R[';+(;0,D&.UH-N1XXVGB_\DJ_Q4NAU!:Z?RPU_ M^L=#'5QDQ?5E?01,W3&U)N>T%U1MPWUTN]5ZAQJ7[NC?'\JO97'/RJ^L%-U_ M+-0OW@TU,C<&Y\)NJMH#VH8(POO;._"5_[?'X1_+(-0#I.P410M MDZ@B@#:NZLD@I7==;[#EZ:[LR2BX=VU/Z@4]*_1SCM-\6;O+K@M:&STBS)M/ M59&M=?VVH%&<.IF'^/[4BR$*&85Q*DXG&4XCWTF8@T*5&*RQ#N<6>=6DJEGN MI*ZMAZHG][_^2^RYT;_7F9K7BBZP4?CES#N3H%HFF,\'2-X.HZ9L9\E"89J@@J,V::/&5;&8$04C'= MA_( )"3 7IV1+!(%,&D,4S="D+C\Y]1W$6)8A?5MPC_9*F 9+[E@4)@SA-D@3BN"X=XG+N0LB'7A3&2>@FB/^KXOX\V/9A=9?6/6.K/U;EYJ5>D6O?6F.I?EL7U\]K6:?62#-SF]U"7%#+"YK] M:$]B\(VM-ZNB]6'+>[3&D!SW:1D$T?+<-X"?D@]+$ADM+]98VY/YL225['NR M9%_1,P<.RX +$X,L$$)!)O*M.'X:0I1X'L3B<)3B$)'4R2*4*@58G.QE;H11 M"P5^R0M R^42KRKPPC_IE9!7,:CB-*AR)L'%4%FFA6TD!1>PH80K4,MHSB88 MA,"037"ZCTEM@D$U#VV"X8;'8>@A M EWLAB+G@(B(2 ,88!2G/HF(%RDEA!WL;6Y-6S!JP6]:N(U!7IYO@K?GE2ZL)>.&-*$98:8V9'%E9'PG+)%;+!AH%0*,!:%2X K425Z!3HXE[ M YTB=3E5D[GR+P#26!)]'1DFSJY_ 4S':?H4Z'Q'TY[WC"I\=+(S_H:Z,[<)+A!,U,1$16X)IS@$FPB@&L;//',$PVZ&($%#UB.-?H=!0PHM;>9!][5GU:/ZSH M]6K%=T5-@G?)R;S_UMRF<._&$^ADE)^W!XB,SU9],"S/T8<5KM-'*^&A-"=/ MJZXU$P^:FFS^G5:A/^O./*$VUSA%+KZ5;WBY?KM+E_ECW5;U)2_RY\WS_]G@ M%9\8R[?VB2[)QX)&81K$2091&A"('(_"Q \#*!)K()<&*78\F3FKU?O< ZP):IHI4,](2_ AW@6_E!]]C]!(#3DFS$ M=PT-OQOP>V+\OS, TC1^$8 -T_,F:BYW0M^I^5ROS4DH_R)UNU7ALD9T4S'M MQ1$?1!G_6:Q86^2[4U@;*\L5M ML<[7;]>4\FE3W?!O[U8/Y5\%WSI$*",A@ID?(X@\PF#J8A>F&8[2,(E]FDB% M8@ST,3>N;L0$K9Q70$C*<01"5CGZ'0)TF$8-P63;:Z>#D#2=26 PX!K@;S>, MQ+_9$=%0FY,0BH12'3'(/'I9V?";HJ(K^G&)'W5JAN_>GMO,/2Z%?<,-ZIP# MQ*A>P? >4N,>O,M!LCQOA_ !/X2P%HJ$'R-Q<87P7I/O4A[\6*5SM<%//*FW M;]M656#5/<[I(@D)=HE#8E?WA/$-!Y?-W&[BC-*&=@2'K4]JU9]1 M[= R/_>8;AF3HBJ7.:V]/'7HS]MN<^VAA/IA1*'#,(8HQ@%, CZGD1?Y,4U0 MZ%$E5\I09[.;VWU954N2#& J-[=-(65YHN^)>=4$\;V!'^U72R5&QI$Q5E!D MH*N)RX>,*WU<+$3B'E>$I!<1XF8!3;+$ MAT[,+0'D.PZ,<9S!@&0D<,/$<;"C=&U"H?.YD4HK+Z@%KH-+RD+^J$D+?CF^ ML06J9?[IBPWVP>U);JG8D0YFINXXJ'0][=4".;C3HM*'N7/S0'GX^K'#1 M.#"_L9=R):XPI"@A009=AT808>3"-$H3Z,9)2ET_],)0JH+U4"=S8Z9.3K 3 M%#22RCL7SP(Z[ETT 9/MTQ9UA)29N^<^$Y(RWNNS*&>@[ES<1TG>MZ@-T)2NQ3ULK#@63\)P MD5]QO\7)W8HG%3KE53S]H&[$[D,]2/7&Y0->,[7 W8.7YS9=>^(!(9]J[.XA M-N.3]&)8+$_24Y&\TBAI1/2>0>*"P-[#%B>.[SVCT'&8[[D'M9W_*Y&;X0-K MOGXJVDN$U3U^$Q$ BRQ-8N3'*70]3X3Y(@)Q%!+HD2!@88QPPES%XX#A'N@@I_Z)8PC)%\WD%-\%(^V')BU\/^-TXC$81'X D8\83$F4PB!V/UTI5"&)7!EV.>&Q :7N7/QY3:2]G]1@^ MEG)5G^WV77-4CX$QEIMZ]'W=@BH%N\MN^'XG7W_$1%15>/O,1+*C#^4SSHL% M9EZ21I3 ,$T01!F+81RE/HQ\SD8!BU+'4TI//=;AW'A(R"NR0342@T[D*] ( M#7XT8BLF1!F%78Z13()IF8DNQE&CM(H<.,9*JXQT-W%I%3GECTNK2+ZG1S?; MF.HFQ_9U07NU7+YPPVO#>[XKO@EZ$\F?^ -?RV+5_5AGX1N)/L?J[*J=M=Z_N KU^^,[WA$H.&"X=AU*!$U @F% M"*DA_/B%1S6RYJ6?O7[82T%^Z_]89+;W-N?1#>?^=^ M!7IJ@9,#=@726C<1O#Q9<2HUK*>I6"4ITYS*6*G!J%C;2K%QC4B%Y;(]">L= MA/'UXCEE*^F A8$VYL:77%9PXNA/(0G9(&+CYZ*FP++,:^=P C\:44W%,$B@ MH1?*,-3P=!$-$NKM!3;(/&_C9.,+7K<__2U?/^7%7<'^B^'57FV]A>>D+HMB M!I$ODBR'?@933#T8.92%OA.1-%7:QU\NTMS8Y<-&'(. )>-+_/H)%WPOQ\ ; ME]KD@8C46)DX*C$] K,PQ?8*@5Z!5L!P2K7D\T.QDDWE)KV\_2D&D"T"CWHL MS!+H.*[(=L)WX3A(4YC1P(^3+,&A+Y7 ^'3SMW7 0!,E7L]U<6T55X'E#PJ[CKTK*97G=+ZQC!> MBJQ(GXH;_)*O\7+A>:F7N%$ 0P]%$(6I"W&*^(\H=#TW9@Q[F9*K_'0_3BU95/[^JB8=7M3[8B><7H@L_\-'0H@J&/ ML+B8R&#L!@YD7&=N"$2Q3Y0"FD9[G!L]= (#,835.IN6P44".+ M<>#E:,,HG)8)9!_)IKIR*R[8RFN.2Z2A,<0JX_U-RB_2ZA\RC?R+NB7E\;J. M$;C+F@2-UP453H<5>^)[F?R5M;_MJOBZ+/*HPWQ(69CQC4C(8.JX"*:Q'X9N M'-"(*IW@*_8_-S[:BE_?>.G+#=IDHKJ5E%4'1HZA+,)MF:^,(*U1&%X++V,E MX=5ZG[@8O!8TQV7@]9I1K_0FZLN_\/T;7OXGKLAFB5?MB6](44*RS(%!ZG.K MBD4^C),T@ Y*_1"[* LCJ72Q0YW,C;@ZZ>2+A9V%;YAY3(%BVQS:B@@Z&<>/ MRN4QDJ^;9@*KB,5^QQ6C_6.]-H"-?W>7B1.HQT+$(0G9RCH:J:H+ MY"R(3Y!+,8$D]CA?.JX+8X8HS'#HL,"-$(D#)1O0AI1S(]Q.26&^=&J"5D]0 M*PI3H>G>.>LVIE"T%J/ MKBQD/PC^JCN":T)%6_>1T.FJ/5H?'5)U4]8FY*8,7BLR3FL6VX3YR'BVVIFN M%Y,)SWW[ >?6?'UHTMPIO=FL5OSCOPABCP212V!"0N''C%/^7>SRM<0)TYBY M)%6K=2G1Y]S6@U;D+BRAN6/SZM&;U^Y3;U M(_NZ$<;T75;38M6+LQ*7U@GO_$.^W(C'.V\:"B.*F(.AFXC35U&'-PX"!./( M3W$0I(X;2B5#,B#+W(BK4P?@1A]0U8J C;!FUB4@?,'A\H."K;O24K\LRZKZ M%>#U>I6GFR;76_/D,[=KZX.;IW+)1[;Z-_F]]J5#/.ZVF'#@++/C=LQ:54"C MB]A2--J GCI7=8804E-HJY*R%]O$ ,G[3"8SCJO5#V"6>U@R3XUO7OT1%G8_EZD.Y2=?99MDE[N5;69:_UMZGF(9) MEJ ,NEE((?(P@S%R4NBGE*:9@P.B%MHNU^W<3+2MU'5]3](D8A0VF&J!3TG4 MY3:4YK&T3"+;Y-T[Z1J'[ [;-LFEJ"9O,.Y."2A387ARG4X;E:<$Q%&0GMK; MNO$S?//RJ:HVC'[8B#1HC3>M6<1/>^$6B%*",4M@%N,,HMA#,$T#!X8H;'"R6H1# MZO3K$ X^I^XF^+)>+47II>HNZ^HP==5Y)3,"G&]A;G/T"^:]Y'A95_"J[Q.< M)I_8PT7]CZ MJ:3*\_W,ZW.;['OY:1I9U6N.'D(T/J\-H&/;XW$,C(4I/(+#15E[#MNXY]^@%90V;XN,W]0ZZ,>FO>X>N#^7.P&\W>7W'^ ([!*>8<,/<]RA$ M*<80.XX+/9:Z<13XF1LK7>ZY7*2Y,<=]N>9BB66/BM,82>( M01>O.\3*#IZS\: ?!D@4@S+6O87UUN086T:_UWYL:7NTR4AXDHKY3S MKNUA(V%M:<)BV\0ZBXC1I&JGM-DZXJ8]Y@;'W9"=I?L;D5@)9=3 M_LCF-)#C9S87PV-Y4BLCHW1L,ZB]UKG-Z18G.[@95*A_J]\ 5Z#-&B*__9""='Q; M8AI-ZZNX)) 6_,0J4&GM;:0ZF&S/HZ)N?R^D])XZE=PSMOIC56Y>ZJ"15?6Q M4&:0@2;F1AQ"5%#+"EIAK\#'LEP7I>SR/X;9.$48@LLR,PPA98$,)$#1XH"A M=B>;^A+*]6>\S./J$[TY1;ZFS2%&;;!*SN_C-^H>U;K<=2'N.I/#;M'!01B* ML'.8.AF%B(G-O)<0B$@41-C+X@ IW8LQ*MWH!VK]Q$^-CO7Q;D]+ MW;0[)@96SD_X;L-EFLQQ.7HUR".E@FU ME134HEYMR?/M"NS$-<>+DK@88KJQWB;E+DG5#]E(]C7=FSHWO)$57GXJ*/OY MO]G;(B&)G\1N"'TG]2!R&8.<82(8121 ?IBDV)&*"#S;P]PXI+V5TDH):C$! MEU/UMLXAD.-'/Q?#8YD:E)'1N+%S1OL+KNPFA-GV5F[L O+Q$( ?C3I2FS:SPR*?FVJJ MX9DH,=6NFK/8<^,FG8+81;\T0R&28M21[V!3B 0\52^S\4L[K+B?C.>O?/T$ M7GICR[FU*:Y4_2:.%I<;*NZGIYLUX+OTHEQS8_XY7]>YYJ[ C1?2CP_0*K$K";W<3ML\H.^][!FOU:L&D<'L0A*=3IY=2!Z(4]F%%-Y6 M/X[EN_IOFR5SG31PQ>W>U7.QIA^7^%'V5/9L W/C$^&W$Y("(2IT]\XFQ0WG MO,!#*2T5D!L_O#4"FF7.D,,+_!!B&XJ^&(5%ZUCW?*N3G>Z.*M8_Y!U_6-NO MSRW:S_DKHY^X!5\\YNFR/67X8U56U<)UPL#EJD'/3T3%%3^$*8HS2'U/9*D. MW8 IY:N5^5 MKWDE=C+"C?%+VDA95\C]M^+8#("8S?U8,JR+$Y(%$>9DC]$HL^Y<48G*7@4 MHJH2PSC$LB1A%#CKA-%*>P6V\-4"7]472NI"=XW0)NE#&B%C5#+>X\2T(@W! M,<7(OWIY;-,W41CA+ONS:DR=A4^P%P6)!Z-$E L+F0/3D")(",4)\1%*?:E8 M=8F^9D@OO3BFE1 6EAG<5$RK/-@0RM(;'!/8V=_;]..8OG6X<5&;_4V7T/B: MD,WS9ED[3*Z?R]4Z_V?MO[,3Y'0&, L!3H<]O5MPTQF5AP*;SKVB1RQ=9<1O MK![E7LQF5P\O#ED89$' ^80DHM@7@SA+?.A2'_EN1"*$D J]C/8X-Y*YQV^\ MKV5]@LI:X>&JD;X^-54CF7'$Y:C&*(Z6">?V$+:>M!9J#TI#8XA:QON;E&"D MU3^D&?D7-:V8+D9\%R=1[:)&?#^F7H9BZ/HAWRY%(M,B90BB./-(2*,DI MX6NW2J"8LF$&^YK6BI%1^\B.D7I)CURZ"G%W+VR%1=#5=_;8)FY-,QP[*(5> MZ+@0,3^"J9]$,*+(#S!U449B%6(YV]/<2&57%K'L1 55*ZL:>YP'5XXYC$!F M^^!XB]962O!]#"UENAA%PA!5G.]G4IH85?>0(L9?T+V[_ZF@=6T0I6O[[4NS MF]G2)5*.]1^>L1>I;GF&GKB>?R6N6N2O.=UPX\A,B92S"%QP.;]K:>)[^0<* M'%_)/WQ ;^GEJSE^?%RQQ]HY))R>=9;'@\O8 \L'H\YKF"$O7WT6>B=IU>?V*\Z5@F(_E2N0!OBG% ME:Q-N:G^+%8,+_-_,BHJ%-^757VQRO6^\">>JKO5YY(;F:O>&9AX;)$FQ"-Q MZD/?\;D9X_D13#B#0,+2T(WBP,4N712"XQA]4+!F; HM-=F29K(=B6YOXKD> M>*[%YL/+OUNQ?VO"*L%.R;IXM&I(F=T/@*15]>[C.9$UQO4$.T6OP%95F)4K M*)2] CMU#X<6=!I? ?YI^++]-#1J7^V=0)NM(S[) )DR!*W*.JT!.07L1X;G M))UJGL#_]T8L>ZDH2DK6"S>EH1?&#HR\6.R275%9 _'EQ0L"EB$_R4*I\K^G MFY^;<=I(QZVN5CY%V_0 .SEFUD?$,I7*@Z%^(GY29U/'W_N-3WO6?5*QHX/M MTT]=FGORD$AV%",LVT]K]EPM L3WF\AW89#X#"(G\OA\]A&?V5D):@!]">E"+K\@&:@,C1Q;6X'Y_LTP.Z0O2.2H@9CQ=HTS? M[Y2.40&6\^D651K1H[G6.?>1:R(,)$&;:ET^L]7M3Y%\)"\>110B M_S]]P#\7#D8ASH@'4]=+(*)^ !/J(,@)D%(:ATX61"IDIR'#W"BO\TV+3X3( MWE(KT>1U(:T::BRG,RYR7&<9;SS)'?!1 : MHD ="28EP@L@.J3#2YHR437HIOS.EHSP?6";X-9 ]:#S;W'BAED6^DK744]U M,C>.$C)"(2004EX!(:?>*>@I1"5/0"_$R?;IIX#H00TB]6/0 0Q,'8&>ZF+: MX\\!)8^./H>>5<]/??W,"BKBX>I$3H[GQ0[+7.AF<0A1F,4P"2B%$4WY!BWU M:9Q2V;S4>RW/;7IOA0-".ODLU/MP#4_CBT"P/''04P1GXZ8I2&./>JD M2C(\39X*0 MAN X$X3\JWJ$\Z4LV-L7O/H'6W_<%+2M:KYPW83&*(J@G[&VP@T.4 ;=*/.8 M'U"^YBLE@3C=S=QHI982/-=B@DS(J<8K9\"4HY++(;+,'@TZC82@%A'\:(0T MR!?#*!BBB#.=3,H*PXH>$L'(TWIS_P973]<%%5_$B?8K7HJ+4?56-&"1$^"4 M0B](^.8>I2&,78=;&X@E:^SPT:L\W$EIR@&81"3TFZ_]#D="2L)N-A);MU*AY MN[YI,Y?7F4,6L1^$CA?%D#@A@2A!$;=T_13RC:Z+ C\+LE#I&K%4K[,U>HGX MANWD-F+M'B!^D>&KC^-[V5DSR+LIHX5SRJGQ ?\4<45/Y5)$$PFN/%G59N$Z$@-W^)$3)B[N"_1?#JVV:N(6;1!%*F0MCC .1"9)S MJ^_[,(E2A) 7L(0JN34O$V=N5N"'#1,U/)?;[6)9,/#&)5:L,7C9&,F1Z'3( MSV&;O\M >05:W=[XDUU5O-KN_,ZGW9)M_PP^\+]< :$VX.H;+&EH!'E3I0XO M$V;:$HA&@#LJC6BF5[63VQE[J;*R>9F-\^';T_4.IBXF7(:VV$JL 2K M;6900'222RB#@!FZ?W*ZCW>\>C*H]/"MD^%7-9-OLW539TT< VPMG(>2]_Y< M%G5)=+'1Y!.>;S!SLLW8$874R<(LA7[B^.)."H%QQ#+H!QD*7812["OE_->4 M8VZL]77S++(?EZM_4TS3K3D,8-K$O0* +Z MFER!6A;O) >MZ&!7H*8]L>W)?05:CCY.Y&B\"I.]XO*PAS>/- M$UG ZHNXU\6VFNG;09$<%*,P2T,$ T_D+'1=%^*$[\%=ZK&(B9KJJ:-T^JDN MP]RX\/OF^1FOWL04W";2:^^?B\"%7EU8Q>-2C>&1/$VU"[KU(Y73V0KWP>_] MO%7IJAX0/L=8_EI[,6V60+H 9%,'NAH23'O>JP_1T7'P!4UI9GS=KRQ_EZYQ M7C#ZJ;C]29Y$N"BG]'XE^JT4"];&I+4BL,S@IF( -Q1:MMJ(T#W6ZE/'W&:-1F I5.*/=1&WBBRK/XQR M7#O)X%AFW.VX<"T:=@5WO6&Y[0]+JPNHE=E1K\&DL9<":BIUK+8IJSMW,S;(UH_B5GJI2ET R+J@O@>Q%X2048=ZF44,1^I^^U-$D+&O9;&M2\_[7B1>%+/ 2R$C MG-A0Z@4P<9 'HS!UPY@;E5&H5*%3IM,94ELM,[="FC 5UHC]ZQ4HV%J9PL9! MEZ8NHU#:IZP&Q2[8YW:+8E_HFLB,$I4T2.8(:KS+J8E)&H03A"3_KAX1W75- MM:U7VS4\9 A1)V$P3$72W#3$, E=%[J.S_BV-LJ<4"II[FA/KP/*9RY&($*.-_/I&0QJNXA0XR_8*78T>3;= W50WE-_GN3K]C]2MA"Z[=[_J$2 M!P$B_\F+>&1!B(?][0$Q;K=9F!EU;X^M2,=9*K<9C"F,BQF&&(I^&Q3FAQ;:(5&W1R7X%:\N9L M\G84964F4P?,$)Q>NAYS'0O MZHL$)+WZ>5V?_EN? RBM M@-![+' "V 0>"XW-_@6*/$C!^((N6GBNM2-E'RU M@[W-;:+OA*WO/<.\ *V\BHEW!B&6LQZ, 6=Y]I_'S$)1 BE03&6T&>QKVH0U M,FH?Y:.1>DF30^ISI47L)G$6( RS*(P@0LB!<1P2&'A1EB ?NU&J=%.F:5:) M%2:X /,@^FB#?!1YH(%)=CGN*',V[_;^J MF]/7?^$5K6Z69<4>RB_%2RZN)'XJZ%<^5K)F]5 ;O]Y]Z-X:K*\!ESU]SNN$4-0BDDK4M@Y*6U3W8 M\&36MXQZ?2M@A[).,A1'& MOFQQS[V6YS;?:^' "WYDO\E7]MS':GB>7X2 ]-9;;5J>^ZW-%EM MSY,*]&M[GGY ]S;1\S-;D5Q8QB]L];44@0G+#66T]O6?S$+>[MU2-T"!ZS#H M11Z!*/1CF/#],20X020,4C>A:D4*M$69WZSN-.%3FZNB>H-(>TCDK.MI@+;O M:>LPKK4044]U+%2M2'O:>+X$F/'M^.6@&KL_I"W(Q->(+@7L^#;1Q2WJNA'_ MOJG6W>'":5]#?=,]/7Q%6FF[):@YY.)CVNTP!OS&EK6=R) M_;[3@'_L.IZH7[6EAXCCQ-7;XL_O"^)[7H#"" 8>YG8X3C.89GX $=^N9XGC MQ5XH=3%UU^3?^]_7>"T;C=?#9YA5];2VS'M_?OWTLXL!]N'VX8IOUA1RZ]IB:9_L>B=Q/TQ%_TK+=MW8'V6+F>Z]]$Q8)5 M7CRV.ROBIP[)?,2-+^)#1/D_F/D$>@'#E 4I"CRE1'0RG6D!H(*"(>+O-*[FI=R1$;R7E:9KUPK MWKP(H:0X\0.6I#!R4B(()A6[.Q<&.(I]YKB(!E+>[O&NYL8H32+]HBQ@*R!8 MZN;=&E+6E_U:.0U>T1G%PM0=G?,=37M)9U3AHULZXV^H M'W?S1KZRLO/F2IYO[[TTMQG.A8-?;^\D)_,Q!N.GV-KJ6YZJG>8&U_NSZFJ= M/^^W--F!\TD%^B?,IQ\P=!5V$1+&UU2^SJ9$E-9FK@CJS"A$61K0+,APYA.5 M.*VC'I1FX&0A6]OKQ=L+L!?>?]6]]SJC&7I\W]7B)5?3"^=1^^][J?7L,GGV M0;4)S5]>-+F#R^SW3947K*JNR3I_K1??1>IZ 8E"%T8()Q#YH0]3_B^D'K>? M_0 Y'I:JL3/P6UVVR[+25%>"ML'+S>P37X4EN#BW;:_$6J$Y,<&T6*%J2 MC=@U-C6W[0.VU]_<@)-F2SD\&LKDS]8TZ(2^4U/AR,N3\*&< ATI2CZM&#P^UOK%JO4&2T$S%CII6_+D9:5]O'\"GKS??;J^_ MWX)?/MPVW_W*?P=NKK__![C^^J'YYO;__/GI/Z\_WWY].'\N,(>/AYQU.-]! MM[P@"56NCL*2A)>X4Q8TCS2IC_=^N?]&@\+N"/R7#HA?K\ 6BUVR3X$&:. P M&/OT+L-H*EYJ6N&GC;%ZEX$YBLMZ'RFTJWP*">Y7Y6M.&?W][<]*I$EMJGZ^/GN M;]_!QV]W7\#'3U^OO]Y\^OH'N+YY^/2?GQX^W7Y7+_NI.BYR:Y!=M&UO;-BZ M61,Z\4'Z!GX1&H"\^!5LE>A9[;;*?&J":*["IZH 4Q?WU 3H1%U/W9:T#B3N M6?F5E*9U+[$$A=3*AB\($9Q,M .:/)T[IK'M ML=?6E$<4IY0X.*0X^8B>T2'LG?6;"!XL"V[T?"B?<5XL<$RCT/,32)@H?LD2 M I,PB2%"+@T=W_$#!ZG8%2=[F=O<;(0$6RG!CT9.Q=3FIQ&5LP@NQLGR[%6' M2'D]'X3 T))]NH])5^5!-0\7WN&'-6,/3Y5!B!M2BCD*',.QK),>C?'TK!1]<_\THZ&T;_I;G-^MUE M"Y'@H7^90M);< S+N)FNC8CEF7P>#+Z%YZ(:LMA/JJ^7T&*OI>DR6)Q28"]E MQ+E^N]L5+;O]N68%K9.\/M]EUX\K5H<.+WP_9!EV?;Y4QPRB M*')@[*XD(W"'R*64!B)U$KVC3:Y]S(7$@JDF^]-+*J%FD:QUAN$V88.

    4XHW12FZS0) V1L0)-XSU.7)])&H+C\DSRKVH=I_S!>VEO MF7U@%5GE+X+<=E5!Y$]81EJ:&X.(,X<_KJ_OMRFQ>T(KG<*,(2AU,&,0O G. M:L[A9KB,BAHVNFK!R8_L6WH6R=^8J-7+Z/4K6^%'U@2,WF5U MDHGJ;K.NUK@0H2^_XRHG"Y&)/$(D@S1PQ2&1QZV4.!79'QS*B!,FV*$+WE): MREHG2OVK3)2^%/;F2RT6^(6OM54M\:]JMHH:^G)6BS5$+5-/)S=H!0>[ K;2@ M$5<^$>P@NL/49!(SRRRD"Y=2UE@9++22R XV/%E.61GU^BEFI9Z_\$IN4P'W M1$'THD,,&-CZYJ\Y++ M]FM3*K&]HUL6NG=S>XC*&287XF1YXN_NYW9@"0'/VW/ZEW2/U3=]3;?7P_M< MU#U6\>Q5W1./ZB:7KFJ_25U'<+J4+J72/3^WV7:/W\!K)>["9>7JN8Y_VA4& MD7\ M8'?9S8K1?/T1DSK2Z\]B(U+#8CYN30#I-60O"CGI2UD(JW94X *4=EE\%C MF:,4D5&FG?/*&^*3$QU,2A3G%3QD@($G+TB7*V)V5^R)%57^RG9>B3H:XP'_ M/)T:8'O].Z8T2E*$81($]7DHIX(@%7P09Y%#PBP,E.I372[2W*BCR29+^BJ! MO.^7O )%$Z:TQC\5[^L;&$!)'^:DPV+;Y5F/R)XV^\[/;> 8U\K*37YS<)I, M$7R90-.G$C8"X,F4PV9:5G<5?>1XE 43Y4M>V>KMPX8]E!_RZK\W>)EG.:G/ M+6H)?F<%R_)U=?V\EG4KZ;0]-RYM=0"=$H!NZBJUAWIT<[=3Y0I M*JV1&/=HV1X$R\QI#7\EQ]@E(&HYT;0ZG,SA=@D?<1>T8JCJNY"@_W\+< M>$NVNO:%5IF@+/,-;*8F76ZCT-CK@SYQ([Y<=5&2Y";<-[?;*HUMZ=6 MW]BRB<-XRE^Z0@0AHW$6,@?Z).:[R0CQC62<(!@3%B68)0EVU:H=G^]K;A31 MB0I6?5D5C[0'H)4\X#8#F.WC[@ZK/3%MU!L>A\/48?A 3],>C8^K?'10+O&* MKN^Y)/]X*I?\C:K)#+/-27DOHN7*XGJ]7N7I9BV(Z:$4]6'*8LWU7=8A-GSB MLFJ]]76@E&88(P)QDC@093B#.'()C#/D.CYV4.RX:GYKD^+-C9'ZVOWKO\2> M&_T[8+66BEXJPZ,HZS1_K[&Q3'Z-,OV\PZT^H*^0L)3V50*=3E8\6G;@-N;B M-RKLO>-W^=/TL M1/NG* C G^B^$5 M:%5]LT+61E V54#](EFFK8YN K:CTN=&&E7/L_3G;]]_NWYD!7F[+N@?PN-7 MB*/E[R_03NADU*$$NF'F,3C5@50=3J :JN$?,8@Y5$9IE7;6%MFT1KF1G; A0<[Z<%6 M_![+CCL +L=;/E&33=PGRM?$&8AW(IRL5Z HU^*+^+27]?DY%4O<[C,.\JK: M-*GQ__S>GQ#U-*G70+[R ?83/[^(Q8^;DJ)-L,R?5U>]BKZNJ)'ESO/3+'U^_7'.J W_D19$SOEJR7W]K=T1!N M=MX*F_5EE5?\^5_^^'XK3OV/!,RK(QD_,LZO7*[_$.$"GTM<["2\*56S\W-W&WYU__^]63VPQ=4'G*=%GLX__MM??O_P,[B__/=__V__[5__+X#__=.[US^\6*33$YRO M?WB^Q+#&_,,?T_6G']:?\(>_+99_GWX)/[R=A759+$\ _GWS9\\7G\^6TX^? MUC\()N3EVRY_N_P770I+S!9P06A0* M$Y3-(PV-RANGBTO_S\5]X9B:Y$B$Q MY4#5/_",WA982LYFC%J;S8?.IO.__TO]$L,*?R#VYJO-C__VET_K]>=_^?'' M/_[XXZ]?XW+VU\7RXX^",?GCY;O__X?N1GW%^>A*783I/?TV+ MDQ_K>WY\OB!,$+6;OUZ??<9_^\MJ>O)YAI>O?5IB^;>_T-]"U2HSDM5'_M_G M?_?C]9,_+W%%<-EP^II>N/CS^I"]J,"O:YQG/&?N\B&S1;KUIED5[>+J+V/BRX_TP3]62=1O-B+9B./>X\Y%LQ_=ETOO [UWHKWE7LH$CJ$" M)8N!Z(, 9$DQ;;5,3A]$]LVGW:;ZIDJ?+=,/BV7&)=F.R\>%9;JGWMNHO7C' MCY_#DCX(TJ?I+%_^=5DN3EKH:KUH(+ESM1"Y?_F!N"ZX7&)^?:Z51YG;<+8F MBXJ;=[;0^/\\#4OZQ-G9._R\6*XGWBJ6!0KP+@=0RG (04@HGA47+;,VE";* MO_/@K7 @^L?!(?+L!!)O<3E=Y)?S_()VX8DFBUB\%Z"=2J $[:&.24NB"'.D[>"A.H?$@=)=&14O)ROI^NSGZO8@D M#%YHQQ,D%B6(%4V[G^!,B"P/0L/=)VZ% MTO"@Z28!?:?X4\,A#."E N&_!6,W#:9J5EU,R:=K"X?O!6H'#?"2CVE&=/ MD'A/PL%DMRB#<*V'#S?'$Z7R_/GB\R3E(1Q89$",_(006>(083 MP>J((4LGF3OL7&(+(K8[JV*] Z:=H+O S8?P]54F\4W+]/S4^\*Q)NW2WJ@L MB)R(D801@A4(Q2KN1#(VRQ:>R"./WPXK'1]LMA-N%RBYL))O%ZMUF/U_T\_G M6%#82Z\C@J"[5LR6& M#=TA!&V\*R"+T:"TH83R7S(NB3P:,A:Z7H (W* K'+@A?GLW&$'6'>?N)WZ.S[# M/$B$(ZO_PS+4!)3W9R=Q,9MHKPL+P8-$2T$2$O,N,P726&-%(A>''78L<>MQ MVRF^XV/+_877R:)_^35]"O./N#EO]9994=-^,@I"+04]) 7K*$S6/EB+G,Q6 MDX5_\ZG;8:#C8\J#1=E%./#\=%G%=7X#5R%-.CA=37(B[U2R B)J1.*9?\$58APNV)I;[R'T@ M6V<+6;V4".HA9]",&&,N:YU< X@\_/3M(-+]D64#T78!D7J-NWP>UOAQL3R; M"!=T5!B "1=!\#@_4F8S7XZ M74WGN%I-'.%4(V<@F21+%RQ9.A\#<)U-TL$@8HN#QUL/W0X'W1\W[B_(+G#P M\@27'VG+^V6Y^&/]Z?GBY'.8GTV<5*9D1<3'4NI-C(. )A*FO55!.!0H&N#A MP8=OAXONCQD/%VP7^'C_"6>S2^JS45AJLG!.B7QFIB.X&DAIK0U31=ADFYB) M&\_<#@T=GSD>*,8N0$"$G]1[MT7Z^_M/)+?5F]-U+>&HD?5$15&JHPRQ>$,Q M=90$Z3C<7S7/^/7_Q;,)A5+! MHXS F+7UBL54U"NP2DAO0W3R6D.'X.3V8[>#1L?I*H79 M?V!87J:6(SKGK?? 9"!$'8I6TU;Y(&U1H\\>3M,='RHV42DG63K M7S/Q,[VRFA0K@O"" 4_&@Q(ZU+2. "(+2[](K)3##BL>>?!VH.CXE+.%0+O" MQ'DARCD32&Y1BBX A5$D%!-H]U/UNH9%8H!B;\8."T@>??1VN.CXB+.-4$=& MQC/B(&^XF(6/$RN\1FD3)$X"4!PY[7ZI@ DN9*ZBTN&P%,Q;C]L. 1V?8.XO MO&9:_]7'7%=!\+AYXO,IRM5Y>O7*^V7>C:UX!(R6,E"Q@B2,W*6I/(0DT@@M-&9)5HF^BE/8Q\N;U,P3B'Y8$BX-#D- MQ#WB;G.;^@M/^XH)HSUCV5E@F=4B!IDA&.. *VVR2IIQ8P?!S!U"QH7.(9I] M$"2'B+D#K#P/JT_/YKG^\_(_3Z=?PHR863U;/P_+Y=ET_O%_A=DI3KQF2AJ5 MJR,>R!%/!H(@ESSKH',.Y(?C4P<@^V!G*\)ZP-)! %@,K8T.(/;L2YC2RS/\ M>;%\3QQ=Y+1,84):5<3I;[B^Y(8)FPSY!V 4DN2B MYA"S-D!;@PD>=;#EJ32DO?#V!#WC-.,8$%RM9-^!*7LU_T)4+Y9GQ,+$H#?9 M.TT>)4=0EFCWKCBP%,OFK)GWL35N;CY_G X=P^%D;]EV@(NW2_P.R6(38F.X;$'6.!T^AD-1 M:TUT *[;Q)N0?"@E02#["$I1;.M2]N M2T:JFH?QU-73P6'<.,U !MR>]I;N M_M!8K,.LD=U9?,;E^NSM+) XYKD _KP4BUH5$FB[7_57#9@0H"P/FOI*@'ESC)A!J)_8.,'1^!(L/LI(2 M!BD2 RS.$RM(6ZT+M>-OSDEDZP)K?7#T!#D]N,Q-\--*Y!V@YQ5I8/YQ2F'A MN7S(B+[\FF:G-7/LE\4B_S&=S2:T^29?0@1A),E*46#@BM? 1,F119T-?RI1 M;[]0Z]MT]> \-\%3.#,C;5SQ)#%D]52FR M#WAV LC SG(3@.PES Y \.+BL;4+SPE^"%^O\#T)GG$*#0IDX[ VA26?+4@. MCB*&HH1/R%O?ASU.S3CM] 8 2B.!=P"=&P<'ORWFZ2) S"(:FVNQ+2-+J$26 M])TWP H&Y47 9%K?O#](R#BM]H9PA0\6C:P/KL23?8NF8 98N06%->&OBNVGC;E2'902=G:>FQ+V[C',X-G] RBH@XL MSPV^[IZ*>B=C""F!+%C/,@,#)Q7%A<[2_S)SQCS5;^U L'65]3.,]A^'V"&J MZ !4EU>V;\-9O:^]NO9'C+E.)G*EMI(@;Y^L,AEVK:717&;:G%L#ZF%*N@'3 M07I^Y)[\ *'W 9WE*3WUGHPFC-S^9(@'S,%71A)$[Q0D+QTK4F : CT/$S/N M9C<<@!J(O@,,W3X=O^3GLM7-)!>A1/4JR1@SXH;,<[3 M%(U[+3$0FAHJH0-(W3PPO\=+<3)I$S5@J'ZER:46ISC@)KH8&0\ZM;Y2?XJ> M<6\I!H)3,P5T *8'+"Q:"D20C"LZ13&OB H\8XXV;95#*(F5YED9>^YJ@UU' M# 2< X7=P>G (Y;TQFD7)LV=J%()B2QJ=+4?O$E0(A85 ].9MW:-ODE4-R[2 M< %;6\5T8)@>-+(WV5'<)FDB^8&V@ I&0J@2,Z#8>R MEDKI &.;\_H;@KO!"9EX&=!D6AZ6S'QAD03$(WB#08C,4BY/#:_<^V[D06JZ M\:(&M%]M5-$!J&XP,5'2.5?(66"N#F;+I9Q?'_# 1#:Z<.)C.%>J&Q_J*.>4 M.PF[ U>JMIF:KD\V17'S6GY>=V^8*<<3,_CH*C5LKHP/[585D!2S6K@VL%4;A49Q>A M9<@B^N8W0 ^3,G:R0S=0:Z&J'A"7TNG)Z:SV(=H$1;5=[1(_X7PU_8+GJ8BO M%ZN:A?BF? A?)T)&(YU.H%5M'Y:L@5 $AXB%91^0Y2>;AN]Y%[D+B>,>C/2$ MT %5VP%RW^$Z3.>87X;EG$2WNL'N"RS3-%U/HBLQ*LU "$5K,3--UM])8-(J M%@3+HGG^^K>I&O=XI2-\-E9@!Y"\+]P)S])DXP*4+!THB1(\>@7.152E3B., MK6O7[U,Q;LKS2$')3J+OX(3F6V*:V,*<8N3+)K1US(0GTYRDJ0-M@]4\E.Q; MUY1^BZ9QLZ>/?>9WN%J:P6R,UIIO-TKYA.MIHCC@%D>-^FS>?L+QFFX^P=E1 M.W!:'8)1"0QGY(!)3U$#(]1:E7-$IH1\QM7G;CK*Q3U<:(^=>F-!>/=]; M!^$K&:\6Y2*U@7[;RL0]\NF#FK=M.&IDVLXCR:L'7F^Z6C&;A0?AZL ;K@QX M>YX!XBF@U)F"A<;K^1%2#H\TOY#@<34)OJ#%7,"6&NVPG,!)YVH7;2$"BS+& MW)BERV>/:X1:Z/A^^+>'5#L(\IXO5F2++ZB?)"1S*'D$YGD!Y9(%KV*I [Z\ M*EPF5UI#XA8!XY['#H&+_>7; 3A^62Y6J[?+19FN)T)P7914(#G%&BHQ#U'; M6LU9>3*(,K4V@#<>/^XQZ!# V%>V'<3V5_F2%]WUKDM^%2IK@A;57ZNS 3,' M[V.&XK-EUBB5;>O;PT>)&?=D<@C(M)%[!W;E'>F""*@MKE^099PM-FW3+KBB MU8#D]Q?RS7E(M(,J4I1&1)>Y=,VS M<;:B;%RO9QB #:"3#I!V3U83H72B_^-DSVUE@-6!V9H!2AF#3HH)W1I4]X@8 MUSD:!C^'2;HG)^GZ;GKBC% 1#0*SPI"?IURMOY6@FN--:.U#/T#&N*G- M@SI&>\JZ [A9EJKVKHW@7*ZBQE)41A'E,*?M@[ S M;L+*,/:Q#]UWL7%?L'BQC'^BB*>>Z24=E"D!@9?:(-5II-TA13".@FJ>6$Z^ M_5[]("GCIK4,![_#9-Z!!24GXH;#FB7S]68;_*8$SY#KZDNBW8 9QVW24OC6 MO:UO$;#=,1?[GG"ROX [,"R7B:1OP6A4@T5A( M67.%R1B?6CZ;>1L?? ,[N N\0-2^FL],UYDDH6#QFDD3)Y)1E M)\%IZT&J:!(KWHKF)U>/D#+N8?E1D+./T#O SM^P3B#!_.P+!0$?\;?3DXC+ M-V7#TNK-Z7JU#O-:F7'!WHOI*LT6JU.*$FHT<-TV6@;%ZBS;'+!VE"/7WZDB M@/GH0[&%Q=2ZQJ -Y=O9M.\J>V4$E78Q)W9;OL]MO!&9(E-;)^#6?%517"V2 MU."$T)XYGU"U[CBQ$X'C;K9C8&A/&.^NSI[1>B'0>UQ.,K(2M#60DJY7(TBB M9#& RS9:FX)PN?6=Y8XDCKO)]XO8)BK]GO/9;U7]UJC^?-<;(KG]L4<=+=-] M*U[;5_2=>A?5UI:Q*/ =R=SG63JV>(AI7)[_G2##W@07$UG'DCB2V M/9PSB5NA9 &>/:WE$")$XQ6Y]^1<<4ZLN]9.Z1Z'FND M'4[UV'U4C@?/(VNXEK:=[K>!!.1DX//C(>=U@.1P)' MQTOD]SE)>C;]+\S_8S';S% E%["*YLW\/:;3Y7D=_G*ZJL$$_3C_>*ZJ*SGX MR*/4BACG)I(<-,F!TY<4;'*"6T31/&%P(%Y&3G+N<43Y(S=!.YX[G4KG?3=FN;!XY[[S7@N6ZSM=;BU MXS,:GFH=PEW[XZPG&BEYJPDZ,H(HN1[TVP"N)$/0LDH5QCV6 0^QMAW!>@#W M'S:]3@1G)N02P)M$/H+/#+S/FKR%PC(7"B-KG5AVFX)N#J\:8>%^M[:]Y=V! M3W9%_;E$J@5>S#?-W+].5Q/ET>6H21J*++IRJF[GVD$I$C$:%4KS@\\G">H$ M2WMH^C'0'"SV#C!TAX<7BQ/:%2;.DKMIC(?,':TI;0LXF3D$>MEEP8,+K;N) M/$A()Y@Y7-%W\X8.EGH'T+G1Y/Q7K+><$YM2K=ECP'R=68.!5I6L75AI26GI M,T9L?3U]CXB1\Q,/5^SCK>3WD'(760Z/M"B_8"=FKW2@* -3#0Y,=,2.EB"R MLY'6&/G&1^HIOP. ADM3; Z@=M+OP.9LT4O\@C$?!5-9DLAL%5GR IQ1'E@* MT;!4#)>M<^VW)F[<4X$!(#:(5CJ V]W6X!=HN?(;7Q,OF\RRB57%14?.(E-(SJ*1'+R+ M 53)02*G>#6TG@!PGXI.[OH;1F#[";@#B-P]ZG\UOW_"\6XQF_V\6/X1EGFB MC26P"PLET5)2R@D(,B40TED7BF$RMC[PVI'$3D*U/1%QOTQU,/5T@+[[6:C% M>A:]RA!=44"VU@'9\0BV<,.M)OI#:V]IO]3A(2L2AU/Y7?MUD/SW!M#GS2TC M+97E>J@Q(UXJ8IXE2+)VY^;.0/2,U8U;Y6QHW37WC/:+KX/=A1>T MD%HG&^Q!YNCM;X^+Q0%UV,.^^3"+FQ&/CW"H=4A,?J]E&2@%*0 CPMHA;-PZ(]Z!R]<>.1 M(_ !M;@[4OTY4N?XL=ZC?&@XR_NR2&/U#C=W-!\6VW+,@RM<9H3DBJM'LPC! M:>*80DF=LC1;TCM,BX_SS:=L]J=)RC7'66B(N@[X"9QV(&,B1$;?>U58SJT#M:%Y M&KU]Y!CK87QT=."D;%7T$0O)6' $]%&"LA3B.D6,2>N%SRQ8;ULWOVE6K3-H M-\NCP;:YFKI(][K=!X#;P&M-*"2KZLQC^A*]3I $%F6Y4IZU+H3*^.MS:W3D/>\E?QSW"8=I( # M+Y->SO-0EY(IT7XMM0>'(8,R6=9V3A&0\>B1QYQ5:Q.TYZ4D__/U7>1>I\2P%HY&6Z>N>O#* MU N8Y"+*K'UNW8K_*7H.M4WG0T,WNW,IJF1F Z3">!T<*FMVD@$9:G-8IK3& MU@F!UT_O)%?K4(W?M3M[BK>#>(T\MRH*8N#+E);43V>_TWI\-;^:CO4LK:=? MSEM*7 H*@V(Q*@DE!@,*?8 H6 %7:COC@M&%UDMC=RH[R3AM#;2!U=4!(&\< MJ-1A+\3L)JGRPZ*>C,S3=(:W@HT/BUWE44I((K0F'S\Q&U\@'2P8%X@/3E--^JF[V=XT2WKV< M2;2UCTMMCE6);!R+;T#4N&ZN A\0UF7@>A7+3JRVZ)30(#"3MV&< J\#N1R,2Y$(8@H' MN;;=AKAQ4W.[!NPP"NX N?=O%JZXO,B\N&[5E9)DPD0HJLK/N @N6@L1O9&< MH^"R=3^S[:D;-T^W:^P.I.(NP?LLI<7I)J\NX?3+IE2=QV(9IP591QC7FW0- MH;:XMBFRE$O-#&I]#;T-7;W5R[;!Q#>A=Z""^DEIO,_:I9=-ZW:BE2\)G:WW MI+0+H!/@2V#@K)8"@W>>#0^Z&P3U5E1[)+3MJY*>8?9VB9_#-%^ZT!>CN,E] MWO@HSU8K)/_9RA)")N'5ZG-0@B<@*7+(JM1%Q8,4K3L"[$=I;Q6V1P)F0L2]]\&/(WB>JMB/;(V_$^ MJNG5 5R>$AW3$*>S-T!1E@93 @9;C%'-VUGO2&*7>6K- M$',W)WA ]?43,9,T$V)>_4SBKDR]*=]@4YA@1>8&C*JM#+(3$(O.X(45J 4+ MJGF?OEUI[')#'PRF0RJP!RMZ@[]?P_J"D\T9UOGZK)/)PFRV>HKQ"1-<2:,- MR.(S*&YII]+T);!Z^FJC2TP.B-J]"1]W\Q\1RL=1=0_XOKO-D!3(&5^?U19' M:^*XUL%]WESO.V9082)/2]4#,A8B>!T:+],<]^CPR M- =26K\'4#]/YV&>'A:D-QB"T0@IBUHK'S0XC RD1)F%E4&RUIG#NU,Y[LY^ M[ .H5NKJP;6\&1K6S@IO/E>MK5Y^Q66:$K>3P"+R@A(8FCIQIRCP& 3X;(IP M)JJ26N/OFT1U>\'JZA'S)WW%?8E>G)[-5 XIFJ>G:2@C%D(Q0F= M&7'!RM! V[X%]+'/AHZ&KMV5T0.D+IS9G?M5.C3>H259L5AJZ&7(OW4,M$;! M>3""E=:):/O2VN4YSV"P/(9"^PE3SL6(F]O^M\LI2?1S;3!Y+H-)D<$4YRCJ MLJ4>5PDR[8;LNZ!%FIR.+,K6W?.?)*C+^,(8!/V/R#" MB91,HQ4()2*KW?X1/),(-C@C'.??DU M?0KSC_B.S/";>66V_G\]P/\29N=N"LEQFLA(UU\\F^?;+]QXYX3\:F]%# 2O M4,\CZDSL2#)G-FLK9*SN=6/<#L#&N$9WL .?L17>@0D^B-GS!N?WTUC3[+2Z M[3?%>B[J20Z8:>E+<&;3^YQ4%KCVH!5G)DF31/-!.\?E<-RM8+"5TC%,.M@X M#K,8023)N"P@D-4:_9QJ>UP-1B1#T6UV*7:U)L:=[-,GQ'=28C>C4@]C63$G ME4V21"P"J&0T>%XW/EUD\B(7;5N?4PR/V\%&^G2*VUV4V$E7]LN>%E?WP_-\ M%7QL&EU0U\+]V7>BYS5?M7'9S+ L"S2;2^F!@22%[' M9$DC* YF#&B_,,ALP %J,H\WO!+@W3[VO&16&W!87/=A@ M4LW\DN=MSQB6DHO4FC6OT=N;V)%O<;L![>&:[ "R%P6VFSX4>;H^)6U2M'A: M*?GI=/W;8OT?N*[SV";6:"U<4A",SG7>:QVJY@I8Q;T5R1H76I?K;4O;R/>W M1P'D('KJ '_O3S]_GFWGK]P(^51H\+@,FBAD027:QH.!K#>,2LY MH_]:7Y5M0]?((^\&&DTQMY6M6Q__XF+IWF'>87CHV=N]/3T["\FQ1 MWD\_SJ=EFFJ1YGGW.?('WI*H4\WKV=W<;?G!K0S>/GPT,GGW'W/='YI"R2@M M I/&@R*8@<,]%@>Z5T;*W.CW$V=IV\FI_#=/F_ MPNP4%]>&_]6<+U+O3]&4+*77#XU#%^4UUV;!!? MT,$L1*=LH0W)1]/Z_G4G @\U09PC9)6$--#1$60<&G2(Z2,:RD:Z/_^ M4.+#1=ZQ.7B^.#F97AW^4BQ:#_!QON>MVU.?ULIX;$UQ(YMRXWG/[CSO :A% MC<9+K4&6.BDF\T+.J.<00Z%0W2E60NMCCYT(/#@E>)N'7:\2GW1M$5EWR9KP M'&J!$S>&%HUADC922ZMG#'%T8J^&P]:]%.'A]-:Q==NT5JO-J^A)M=IN?;9/ M*L']#VF6-O -^EJY15<:?E-NMNVZ://U?+%:KS:-O6)M['69@'F%NRR3$9K1 M]KGI4F)RG4N0!$B6I5($$]Y\.OUA%!]\T'U/+;\MUOC0.J%X@,("F\ Q4T"Y MHJIGP: (5DJ4.LKFW1.W)FYD5^QXF+MWMCV(^O8VG&XD MNVE*526^Q$\D].D7O!XQOX?UV_:36YG$O3AI9"?/P7*-P9P(:3Q -DF!DE(! MQ?H&)')!*'%,\-9IH+"\>RE M1YY#\]8!WZ!I7*MU (>\+C:";]C'^M&&OY>%VK7?]WN+NT1BII=HUU\_D.G MCRDDKXHCSUR1CU[O)F(B'?O,8Q0Z:-D\@><)=8@(+B4P>C *!Q1 M&CS*FH*<,:00D]*M,RV?HF?L:[$VF'BTR.50#71L07[#]?7&_AG/>PSO84L> M_IQ65F4+*ENY(6$YI^B\]NO:/.2ZAB!9ES!&,%'3=H2T67C)/&T@7'D65#:E M]7WT8[0 +4B/U_8"#&H",HG#=%)#L8(RR/7F)L?UC]*S,C.2 L< MW.NUV$3P'5N3=_B%7M[+&;GZTU8VXV%:&IF)BP^O/8GK>5Y%1NW5_OQTM28K MM;Q"BRXA*$>AM);"@%*1T**S W5'GZ,=?0UKPPXU& M"YJ@+3B!/"LD/SXIGXL57+0^E=^6MG%-S! 8NM6&3+*9IVEF6OB\#6)['#U;K]%%;3.DOU]@/.SK]> M+Q@E;1UB6< Z3SS'6(\G>(;B.)?UOQA:1V#;4=9MK=LN*+EKQP902@=M*VZE MG]_EQ66!)E0?,S!.%EE7YS!88)ACD29YJ55C@#U%S[@-+0:"53,%= "FWU?X MIKQ8 M(7< D??XL=[TOM.\9N1=BX M,Y@& E1[E72 LU_#\N^XKH/HKR?0G[,T"28%Z[B B+51D.(6HC0.@O0QF,"5 MMJV[%3Y.S;@C/09"5"/ACP@CBH FU[/N+M(3GBV7M;UG_?8M+LMB>7)>-T=O M6]U;+L:@4\Z",(F1,5898F*F]GO1R<@@Y=VKU7MQWJ$TC#L#HS&TCJJ0CD\7 M=NK6\*$NP<$[45P\991^% ]Q>(RN%")9;P5Y7L)I6CJ^$?X=U8U,6 3V(I%UMTN8@TL]@3$@DC9"4:I[I MVH[\<8]'!@/T6 KN -LWML+GL[!:3>J[$>5ZF M^VR>+X<@T!+^%4.5;WXS?U>7]9)"A,W9^EWF2;8JE0@I95>[CC#PGKX86P2S M+.14FG?R:\G N&=%1_ OCJWDCJ.RAWM8/?SJWD'9'@\9MD?7]OQUU;^KN&"\ MT[5O4B+,U2H3QXJ!H*2S*;J:>=W8L/31O^MJY=9-:4YO/GM>AX3,UW<6I28Y M>"$-8!%U/H2,$#578!+2CE.8%:RU&[PM;7^&OEV[X.]QZ]M0AUVY#L]26I[B MS:WD#F=WZ\K7"R_F'5AD6167!);F-7=;4S=N#-83/IOJL2N$OETN M\FE:_RW4T^?UV=5XKSO\Q2*Y0Q4AF(R@5,K@7;)@8C%!8';9M=YF=J5QW)BK M)[0.H-..W=6[;93N_GS O<%6'SQ4U\1M^!BCEZ+1A9=B#.@<:D=APDZT)D'6 MA)>(1D7>N@W&,7LIW@@)I_/I&E]/O^"]5EUW5I(J)IJ@/>2RJ5CB!J(I"F1R MSK,4>)*M+U#V('/LHK*!,/9$3#^( CO8OI]@[-E)S7LYWXYWVMG; M#CWZ4?1%^L!;IS^/W''K:JV\ M)*PLSA#?X_++]"*7;Y/R=Y.H9[/-1V[.!FHNR\=Y30!XB\OIXIS2FRV>C+2H M&%@9ZHV_"1!\*,!B\%$R92(.EYC4F)GONJ/7+IA^W)2."8^.#?&67;/VMLZ[ M??Z1>X$-:,?O](.*.:?BO("$]5(E9P5!D$]0FRX0; @TL77E0-N.8+>.Y[>6 M[?5RP-&E.93?0XCN:M^8KO@Y\F;E8%5U[&E M>[ -S]YV[:E/&[1QT) VZ[&V,8DSE3U+$*RHN39%0!3&0XY.^$!;,!>M+Z2& M:A]TPR&X\X2:9)0HN'LQG9W2 KFS")*4WN8B@0C5H#06\-92W)4MPU1GT0]X M=[P3J9VV'MH%0T]X<8,IK6/+==D,Z/+?O8W6(Q_4NFG14W0>N851#$'&BC4O M=0'%0X80F89L'2^RE!)%ZP.L([4PHJ J?/RXQ(]7XD/ECH__@3NFVFM8MV;Y;Q-Q)F!QOI.2=ORAL*ZT.5 MT44KE=6D<%V23I:LK:OCP0*'8 R'0GPX+;1'V[JS_J/$=-LV:Q\ M15]Q[O= M3FT0?J&_K6^K1TRX6I3K!BPW/F;_37 X6D9I&K&_M+JJ8ZJ##&5*M5^JK-,I MHH>0W2;S61O+O&.F=0IE%W5,3Q>$;WS?2=;6D8_M 0VCC41F*T1 M1):,6!#*^M8GS8^0,OY(UJ8JOY\$>K#\.X#1AV68K^C)M8KZ/+>!7)HW#[<\ MHH]C=ES4CH>P!P;-'D'=/0 ; ME^O-*=RZBO,%?JZ]ARY8$10\8;VR+,S4\%:3DZ0\@K$YZT"V0YK6N_\3Y(Q[ M - /-!LIK /L_?[^PW+38.7LVK>ZX"1GIW@=FAJP^N?!)8C<.9!!!RNE] 9; MYPX_3LVX!<;=(*^1ND;NA_O[7]__]5D=&GY&\OQE\067\RJ@]Y]K+$FDW.-- MI3JK%\F1+YJ17V^0>&.)>&-<$JLY.GD;B@\>C>_ZW'$;+XT.NL%5U87]VYQ, M5!G74^4U&?79^].8IU^F*]+S)5=DRYEF+M0$R]H;(&B(6EI@16@F'+?MT[VV MHVS+Y>?%DOBZ??9QP@#S.%TU0$0[[)T1YCG5?KGM6.;[I 3\CF",^3_ MBCIC4 74X*.RD#$*HWB11C7/&-F1QG$/>@:$R^*(NML;F^3*QL5QT'E=9O/+ M:KO?'/V%9U#*.KY.<5!#,UJ)P7_N8"0G!,@.%N8S2.2N:F\\FA(]K M5KO!\0!:[M_P/LIT38FX9MJA+.BMAA2+JQ/% D6%,8#.(KD4)(^V=?%T$\+' M/7;J']K[:WEW:/MS:,]K"OW%>X=- *G5WW_4OL3T\W,B;[JN[$Z8Y<)B-+1L M2TT+TQQBJ9V&>"'Y:\<3MJY^VX?.<0^OC@?=P778H1&^YO\T;)'7V:ZV.,'M/6^9"E!\8<@BJJ@.,,01I;>(@F"/4]C1YKX\-H%E21 MM:&6J"MZ6Z-4\ MU1MB$M3YOQ,M5%3!,^ L;69D*G)Z(@>F-;.,HS'FN G,NU#?\22R0U ]DGK_ M+ [#0U.!Z]L>'N%V)*]B/Z)&<3T:R*^K^I6H>-9>1K#,A-K7P]3^EPA,A!BS M<3FG?]CZ%9T+>NDM)*\\*&\0@N8%@E=",YE*+*U/WOY!ZE=V0=T^]2N[:*Z# M,XK'TMVMXI&5H(!Y4Q.")*^UF0Z$2%&X(F-I/B3KNZU?V4GE6]:O["+_#F#4 M-(]#>U62"Q8XN4)UB7+PUC@PRLELI>=%MS9^?_[ZE9T -63]RB[:[0#9!Q0T MV!Q+"#69UZ4,*@:R"SP$L%E&DQ7#8F1C'/^S?F57A+6K7]E%W3T ^XER"&^Y M2J9VW\!(3A)F#=$*7QO^46 J39*J]4W$/T;]RD'0;*2P#K#W1$&$X2G;B F$ M3)+H9PQB8)*<*:<\H@[D4?VS?N6XR&NDKN^M?L7(I(D+ \'4O'/R[L&GQ$"S MX*0PLI:)_;-^I37H!E=5%_9OJ\('&SA#YQUDB0C*T0KS.BHH14LKT#.3_UF_ M,JI=;*[&#L#YC5((PX,O6D'4]$5%AK7(HAI\,O;&:^]UZXNI?Y3ZE+47[W1^NCA=/7P%]QI7JP^?PIR+7^F=GU:3G$.1,C(0COQDA8Y$3/XS6"VP M!.M(V/:HMSJ[!C M)HEHEYAC%#SJUJE:@S+T/=71]+,F#D'%H;E>'SI9*9>R>+-\O9A_K%UH4*"B M_18RAE+=- ]>2 9.9!1:"Y9-:T^F+0??4^'->&OA(+U_]_O#7>[O6@)K+9., M"]"2::@U^Q!3J@UR?";_%%$T'_8R*$/?4T5//VOB$%1\+_O#PY*8"%K[-D<) M'"U%8\5("M9#G4$=L\@J!6F.ZR ]3.?W5 LT'*X;Z'!_B[Y8A]EH.+V[0LE! M8XR\-? UNTXQP2!JHR!9KJU#Z9UH?6?<@.QQCP_[1O$A&C[8!M_!]LBYZY=C MET[#[->POI#BN',6]B%IE+SU@V775=8Z5[[8Q"+(P$TM*W40>18@+ 8>A9(A MM-Z=N\A:?[HD]EJQMQK#7$F-0)Z^W=3 QN21O [F D2=023/PBIB7*BOK:^/BNWU]CV?,MV%@Y(%HW>.^/0HZ M7 +?;&?'=)9)<@^%.UN'^A)_B:(=K;S@P6>?\M N2Y-6A(,=M_<#Y*:Z[. X M9EO)7@5>U]6-S&94J"'S.E=1FT#[$M(:=4Y(8X(S9NB.;5L3.ZX9_GY\[,.T MW*'IW,HZIGI]J D+5<)X8$T=/V9 -'Z4U4"7OSI7?#^>A^]#@X M;ZOY[B%_OR5>O:TU01JP)&5014APS-+.&$0PPC.N_7%/_/9K9CBZ]WQ,^!ZF MQ6:.\\AW/5>O/5NM)#(_1 M3=%:IYPH"LRFI:Q@%J*KU6/<)J^*"ERVOLX9LIOBM;78R/W9@W)_,W]7%_IR M.O](;_AM,5]>_KB)EL]K I1#SHJ3]7B'(IN0*;*I!STND8E)"7T,K>UW,^([ M[JJX"][N]8H91;D=^!Y7C/]T=L%F-3(_+_$_3S@+D0PQ=5/,%ASJV__QQ271-2G ML]?X!6>;-8I"\U3')4>9$RCN.82H$S";>'!8:WD&LVU/4M9)Y^%>]MM6.NP) MF3=7VWW^+M:U,=8ADPRRE1R440A>> ^S\\JWGT_G^9(+G9A6G+Q3XRC<4CE:"+X*,HBH0[&. MB]:C4!ZF9%R '0\)B^9JZ0!R3?W7A(K/;PY\P7U?H&^1]CXL=! MT&RDL ZP]\0("1N53RJQFL]<YOX44K.GML OM1&C,Q0#*EKDKTG%D/.)HL[V<#_G/AQ..@&5U47]F^K41%< MJ10-UU!"/?%W]<1!RPS""Y="B RQ]4'0/]S$C\/L8G,U=@#.IX='E!RT%3X MM[5X/@8.+KG*5H@V.YUC\T8(_R@3/PZ+6UHIK0,$MCB:>WW5*#%IY$**",9* M!8HG#R[&"!338:2=0OD\6"U "P;&-;:=')..AH@>EL.W2^I^"C/Z$=]_0ES_ MLER2U[( &IL\DU++YOWV#J6YDU2UX\/MV_<# MP^F^ ZP_?,+V0!'=Q#HTFFP&F%HLKTKF$!+3(!(REVUM 7Z<))('B.ON"F! MS&R52G*H CM YK;%\I-"[I5GQH&-LLY6KX/6K!00@J0@55-<*EN70VQ+V\@Y MFF/B6E^:^^*,)AYX[:DF@B5_*Y'GGY/(Z&I$P5OC\#%B1DZR M&Q5X3134<3N-FZ)[OCCYO)A7^=8&$7."[F:![=L28^N/;M768C]>NFI);G.. MF+P$R2VA2N4Z@YM06ZP2GP+_UH6$7+ M.MB2KSCZVV+Y]U?SM\M%PM4=EB)C7GEG0>A$,:&A[P+G-2?'!"%X2"ZT[O2V M!5E_AB:<3;#82',]@9%D-EU]POS+8I'OL*0I$+.!5I462H *'L&G$,'RP!)S M)17;.MUC"[+&]1D[ F,CS?4$1N)BXAG/204*^*,BV81([B]3!NA%09XOO2KU M4*BCYX][S=X1O';5Q7<7BCQ+:7F*-X]P6TH7>OLLKUFKD< 07@HF>RX MT@KK5,L,,I&?ZU26HK3V";])U)\A.MD%<7>M9%NM=; %OUE_PN7[TWE>GCW$ M3!%<2J+>Y9!!21;!*Z%I'Y!%!JNU3JUO"I\DZ,\0D!P"OW;:Z@!ZEZ/_-IGT MIZOUX@27EUR=7?*$*H@BD*3E:H]ASA/XD@QX=-8:-"+PUFINC/$+$< M; S;Z*L#]#W.R"9=U!4.(5L'BH(X",DQ6E6*Q:!1YM+\XNX@S V6?#8^YMIH MZ;L+F=\N%_F4K'U8+L-\?=8Z7G[DXX<-EK?AJ:M(V>5@M$!E"_T'>,. M$D&X6"U3DLTWH!XBY5\77S8?^&I.GSW/89GIZ2\O-'-'BZ_FJ98FX0L\__?= M8C;[>;'\@_YH$C4*%]! 2DF3.\($.&\1I"G!BX"1A]:).(U(_S-$W;N@]WX' MCN,CH .7X YGF[TGS"8R*U4T%N"B)DZ;5, YGL$DY%SQS UOW8KM84K&A>4H MH%@TU]#>./N,R^DB$^_+]<&UD)<2#(]*\(*UNX(LB^7S3V'^$5?3^GI" MZYY>^PW_"!OC@%^G].K\X\7'U(2Z$+5A16L(JE1'J7:>*"P#MXI;SK*247[# MBS@RR>.>.HV)\YZQT:V!?AO.-EO?Q!<91"H2DM$)%-:L4<,5)(F)N\P$OULP M/)"AOJ1HW%.K?@WV7AK;'7_^'']S_%CO#CX,[2=8$R,*'\%K*V@Q\4#?*4G! MKBXF):1H]SCP&_>@JE_8[:2A _V$E_,\\! ]$N[':9Q=U$C=_?F0.7C;?7*[ M479[<-+HH*"F]/PQG>Y4H?A52I>Q"$E)#XI:L560.0O3D< K.N+2. MV=1ZCL%.!!YJU]ZG3YA/9[@)+*=K?#W]@O<>>UY,6I0,J )"+II3="EH<0:C M(->B.ANE5;%U]=?VU(T;)PV'J;M6;B!]=>#HT;ZP.,&K4XW7]0^J^FHG/9:Y MM:6.HU:UA)Y9#AXW(ZJ5K.-0R:*W#L>?(&=- V]I.*;H,3AX^(+H&SCX+OY4$<(NT.X/(> M9_2KC[_@')>A^@C/\DG-+R=O8$W&^^57\I%75\Q%E,KG* &+\?40WU!\G!6M M,NZXMR93,-/:S=J%P'%/ZH:#V7!:Z@""3[@*/YW]&O[/8OE\%E;GHP2"01]J MP.QP.B^%TTP'4+G-Y-_4-M6?EI^GG*U:8$:9.3N&ZQEG6>G"&OD1?T&ND MW\76UNX)+5 BF.872*#'TI&I0V"9QB %IPXI3SSED&,F$F8,4/PWH-VGH60$Z,UU[P^9']ZNXT-]D3/O0J1(ZER M;]C24^-B>&OYRW*Q6DV4%-:08P%%&A*EK&,_"_,@.;VJ8HG)']%2;FCJ-G)H M \"F*NG -C[!S[.43D].-Y7XSTX6R_5%D<(D68,H:3])0D?R:'D )XP&X3QM M,$%J%ELGQNQ.9;[JJ-9F>8AZ2'W6'CYM0X@K+>!%XE=DVATLD%[L"4) MX@DEQ"P]H,%B7!!.A-;F;ANZ1AY4,330FJNF@[WVICE^4^YR. E%U9&6#H(+ M%+9I$IR36H(2+-KHF8FF-=">IFC<:3_#QQ+MU-$,7.U3QR\7R_XIXG<_H54J M^).4C9+R+95AV4@%&&J R#4'[XH'IE$D82A$%*U[@ATUY?OR83<++[A%U!Z) M246&5$GMP-7IDL$9[;-)*H76[4@?(.-[2N+>!25W;O;+Y+_<4MQ>T2 MKTFAT-(JX8'$X&K#/D%1IXJU;9!T06+&,I1Y>9"@<8^GAD+.X;+OR;#D9%S4 M*9%9C:G.KBO@11&@I0S%",Y"'JKR:MQCH\$,RRX2;5H*>3@:7IU\#M/E><9O M/5Y-WB@",&26R1>7(1 G7$ T)J@0O3:L=2G:PY3T84B.Y[$.HZ,ZCFK_ MR.CF7[>*BAZEJ%%$M/G\^Q")A7LE50&9LC$3%8)EB"J1(_'RN5/ 4VEN*\GG2M!)LZ\NR M1XD9UX%M@(&[9J*-V#OP0FZSL$F>+K1-FDQ&DV=6JW9%@6 465.'A@<=:7=N M78-ZGXIQ$=-(O7=S+P^3=7=HN1CL9AJGY.,%,;1.BJ%%6UCSAB: M=U5^@(YQ$7.H;I^$RAZ"[@ L[_#+8O9E.O]XFYF+3+ZLA%5$,>24%=E<X+./OA=#";\#)#UDCC=+S/@BN.,)**8C3[]8DI W M")P^(]4VN0E;9ZL]1LNX =(P&U83N7>*G]K#1IF/&AWMP+2PX@CR0D M22N#^9@=-[164NNNV-^BJ3\':'?-;P&GO=4P(JQJ(\.?POSO;\JS$UQ.4Z@S MR:?K::37+@RLR*Q(Q34P%2,H40*$J&L#0I11(//H[@#JP;Z43S^E/XCLK\W% M(*+MP?8LYA_ITTYJ$/J!_F:SBC)WSA6=P @O0!DAR"A'"R*8XJV(TO+6I24/ MT3'N\>] >]:A\NX0,Q<+*M1\LQ ,.%-3&KV+$$T=S8A66G3>B-CZ!O)A2D8V M/ =K^!N0V4/FL^DOD]% M7V#91[=/N#%["+HSJ%QMW5=)9CD4>UY%Q8*CI60]>*1].RFML*ET,&6# 6]K(4A]=B+%K#U#(-Q+EEYQXMZ,#3;^<']'1 = MAJSAI=^):5M=1GQ+>X3%5Y'W%BC>+&*/),Z^QU M911"8"B!T\J1T1294^NF='L3VY]G-MQFV5Y['><)7;.W"O-X#S-,75 MN\59F*W/WL39].-Y!Z']$XKV>DRKS*/#>6R4HG2#D&=W"'D@:R40IEA2%&NP MXBE>];4M,1-U#FXLS(KH)"0D6^)!T/*@SUX#M)"!YOP728V!X4V:X9U#)3.KF9E:%:+ M* TH*Q/JP)PH@TQ>OD/'R%,8#U?O-P"SLZP[Q,O%6:%"943T"%:Y6G;K-42I M-/CDF=%)/9QB9LFW;\2)9_H(?JR MH:*1G/Q0 R(C!2W!9HB1I..DMT770@>^S73";SRF+UCLH\7%,"+M#!W//B^G M,\&XN.[F2A%!H&4C'>W/24?P+!:P222RM-IQ:_9 QYW'C'OL-# Z#A%I!QO. M4S-('$9F"U+\&&MVNN7DN"FEP*FB#3)>,+4NSCYT$M#14'2XN])*\OV"Z#*' ME(7DE&+@I:N9GM'2!AT"9!VM&B=:?*=#OW92>T[#?W910<= .J!,33U MG)[' +8Z>$K1?AL%A9-,"Q6]""F9UC'3=S7T9R<%?WOHSP[2[@ N=XWS]1&L M8D4[9P4(2;(AKCAM\%&"=(%V9N-Y-JVWL$>)&?>R9/AX>S^I]^$AWSAGO1RE M^P&7)V_*E9\W*0:-D62U5OI[7WE;S^PKYAJ3^7> M=YP;2[H[^-SM"?%J_NMT7G,;(5\@"S>:T#$$Q MEL!1= HBUD87*8AR]P)G2]!]X\%][8!#H*REY+N#U<4E\^+<59Q864= H@3/ M$_$2-%EH1K;:!W(V!2\B[KDAWG[.N#?\QP#- 7+M#B-U+U_SV<7IW9OR#M/BXWSZ7T34IIO;AM+S MPQFF-3+N.:#&2!YC)F?1&P7<4@1LHQ$LM,[#'(21D5LO'0_+]\93XSM8GM&CN3RI,+GS)O)-*A*&?\ M[R\@49(E411$0@9F[U2EIA)/W.P^I]%H (T&4W'&/%_#0 9SGCA/( MH$RORS,>T\S]@Q,_Y GE6;2?=4)Y#@@'<3+S9P.:=RS4@ 4>E.3J?FN1Y9 MRIJ:5L578E:4A4EEF^)9MK:MQY @.$\AUR$\R?482A((&%0*Q(@2F"0LQL)U MZ[*S%/1[7' YQ[L<2P&XX)7IH;[IB9+)*,+4%$+FR_?XHX#=VA9?2#V** M*[U2==V;X2*&^,U%O+KFN1GQQ?TD@,'28BU%-QKKBA>=DJ5ZXD4@05B9]W0( MH%1F0(-/%$=IQIU7%=EIYC?'"5#S+N39].3+G]U5#IZ__ MWJ!\735_RF:+_T,&XSC3RV:0I_MBQOC-@$(: M!6'XR__G@;.B[%-5MS\R_Y^>]GB4)Q B '.F.8OC%#"6Z@##*.(28P43U_W+ MW]9"O]7R_Q%#;+QG_2CC[B13[^E3H1$S/[V:58NR>8BRC.GP8QX_-H7'R'"' M8 (@C#&'$2:0N:Z"N) I?F\4_' CZ<*^$G!]^A7GB]EB64RZ+NO7TA\U,,6S M7)TBFP=\A]>EG_D!5_7H8^QR5(>^*H/?OJJ<0QPGL5ZT)J;5%X\C4_X#@<11 M$J=I)%#F>GFWJ\'H9:P=I*N]-:G=/R4* XHS;$H,$D )2K2U(LUE+*APOI5S MCGZ>=VB&>\;!BO12I 0PS6_*5U9X&=.J4JY;YR58,IPR F"BE]:(8KW(9IB# M',I,,)YSQ%UGP[T*>3[$OI@?[._H.2,E _;LZ$] %,4IE&B.! L0P!E*09Y M#CF(,$^2A,:*">?KK"Y%/!]INR-Z/R4;C7H KO-JP%W+YO>REJOT\,MR369P M^ZRM,F-N70K'%4FHA3$6=0)R+.;TZYM^.'6 /]+R#VU>>W2" MH7#8\>,A9FF&XTR A$L"$,M30!3G@'+(LH@G(LM<7Y@YU,*O&_KWC(/]FE$T M#7:TIZ4I=PVM&Z=MVS#- VC7W)0$=X9L>>[;[YRWU)>/AM?6_F0Y1#&)M]+$Z'7&8H2 MP!(-)XMB@D2*),3H#6/U6B^_COE#9=:#J/3NG%U+WCC+4JF7O)3'IJ5L9';# M7-PCC>2II$[$Q]+<='"RA5Z&BLY?_6OP^LH M^^6Y*IL\0VM'59*;SW2]P REPA&F0"Z;R4/S&KU,$,B5A)P2"F,>.QZU/>JX M:>.H1;?7Q-[)4JK"Y!HJ052DJ["*%(. $D%!KH=4HF""A//&:4=4":$#WWA/ MZ&[=. [W -8+'Y62O-G$96W/5QVW5X^8+XIR:/;:A="1S[V378B=@&\.Z%Q@FRAJZ]8W*W1Z48H/ MQ72ADXJ/M"ZU\9N_'C[]C?F:J\G1F<6N+ABTW[IMO[5Q9,DYXYG.FW!DRMBH MY#H_2P2(9(PX@I*DJ>MY\Y@N8Z/>#N97SQK+U:)99ZJSJGR=0BZ)V$"0QY%* MS;,B6:K32<0P ;D>P( RO5];G86_@$XSQ^RF#R: MN[O/.C&8R.N%J=6[4:NN63>+9M[H246/S'9>V:8KR^J5[0L//.8\CCDPRVWS M,%L":(8PP)E(A?87_5/7M4-N-/=<^WN)L.>!4L\-'VTM7HWY39*T19LRA*$> M[K%I0HBX*5*E*081892D3$&J\(G$T($:?B.G#Z^I_%#X X7=I;D/$D=2YAI/ M/?1SO2*,,I G(@6Q0C1+$A5QYY699RGHQW/?W&T&QMGS.0RB_'WYV*\YVEYV M\S#9T]*PW4/#PZYIKYI^/FBS*$=4YU)Q1/4LIE,K1K7UBIM7J54J.'%]2#Q> M:S\9@6]G?F.VPPW!+:@'H#]02+GB,@*$Q!% .<0@1S0'-,IYKE-[C)T[\YDJ M^CE1]NVYE^1QN)N:)DAN]MOWE@BF+TS)BVFQ(O95I0AD,:<@$RHRCY7&@*22 M &':-D"$,TY<+_OM-/-\X>T2"ZP+4!) /-RW:I6VD#R.)9829$G. (H0U6D+ M30&&Q#SB(S"*G9_A="D2UO:D"\9/.-7Y\ ?H0VT0?LB(BE#$,""89ZL;ILPT M)A6IDD*/.$:X\XYFW:J$M=_S!GXTA((?[;COJFP*8>PLGN6=Y(NZ:(HQ12X# M/G+1P[TS[+OTF1[14V42:>?AD"0 Q6D"<@FE3J&03+@4E$<_RIE>-ZH?O_/I M0@-HZM),'=JB:1OR':BQ:L G>)10*3" 66IZQ6(%J%(,Z+P2)8(QH5--QX X M43RL"760?QW<^GYS0@,.E%_EL_ZQCA+%G$XFM9PLA5:J_?GPX&@IV%5 '&*' MHR#8?F+E..72/_\HFL?WBWFC W2]W?-60A$F!4ARLWIE0CM+QA1@+$NCB.O) M-7=]W]A2M;$A/[PK5[7]F/;\[8\+A2F-?-PVU=B05O;NJV&>ZJDQO+,,5$ 1X34_5F[A1" M1;4/$(XBR+F(K9ZQUQ]XY4GZO[9>=.S;?CW'':N50XC#<)'Y52E:"^9MLZ*, MLEPI%($X@5"OB 4!#.LY&F8P8HIC)(55_SH[/SE4P(^SN.'TT$%& NS[H4>Y MJ*NVO504PU@P/3XH0C% "3./O%&A4\B,4ZS#+MV_D-C]LN-6I'>FQY)3C4?* M,\'FNL_3HWGA^1N=\\64UJT-6$G)$\( 9R9)5Q0#AI2&A44IT^,!\019L'U, MOI]=HLM0[P1#S]/!I@GL9UE-:OKT6' Z7<8_A7@N$,3:F6,]0<)4 I;"&.!4 M<18)(1)H];3/B>G@J )^]Q,ODCNX =NWQ\C)O@GM.,(<)B0WZWO(SCE%Z0]WZY;+"1(XB@D066(FPV5?&RZ 2A@2L4 RBVP2BGVY_A() MMRR/QBR P\DCD^6OVU:,$+,L9KFY!Y?I=!AF@,I< DFAR+(TSHAP_9SW*9W\ M5D\X3R\N0D4 KG5B]V]U!%&4DZOY7.I_A.EE041.52Q,BR!,3/OM".190@ 1 M"!&5Y)APUX]2#E SR+VQ@7YRT#WULJ3] (=#=XO9C-8OE5H#8&QMYK04OQ:4 M%=.1Y^B#/N/ZX&BXC6]\C!1C**F>2@%CF.KIE%! ,8;Z#R@Y3YC@=CO@X1TC M=@__R@! C,5,0\&7[^51G)CF!$G"IDTF58CVSN'Z1I%>A'^,@Z1QOV8]\ M[O@(8.[M-:9%\]7;OI& .$%)##*N_T Z8(,\C:E.6D42DR2/E'3=I/\\#7UW MW/7L?N,8\S_G[FP&Z-50^PZD>1KWOI@M+]"M;\Z=GE$[=QB,T)77Z;76QMFZ MOW#F9#I8>4=3Y9%G45_=,GGWREI5]8R6[<.RZW>TW%I^["M>V\E=TF/VX]8)F ?'GNGH<]"JM'*![A// MX[_L]?7FMV#6#CP_Q.KP^["R9+8,N]L]H:%3Q'&)#E3\K7PJC-![/16\TW_Y MEQ,U#Z5Z2Q%,G$H&P9$;\^W(N:G%:+1BCP3*7B"D?2E%\5R(15NY M.(:H/5%^%V7]F%>G / ]E*;3K5ZG=^XL!E&70&\,'<&\L@,@@/.E[6Y2_Z 9 M=)-W1[;?Q;+5*.H%Q3E9;_YX;Z=5^^^%7')?TK^[?YP]3:L7*9>]C&T7 M.4TX_AVOYY]O>9YP$NH W&&IV]63_CQ?-2GY:KIMS>^NOMY=Q"U.?\]K1>1; MNH#^SA$@)UOY>BGKY,MATSKF;- M>-XZI5K-[I%_UOH@"8&RC]]K?EL7O4VS+'G:BK(B)X"CM0/C0V#DLYX!F@^T MD9]H47^CTX4#:CID6G$4P(':<3@\D[4[LE]^^ZM9NM+[QW)RR\>%O1.BK:CS M>\9F!TZH-79?RGFA4;ROZ;)J_W5+YQW-1Q;:]7S&2;6=K1DC2^X\;3V=5]AT MI8TOWND$RKJ::?\W_.U,]NUJ52=-]%=,]@NM]1=E\[F6_]"I-?"=O^9O1\L2 M_3YC_5'PH2K_S[R16TZLX3_X%7\5'9;0'S/2'^SOZD),9'/SM5K4?]F'G,Y? M\U>H80E_G['^*+A;U.RQN*-U2:WQ/_P=?\46EN ?-=,?\O>/U8S._RC,XVC6 MT'?\DK]J"4OLCQOJ#_S?Z&12R#\7LG.OO1/Z@U_Q5]Y@"?PQ(_V55Q^DV@>K MHX&'XT?%CE!V*^[=B\9[?+%%IT"/Y\2GN'B]4NT#P_,.PU:UT546>Z*\<=.+ M=B>HN3@/Q'5RI=9$5J.X;>J$;I9PF0I2O^UM33 M>UG/YC?JOA::/C<%JSUBO;GH>5/P:6"\3\1&*Q<'T;N2O.VLG)LB=9@?"B7W M13,Z>]T1Y6V_92 I.P!X9N7K8BKCB*6Q21I$]=3(\?>7CLGTMC5S'D\G(/%, MV'557H*S'K'>=G7.H^TT,$$$P*5>&CQS0.X@".Z(\[8--"00=@$14#"\KV=E MXS86OA+I[4;+\%!X"$A8D= 18<>E>JLZ'!4'@Z-MO6"H9T5)'4;"?8G^Z@V' M1,,C> 3!U8=%O53, 4D;4?X*#H>PLX] $+2\JE"=3*Z>:3$=6[S;)]=?]>$0 MPGJQ";6([6.]O+U]H29QA]*=E*R=4-I!I9II!_@LZY<;=?"M T\8EJ/9?&#$ M<&VEKC\S_O2N4Z"W+=YS^'D]4OM@\;T0D//U>QEF-AY]$-$ESQM?O;A75B#\ M/"+R1PMJ0S,#&YA\ MA[S)I&F-&GUE4MR/&H6QU0^&9G[5")9V^S(NYFX/[HT*]G4".S+V/PN.9 MO;OFK]N:W]3W\_KCO"EF=-4?P5W/4JL/>#NO',KJ.;!Y9OAFT>@87RYW=-R% MTN-2O1UB#N7R)$#A3(#75?.GW,S4TE5339L/>#OQ=#!9GH3-,\.?M-"JE&M+ M7113'1'I[31T*(O]T(3%VX>%O*\^?C<-:Z2VLU15S9>I]=A@>\YWO)V=.F+8 M!L0 :?]65-/V^;Q?JIE\OWJO]5?ZSR6X[_V8O]-8EQY@@V> ;J M_GM!IX4J M>*O]/?W^3I92%E.]CB&I9+Z# VI66K\)?9DWF.2QNP>H++ M3>XV[(O^CI@=.<5YR(:S G.9XO6(]=<%Q\$B+,Q@8+KT?DOO6^#X2^2[YH MBF?Y7H>)256_C"X=Z9;HCZ9]O"M+XWUO)$^G^^H5%J^86A61'!?LK_JJEXKJ M/%P\4WSC=Q8I1T#X6:OXEC/- MS_K$G_6)YW$C_G5?+=?C8X?'KB1O951]HZ/36-\$3*<;M=P,C7UQ_J;U3K@K M&]M]=YZ1U"RP1H^)UW*\%:GUC8@.0WTGM:VV;C;=#J7YF[;'K>-#.[]X7]W) MJ>2-%*T/C3ZZZ);H;R(9QEF?XZGGB+#8>%>JOU'5H MEGD"GH#86VKV*D*X)+%+MK\Z50=<]H 50BC=J.H\H!Z5[*_"=$Q>EQ!J9E[V;@79K[-EY/( M\BGLQ\H\M?.U<;62/.]3_FI5!^_=#8$R./ZO9?.EY-7,T1ZZU0?\E:PZX_HX M;,$Q?+#)?"FF>SYDQ7A0>T<#8/3=:?(P_!C+V\TO-Z3;?L.*[Y!VG\X$+[A! M?M,\FF?R+CJ^N[]A175(&U=G@N=[5%.VF-+ZUV+>.#SJ/B[5BLZ0MK-. N2; MP,/(,KKW;[=(JVJ%D#:S^J'QOO._#O[N"3PEVXK)D+:R+,'R2.EB#B:4/CUL M$O=?JWE?O9:B<[94HOW%ELEI,U__9$MIMVPK$D/9P.J%QWNVLY=YCQU^G0*M MZ II ZH/%M]7G4U"92QR1%B7/"N^0MHPZ@$EA"U^)^TQ7PNR(BBD79XN&+PG M(=7H4LFU#"L^0MJ#V3,^C#+OT72<6Z^:A+1-$F"9:E5^UHE+J]@'.>=UL3R& M<52G>EJ\%8DA;8#80^9]7A*%T8M.490\;ZUS=?Q\2KH5LR'MA5@#%FI#C=WW M@VZK:<$+.;^M*[ZK^E>[P(:LW;[IU=2[R\7Z7NTO.Z:EI5W81P^Z]XN\GEE.<>_"X?T=N_ M,'\P.I?_^U__!E!+ P04 " "7A0%7=UR&J P( !:)@ & '!E;BTV M,S R,WAE>&AI8FET,S$Q+FAT;>U:;7/;-A+^?K\"YTQ3>T:21 M=0K;FTEADV[0;/ZPYT3/SV*56QQ/8W__TZO94&;AWM9Y*B=YU[FTY[LNFB.5 M*MU]TW3_>M12CWDFTWGWQ[',P+ KF+&1RGC^8\WPW-0-:!E[02/_#6@3FN<> M9Y7)J">5.2Q<"%K-'WK."@&1TMQ*E7?+7( FJ;WSP7TB0VE9.V@$#WU9GQ*N M)S@K5A7=8QQOS:D(HP#ZJWOU[H5>70Q&X^&'X45_/+R^8M'4QO.E_ M9(/?!Q>?QL-_#/ U2@Q&SWJ]^V[>?!K=?NI?C=GXFHT^?1RPH,WKP=$^/V#] MJTL6=$3UA#,P_F7 ;M'UT7 \'-SB-%S\TK_Z><#Z%^,:Z]^R_N7US7APR=9U MHKR;P':SM531'_W4OQK^=#=%+PC U2 M P9UU%@$VLIXSFS"[=LWG9,>V]*#7L&%0-ZJIQ#;;GNY(B0&)K?=>G#RS;P, M&@L?O@'+/)B6H-GHT#0,6<*GP#1,)=3 $)WVOO\(M78N0C]Q@W'!"&1S=I>K M60IB C4?*.W#(Q2:D"O,VS@"ESGC^9R5N=4EH >8R5U2QY!QEN&3ECQE,8_P ME68JP^QBE9?;$,@APN7(]9Q$,GX'..Z:3H/O!!J#0Z:N(L Q2""2&BL %,NQ M.W.,R&:)C!)F2OJSZC\##942\'@8Q,HA+D?@[2DN!.A$W M:P&L(>8DL4Z!82?$$I+3= 7)"@WFT="(>B%)<8TDRA0%$(<*P>*&,\Z>B)N$ MQ:F:F05(-4RDL9KC0)Q>>KO1RMH:ULS"F UK7PG)8XJ.+VI!Q#0X?&&\9ID!Q9("@#%-I$A(GL0S)D0B2GH4T4:I, MB?V(-K5*/5 *K2(0^-JP?<2% 2:#_[@/DIX/@'61T8:E2F8*B%25=?9AP/7 MWU5U].0?)56FN4.0Y/9C<*,$)7E71'T1 M8-^U=@BP6"_O"F*/&Z"->FNV[4 8, ?%1C>1S MJBHU*D"FFDKC^ ^E('=ZJ&Q>,>&\0Y%9@$8*[% DP(;\E#F4H[ITS_U+"TM!SN'*3\JG@@ MNE:@NCQR7SE4E+I 2!M7F42XY1?. %>J3B#'@B-%9&,+%+1D2 3+<(]>7%JR M<"S^.O ;[1!^/0T/ICPM'5=1<"&.L5:44PR+>:+F6]856W"O?WRZ#'1PQ8[( MF\87FZ$J[?,6;),=^%(:J)*./[_W8>&B1G2_@24KF*HI*3:%?RYQ/:,V4L?B>CD11EXE0T1_^/(?M M/],E1@PC@SV2K@S'C1.XLP,Z5LC+I5T'WJJ$FV690=SG, _")04W'Q5ASUDJ M[R"M#A(>R=?^]!3].9SOU(ZL\TIV9.Y@42Q62&U%4<28ZRA=L17A[ 5UQT8! MNS2-8Q%KE3;+5.]>H,HLD]8"_)=\$"HL)JA=2+3/*=E'+"/]&J)W_)]*Z<4" MA#]*B>:[Q5;FD3MO./C_3NMKI?A^BL49%HL2@49[6]HO1Q(0&56:7NYX9L#O M*._Z8LUE7E=FNC//Q='0B_!6;4[\0<,3K,8%=C2P)+5GL5D5I]A%TV8CVFA+[[FV%^IB_8XVD4<.H@^,YQ(T[H:X 5O/I M3^93E4Z!42+8 M(I3^3.H9:Y[X(+]KGR$O,;K^8V._G)3&5D=N-7_5X6O/\ND7S+%UF^'*@A#9 M!'0=#4EY8:"[^-'#-%RD?-Z5N=/G.O6J&0^5M2KK4H"GE,NQ!JP^JSN"\,W5 M'8NC9J/=<=F(+G M[_?:>XL.U8+MMHI[%CR\[D!K>,,)5?SOP=3T@3K"5>S^/ORXO<31%MY6(:5E M@Y_-QY>)%QB:LYK["*1$+/!/40E;?[9]5I5?(/[>RG< MU:C'*>P<35J!2NWZ)NK+CQ$;)5VL\MG;E-5 M?_W=KD-WI^P_4$L#!!0 ( )>% 5>)$:*P"P@ (HF 8 <&5N+38S M,#(S>&5X:&EB:70S,3(N:'1M[5I;4R.W$G[/KU"\E0U4V<;C"V##4N6 25RU M!XCQ5I*GE#SJL57,C":2QL;GUY]N:7P!0]:0[%F'"@]F-&I)W>I/7[G0DZ9%!]*0P?2HE,*Q.@\3O->O6HE=F3 MF11VT@EJM>]*3O3L-%*IQ?$TMO>/OIN-SBS^'\H$#+N"&1NHA*??EPU/3<6 EI$7-/*_@#JA>JXX*U3& M?F*9PL*$H%[[[L1I(2!4FENITDZ>"M D53KKW4_D2%K6"*KUA[:L3PG78YP5 MJ[+.(8ZW9E2(7@#]Q:TZ>J%5Y[W!L'_9/^\.^]=7[/J2W0SZ5^?]F^Y'=MF_ MZN(C/EU?HD1O\*S5NV_FS:?![:?NU9 -K]G@T\<>"QJ\$C3W^#[K7EVPH"6* M$L[ \*<>N^V=?QKTA_W>+>O]>OY3]^K''NN>#\NL>\NZ%]3$M0J[9H&OILPJ? -$PES)#N[40:]G/.-2ZF>,X&D"EMF4K9I=+)^W?! M8>TDJ%5^9BIB-Y#FR4CS,NNG814]U'X#'JKOG(=^X ;]@AY(YNPN5;,8Q!C* MWE':NT.#MEL M(L,),SG]K-K/0$/1"1F02!-CGD IQTS:"1IH,@B=@M1OAJHI@69.L9E@H_GZ M-+P1!#;^.0@$%LD4?4QP6?FTC/!#<:S6:_4RC9!!7'S$YS#.!?:)N%ES8!DQ M)XEU,G0[(9:0',T;@5MSY^ V?.";]^^.Z\'1B2D 520% M1! JBB06G=?ZC&MP^$!_RU$,Y$<&",I1+,V$Q$DL07(D@J2RD":,E3*30RT:+]GUQ;<@(AR2S'X,;)2C(OSZ'.JKO$& Q M6=X5Q!Y6VP'-PP48W(*@VUQT^SRPRA1X0YZ;[9M0!!P!XJ,8R<=4E6OL )EJ M*HWC/Y2"U/5#6?.*.=?95T/,'>"*H+J"2KE@9JJ4R**HBU&Q%.X@P.0C(X7D M6I(!TH=^%P]2ZBDW%([=(C4N=CNV5 90(8OL3(TR3"MEF,><2![-FZ#3R,@0>1A; _B];R[6S >[1",&\U-&&]-7!MHWI[RM@8U+H2I%(15 M;E3*B>"Y09Q3@DD YEHLP(3PEGPD8VGG%.F?&I:6EL.=@Y1?%0]$UQ)4%T?N M"X.R7&<(:>,RDQ#W^\(IX%+5,:28<,2(;*R!C)8,B6 :[M&+2TMFCL7?!G[# M'<*OI^'>E,>YXRIR+D01YHIRBFXQ3^1\R[QB"^[UQ:?30 =7;(B\:7RR.5*Y M?5Z#;:(#7TH#9=+1Y_<^;+3(T=T*!#\3J(]#&PWP!A G=@AQ!6-Z9VZ"@C;@ M1?KF:IY$W@MXDH*Y"L-0[;>Z9)A!A& M!GLD72B.&R=P9P=TK)#F2[WVO583;I9I!G&?PSP(%Q3QO(.X.$AX M)%_^RU/TUW"^4SNRUAO9D;F#1;%8(>4511%CKJ-TQ5:$LQ?D'1L)[%(UCDFL M5=HL0[U[@5TFB;06X$_BP4AA,D'U0J)^KI,]Q#+2KR%ZQ_^42B\6(/R12U3? M+;8\#=UYP_Z_.ZTO%>*[,29GF"Q*!!KM;6F_'$I 9!1A>KGCF0&_H[CKDS47 M>5V:ZQ6:1G&(33=^,<&FXX&\P\IL\ M07C@)#ECBF#RY"':6PKLN[<5ZF+\CC221AF]#H[G$#?NA+H 6-F'/YE.53P% MBH$I'Q<'[;J@1DBR6,T!:V<3Y?F0/X OPNUO21"J&R#XFZ>R28%@"U?Z,ZEG MM'GB:_RN?8.\0.\Z]F;=?)P;6QRYE?T]AR\]R^U7S+%UF^%"@Q&R">@**A+S MS$!G\7""83B+^;PC4]>?:W12S/A(6:N2#CEX2K$<<\#BF[HC"%]=7+!HM*NU M1HON6%ATI16+@8OK%U5W_>+ BLVZ]G&U77N^NE8-EG4'KF_?/UI@,IY^*#5* MBP;%@NW4LWL6/+SK0&MXPPB5_?_!5/..:N(J=K_K7[:7*-K"UL*AM"C05.9. MX]A"\W_,1+S2^%?9]_AVR"*^?15.J:W6Z_KO^41"Q"Z7/'[M\^9'%Y66,W3@ MENOV5Y?^G&I5EAT/%%;->$C!&1N-YM\YO95\>OO M@AVX.VC_ U!+ P04 " "7A0%7,X6 J.<$ #6%0 & '!E;BTV,S R M,WAE>&AI8FET,S(Q+FAT;>U86V_;-A1^WZ\X<]$;8#F2+[$EN094Y#A)LV5!NS3;_"!8(L_A=VX?#SE, MT-$/PQ\=!PY$5*0LTQ!)1C2C4"B>K> #9>H3.$XU:R+RC>2KM8:VV^[ !R$_ M\7-2CFNN$S:J]0SWRO?AGEUDN!1T,QI2?@ZEW_9C0OCOH^[]Y#13%Z:6,TIN$O6FD/'/6S*P?=-NM?B_7X06G>AUXKON\ M8:>.AK'(-*XG4;[\6ZJYI4RS2^V0A*^RP)K4*$7KX4@D0@;/7/L+S8@3DY0G MF^#E@J=,P3&[@%.1DNQE4Y%,.8I)'I<3%?^=(2:$9U\O*LBH)^$9JTWPVN[S MT**@+!*2:"ZRH,@HDV968S2]7/,EU]!IM[SKMNRZA,@5>D6+/-C']7:,BC * M3'YSJ_I?L*HQ.ID>G[U[>SINPM'QI/74T$^FIXNCPZ/)>'$T.X:3L]/YV?AX M 8L9W&G)]P+=&\!9:]Z:M& ^G5CX7J?G-K]_X.,YC ]F)XOIP=-R>.UFW]V' MV2$L?IK"?'SZ=GP\G3NS7W^9?H3Q9&%&VJ[;OMN!:UX)69]^+9H-UVPXE( M@[ MLEIQ!A\+ME5SR#.211RMJ]7<%$2-N?'T.4OPC0I@)%K#FDFVW *:![C][R0 MJB"XKA:P4]MEB"J7V@)'/Q$J.+!8:@*J:X2+"R(DR+Q*3T-LTE^UQPR4PSI4QL;L3\%<'*DN#U7M'7 MVZ!>5<:V*JK(>GZGBS'U0Y.P_X?U&X:59TAOJ>WF#)MJ@I(4O]H(U3%'SL&@ MY\@!)KQ-,TR2!% ,P2!I5.2@FA5/UF2""BFWJ@WOX*PB*;-#Y*SL(-4-H@&B M[2M%U25AUNR+$EQ05:-@]':?]I4]:[UTK^B:'+\#S1=Z^Z^/U'\ SL>H@P., M:DG5XV)5*%VQ0[EY;NE;DV7":FA+(?&(X2#"A.2*!?6?D'*5)V03\,RN8X7" MBA&60FN1!B9\YV9KPFV[:KXL(Y3#U6&LVV_YO8XYCVD,E*;UPM51K66/:GN: MWA[S!RW?O7O8;7G;L3VKN]2/%BA,]3>-3J,6J*HS:.>7X%T_69B"O66$R/]Y M(G/+%.KV0V6?USN3;8;?P]HJI(:VT5A0(N$4:NQ/QA4/-O_)6/@W>\TO^:"& MO&4!NP7_N5];<&[SSO.7S=N M [<>VK/[W#V[C!O55U]"YD+9IBR0+"&FGF]=2UZEG-U'W2L1LL2\*_1MD;^X MR:R>Y;WJGKW/_0-02P$"% ,4 " "7A0%7Q80KV?% 5>@ M,'27$@P (5Z 0 " 24T 0!P96XM,C R,S V,S N>'-D M4$L! A0#% @ EX4!5XVLMOE!&@ #?H !0 ( !94 ! M '!E;BTR,#(S,#8S,%]C86PN>&UL4$L! A0#% @ EX4!5SN%(U#)*0 M(,0! !0 ( !V%H! '!E;BTR,#(S,#8S,%]D968N>&UL4$L! M A0#% @ EX4!5T>!@?/DNP !&UL4$L! A0#% @ EX4!5R34I0,U9P !M<$ M !0 ( !Z4 " '!E;BTR,#(S,#8S,%]P&UL4$L! A0# M% @ EX4!5W=&AI8FET,S$Q+FAT;5!+ 0(4 Q0 ( )>% 5>)$:*P"P@ (HF M 8 " 9*P @!P96XM-C,P,C-X97AH:6)I=#,Q,BYH=&U0 M2P$"% ,4 " "7A0%7,X6 J.<$ #6%0 & @ '3N ( M<&5N+38S,#(S>&5X:&EB:70S,C$N:'1M4$L%!@ ) D 5@( /"] @ ! $! end