0001558370-21-015286.txt : 20211109 0001558370-21-015286.hdr.sgml : 20211109 20211109161016 ACCESSION NUMBER: 0001558370-21-015286 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 78 CONFORMED PERIOD OF REPORT: 20210930 FILED AS OF DATE: 20211109 DATE AS OF CHANGE: 20211109 FILER: COMPANY DATA: COMPANY CONFORMED NAME: DoubleVerify Holdings, Inc. CENTRAL INDEX KEY: 0001819928 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC. [7370] IRS NUMBER: 822714562 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-40349 FILM NUMBER: 211392212 BUSINESS ADDRESS: STREET 1: 233 SPRING STREET CITY: NEW YORK STATE: NY ZIP: 10013 BUSINESS PHONE: 212-631-2111 MAIL ADDRESS: STREET 1: 233 SPRING STREET CITY: NEW YORK STATE: NY ZIP: 10013 10-Q 1 dv-20210930x10q.htm 10-Q
0001819928--12-312021Q3falseNew York061006000610060000.333100018199282021-04-232021-04-230001819928us-gaap:AdditionalPaidInCapitalMemberus-gaap:PrivatePlacementMember2021-04-012021-06-300001819928us-gaap:AdditionalPaidInCapitalMemberus-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:PrivatePlacementMember2021-04-012021-06-300001819928us-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:CommonStockMember2021-01-012021-03-310001819928us-gaap:CommonStockMember2020-04-012020-06-300001819928us-gaap:CommonStockMember2020-01-012020-03-310001819928us-gaap:CommonStockMember2021-07-012021-09-300001819928dvh:ProvidenceViiU.s.HoldingsL.p.Memberus-gaap:PrivatePlacementMember2021-04-232021-04-230001819928dvh:ProvidenceViiU.s.HoldingsL.p.Memberus-gaap:OverAllotmentOptionMember2021-04-232021-04-230001819928us-gaap:OverAllotmentOptionMember2021-04-232021-04-230001819928us-gaap:CommonStockMemberus-gaap:PrivatePlacementMember2021-04-012021-06-300001819928us-gaap:CommonStockMemberus-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:CommonStockMember2020-07-012020-09-300001819928us-gaap:TreasuryStockCommonMember2021-04-012021-06-300001819928us-gaap:PreferredStockMember2021-04-012021-06-300001819928us-gaap:CommonStockMember2021-04-012021-06-3000018199282021-03-292021-03-290001819928us-gaap:RetainedEarningsMember2021-09-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-09-300001819928us-gaap:AdditionalPaidInCapitalMember2021-09-300001819928us-gaap:RetainedEarningsMember2021-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-06-300001819928us-gaap:AdditionalPaidInCapitalMember2021-06-3000018199282021-06-300001819928us-gaap:RetainedEarningsMember2021-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-03-310001819928us-gaap:AdditionalPaidInCapitalMember2021-03-3100018199282021-03-310001819928us-gaap:RetainedEarningsMember2020-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-12-310001819928us-gaap:AdditionalPaidInCapitalMember2020-12-310001819928us-gaap:RetainedEarningsMember2020-09-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-09-300001819928us-gaap:AdditionalPaidInCapitalMember2020-09-300001819928us-gaap:RetainedEarningsMember2020-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-06-300001819928us-gaap:AdditionalPaidInCapitalMember2020-06-3000018199282020-06-300001819928us-gaap:RetainedEarningsMember2020-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-03-310001819928us-gaap:AdditionalPaidInCapitalMember2020-03-3100018199282020-03-310001819928us-gaap:RetainedEarningsMember2019-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2019-12-310001819928us-gaap:AdditionalPaidInCapitalMember2019-12-310001819928dvh:TigerGlobalManagementLlcMemberus-gaap:PrivatePlacementMember2021-04-090001819928us-gaap:TreasuryStockCommonMember2021-09-300001819928us-gaap:CommonStockMember2021-09-300001819928us-gaap:CommonStockMember2021-06-300001819928us-gaap:TreasuryStockCommonMember2021-03-310001819928us-gaap:PreferredStockMember2021-03-310001819928us-gaap:CommonStockMember2021-03-310001819928us-gaap:TreasuryStockCommonMember2020-12-310001819928us-gaap:PreferredStockMember2020-12-310001819928us-gaap:CommonStockMember2020-12-310001819928us-gaap:CommonStockMember2020-09-300001819928us-gaap:CommonStockMember2020-06-300001819928us-gaap:CommonStockMember2020-03-310001819928us-gaap:CommonStockMember2019-12-3100018199282020-01-012020-12-310001819928dvh:PerformanceAndMarketBasedSharesMember2021-09-300001819928us-gaap:EmployeeStockOptionMemberdvh:OmnibusEquityIncentivePlan2021Memberus-gaap:SubsequentEventMember2021-10-272021-10-270001819928dvh:OmnibusEquityIncentivePlan2021Member2021-04-190001819928dvh:EquityIncentiveProgramMember2017-09-200001819928srt:MinimumMember2021-01-012021-09-300001819928srt:MaximumMember2021-01-012021-09-300001819928dvh:EquityIncentiveProgramMember2021-01-012021-09-300001819928us-gaap:RestrictedStockUnitsRSUMember2021-09-300001819928us-gaap:RestrictedStockUnitsRSUMember2020-12-310001819928us-gaap:RestrictedStockUnitsRSUMemberdvh:OmnibusEquityIncentivePlan2021Memberus-gaap:SubsequentEventMember2021-10-272021-10-270001819928us-gaap:RestrictedStockUnitsRSUMemberdvh:OmnibusEquityIncentivePlan2021Memberus-gaap:SubsequentEventMember2021-10-062021-10-060001819928dvh:PerformanceAndMarketBasedSharesMember2021-01-012021-09-300001819928us-gaap:EmployeeStockOptionMember2021-01-012021-09-300001819928dvh:SupplySideCustomerMember2021-07-012021-09-300001819928dvh:AdvertisersProgrammaticMember2021-07-012021-09-300001819928dvh:AdvertisersDirectMember2021-07-012021-09-300001819928dvh:SupplySideCustomerMember2021-01-012021-09-300001819928dvh:AdvertisersProgrammaticMember2021-01-012021-09-300001819928dvh:AdvertisersDirectMember2021-01-012021-09-300001819928dvh:SupplySideCustomerMember2020-07-012020-09-300001819928dvh:AdvertisersProgrammaticMember2020-07-012020-09-300001819928dvh:AdvertisersDirectMember2020-07-012020-09-300001819928dvh:SupplySideCustomerMember2020-01-012020-09-300001819928dvh:AdvertisersProgrammaticMember2020-01-012020-09-300001819928dvh:AdvertisersDirectMember2020-01-012020-09-300001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2021-09-300001819928us-gaap:LeaseholdImprovementsMember2021-09-300001819928us-gaap:FurnitureAndFixturesMember2021-09-300001819928us-gaap:ComputerEquipmentMember2021-09-300001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2020-12-310001819928us-gaap:LeaseholdImprovementsMember2020-12-310001819928us-gaap:FurnitureAndFixturesMember2020-12-310001819928us-gaap:ComputerEquipmentMember2020-12-310001819928dvh:ZentrickMember2021-01-012021-09-300001819928dvh:ZentrickMember2020-01-012020-09-300001819928dvh:LeikiMember2020-01-012020-09-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-07-012021-09-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-04-012021-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-01-012021-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-07-012020-09-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-04-012020-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-01-012020-03-310001819928us-gaap:RetainedEarningsMember2021-07-012021-09-300001819928us-gaap:RetainedEarningsMember2021-04-012021-06-300001819928us-gaap:RetainedEarningsMember2021-01-012021-03-310001819928us-gaap:RetainedEarningsMember2020-07-012020-09-300001819928us-gaap:RetainedEarningsMember2020-04-012020-06-300001819928us-gaap:RetainedEarningsMember2020-01-012020-03-310001819928us-gaap:RevolvingCreditFacilityMember2021-09-300001819928us-gaap:RevolvingCreditFacilityMember2020-12-310001819928us-gaap:LetterOfCreditMember2020-10-010001819928srt:MinimumMember2020-10-012020-10-010001819928srt:MaximumMember2020-10-012020-10-010001819928dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember2021-07-012021-09-300001819928dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember2021-01-012021-09-300001819928dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember2020-07-012020-09-300001819928dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember2020-01-012020-09-300001819928dvh:MeetricsGmbhMemberus-gaap:TrademarksMember2021-08-312021-08-310001819928dvh:MeetricsGmbhMemberus-gaap:NoncompeteAgreementsMember2021-08-312021-08-310001819928dvh:MeetricsGmbhMemberus-gaap:DevelopedTechnologyRightsMember2021-08-312021-08-310001819928dvh:MeetricsGmbhMemberus-gaap:CustomerRelationshipsMember2021-08-312021-08-310001819928us-gaap:TrademarksAndTradeNamesMember2021-01-012021-09-300001819928us-gaap:NoncompeteAgreementsMember2021-01-012021-09-300001819928us-gaap:DevelopedTechnologyRightsMember2021-01-012021-09-300001819928us-gaap:CustomerRelationshipsMember2021-01-012021-09-300001819928us-gaap:TrademarksAndTradeNamesMember2021-09-300001819928us-gaap:NoncompeteAgreementsMember2021-09-300001819928us-gaap:DevelopedTechnologyRightsMember2021-09-300001819928us-gaap:CustomerRelationshipsMember2021-09-300001819928us-gaap:TrademarksAndTradeNamesMember2020-12-310001819928us-gaap:DevelopedTechnologyRightsMember2020-12-310001819928us-gaap:CustomerRelationshipsMember2020-12-310001819928us-gaap:FairValueInputsLevel3Memberdvh:BusinessCombinationContingentConsiderationLiabilityMember2021-09-300001819928us-gaap:FairValueInputsLevel3Memberdvh:BusinessCombinationContingentConsiderationLiabilityMember2020-12-310001819928us-gaap:FairValueInputsLevel3Memberdvh:BusinessCombinationContingentConsiderationLiabilityMember2021-01-012021-09-300001819928dvh:MeetricsGmbhMember2020-12-310001819928us-gaap:RevolvingCreditFacilityMember2020-10-010001819928us-gaap:RevolvingCreditFacilityMemberus-gaap:LondonInterbankOfferedRateLIBORMember2020-10-012020-10-010001819928us-gaap:IPOMember2021-04-230001819928us-gaap:IPOMember2020-12-310001819928us-gaap:IPOMember2021-09-3000018199282021-03-290001819928dvh:EmployeeStockPurchasePlan2021Member2021-03-3100018199282019-12-310001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-09-300001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-09-300001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-3100018199282020-09-300001819928dvh:MeetricsGmbhMemberus-gaap:TrademarksMember2021-08-310001819928dvh:MeetricsGmbhMemberus-gaap:NoncompeteAgreementsMember2021-08-310001819928dvh:MeetricsGmbhMemberus-gaap:DevelopedTechnologyRightsMember2021-08-310001819928dvh:MeetricsGmbhMemberus-gaap:CustomerRelationshipsMember2021-08-310001819928us-gaap:MeasurementInputDiscountRateMember2021-09-300001819928dvh:MeasurementInputRevenueVolatilityMember2021-09-300001819928us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-09-300001819928us-gaap:FairValueMeasurementsRecurringMember2021-09-300001819928us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001819928us-gaap:FairValueMeasurementsRecurringMember2020-12-310001819928dvh:ZentrickNVMember2021-01-012021-09-300001819928dvh:OutriggerMediaMemberus-gaap:SubsequentEventMember2021-11-092021-11-090001819928dvh:MeetricsGmbhMember2021-08-312021-08-310001819928dvh:DoubleverifyInc.Member2017-08-180001819928srt:MaximumMemberdvh:EmployeeStockPurchasePlan2021Member2021-07-012021-09-300001819928us-gaap:SellingAndMarketingExpenseMember2021-07-012021-09-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2021-07-012021-09-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2021-07-012021-09-300001819928srt:MaximumMemberdvh:EmployeeStockPurchasePlan2021Member2021-01-012021-09-300001819928us-gaap:SellingAndMarketingExpenseMember2021-01-012021-09-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-09-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2021-01-012021-09-300001819928us-gaap:SellingAndMarketingExpenseMember2020-07-012020-09-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2020-07-012020-09-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2020-07-012020-09-300001819928us-gaap:SellingAndMarketingExpenseMember2020-01-012020-09-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-09-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2020-01-012020-09-300001819928us-gaap:AdditionalPaidInCapitalMember2021-07-012021-09-300001819928us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-3000018199282021-04-012021-06-300001819928us-gaap:AdditionalPaidInCapitalMember2021-01-012021-03-3100018199282021-01-012021-03-310001819928us-gaap:AdditionalPaidInCapitalMember2020-07-012020-09-3000018199282020-07-012020-09-300001819928us-gaap:AdditionalPaidInCapitalMember2020-04-012020-06-3000018199282020-04-012020-06-300001819928us-gaap:AdditionalPaidInCapitalMember2020-01-012020-03-3100018199282020-01-012020-03-310001819928dvh:MeetricsGmbhMember2021-09-302021-09-300001819928us-gaap:TreasuryStockCommonMember2021-07-012021-09-300001819928us-gaap:GeneralAndAdministrativeExpenseMemberus-gaap:IPOMember2021-07-012021-09-300001819928us-gaap:GeneralAndAdministrativeExpenseMemberus-gaap:IPOMember2021-01-012021-09-300001819928us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-09-300001819928dvh:OmnibusEquityIncentivePlan2021Member2021-04-192021-04-190001819928dvh:EmployeeStockPurchasePlan2021Member2021-03-012021-03-310001819928dvh:TigerGlobalManagementLlcMemberus-gaap:PrivatePlacementMember2021-04-092021-04-090001819928srt:MinimumMemberdvh:ZentrickNVMember2021-09-300001819928srt:MaximumMemberdvh:ZentrickNVMember2021-09-300001819928us-gaap:IPOMember2021-04-232021-04-230001819928dvh:ZentrickNVMember2021-07-012021-09-300001819928srt:MaximumMemberdvh:ZentrickNVMember2021-01-012021-09-300001819928srt:MaximumMemberdvh:ZentrickNVMember2020-07-012020-09-300001819928dvh:ZentrickNVMember2020-01-012020-09-300001819928us-gaap:OtherCurrentLiabilitiesMemberdvh:ZentrickNVMember2021-09-300001819928dvh:ZentrickNVMember2021-09-300001819928dvh:BusinessCombinationSecondTrancheOfHoldbackPaymentsMemberdvh:ZentrickNVMember2019-02-152019-02-150001819928dvh:BusinessCombinationFirstTrancheOfHoldbackPaymentsMemberdvh:ZentrickNVMember2019-02-152019-02-150001819928dvh:MeetricsGmbhMember2021-08-310001819928dvh:ZentrickNVMember2019-02-152019-02-150001819928dvh:ZentrickNVMember2019-02-1500018199282021-07-012021-09-3000018199282020-01-012020-09-3000018199282021-09-3000018199282020-12-3100018199282021-11-0500018199282021-01-012021-09-30xbrli:sharesiso4217:USDxbrli:puredvh:Milestonedvh:componentdvh:agreementiso4217:USDxbrli:sharesdvh:segment

 

 

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 September 30, 2021

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-40349

DoubleVerify Holdings, Inc.

(Exact name of registrant as specified in its charter)

Delaware

82-2714562

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification Number)

233 Spring Street

New York, NY, 10013

(Address of Principal Executive Offices)

(212) 631-2111

(Registrant’s telephone number)

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

Title of Each Class

Trading symbol

Name of Exchange on which registered

Common Stock, par value $0.001 per share

DV

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 filer

Accelerated filer

Non-accelerated filer

  

Smaller reporting company

Emerging growth company

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

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

As of November 05, 2021, there were 158,638,068 shares of the registrant’s common stock, par value $0.001 per share, outstanding.

 

 

TABLE OF CONTENTS

0

`

    

    

    

    

 

    

    

Page

Part I

FINANCIAL INFORMATION

Item 1.

Condensed Consolidated Financial Statements (Unaudited)

4

Condensed Consolidated Balance Sheets as of September 30, 2021 and December 31, 2020

4

Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2021 and 2020

5

Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2021 and 2020

6

Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2021 and 2020

7

Notes to Condensed Consolidated Financial Statements (Unaudited)

8

Item 2.

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

23

Item 3.

Quantitative and Qualitative Disclosures about Market Risk

33

Item 4.

Controls and Procedures

33

Part II

OTHER INFORMATION

Item 1.

Legal Proceedings

35

Item 1A.

Risk Factors

35

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

35

Item 3.

Defaults Upon Senior Securities

35

Item 4.

Mine Safety Disclosures

36

Item 5.

Other Information

36

Item 6.

Exhibits

37

Signatures

38

2

Note About Forward Looking Statements

This Quarterly Report on Form 10-Q (“Quarterly Report”) includes “forward-looking statements” within the meaning of Section 27A of the Securities Act of 1933, as amended (the “Securities Act”) and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). All statements other than statements of historical facts included in this Quarterly Report, including, without limitation, statements regarding our future financial position, business strategy, budgets, projected costs, savings and plans and objectives of management for future operations, are forward-looking statements. In addition, forward-looking statements generally can be identified by the use of forward-looking terminology such as “may,” “will,” “expect,” “intend,” “estimate,” “anticipate,” “believe” or “continue” or the negative thereof or variations thereon or similar terminology. Although we believe that the expectations reflected in such forward-looking statements are reasonable, we can give no assurance that such expectations will prove to have been correct.

You should read the “Special Note Regarding Forward-Looking Statements” and “Risk Factors” sections of our final prospectus, dated April 20, 2021 and filed with the Securities and Exchange Commission (“SEC”), pursuant to Rule 424(b)(4) under the Securities Act, on April 22, 2021 (the “Prospectus”), for a discussion of important factors that could cause actual results to differ materially from the results described in or implied by the forward-looking statements contained in the following discussion and analysis. There may be other factors not presently known to us or which we currently consider to be immaterial that may cause our actual results to differ materially from the forward-looking statements.

All forward-looking statements attributable to us or persons acting on our behalf apply only as of the date of this Quarterly Report and are expressly qualified in their entirety by the cautionary statements included in this Quarterly Report. We undertake no obligation to publicly update or revise forward-looking statements to reflect events or circumstances after the date made or to reflect the occurrence of unanticipated events.

“DoubleVerify,” “the DV Authentic Ad,” “Authentic Brand Suitability,” “DV Pinnacle” and other trademarks of ours appearing in this report are our property and we deem particularly important to the marketing activities conducted by each of our businesses. Solely for convenience, the trademarks, service marks and trade names referred to in this report are without the ® and ™  symbols, but such references are not intended to indicate, in any way, that we will not assert, to the fullest extent under applicable law, our rights to these trademarks, service marks and trade names. This report contains additional trade names and trademarks of other companies. We do not intend our use or display of other companies' trade names or trademarks to imply an endorsement or sponsorship of us by such companies, or any relationship with any of these companies.

Unless the context otherwise requires, the terms “DoubleVerify,” ‘‘we,’’ ‘‘us,’’ ‘‘our,’’ and the ‘‘Company,’’ as used in this report refer to DoubleVerify Holdings, Inc. and its consolidated subsidiaries. DoubleVerify Holdings, Inc. and its subsidiary DoubleVerify MidCo, Inc. changed their names from Pixel Group Holdings Inc. and Pixel Parent Inc., respectively, prior to the date of this report. All references to DoubleVerify Holdings, Inc. and DoubleVerify MidCo, Inc. are to these entities both prior to and after the name changes.

3

Table of Contents

PART I. FINANCIAL INFORMATION

Item 1. Financial Statements

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)

    

As of

    

As of

(in thousands, except per share data)

September 30, 2021

December 31, 2020

Assets:

 

  

 

  

Current assets

 

  

 

  

Cash and cash equivalents

$

319,825

$

33,354

Trade receivables, net of allowances for doubtful accounts of $5,246 and $7,049 as of September 30, 2021 and December 31, 2020 respectively

95,509

94,677

Prepaid expenses and other current assets

 

9,326

 

13,904

Total current assets

 

424,660

 

141,935

Property, plant and equipment, net

 

16,693

 

18,107

Goodwill

 

244,672

 

227,349

Intangible assets, net

 

117,705

 

121,710

Deferred tax assets

 

82

 

82

Other non-current assets

 

2,185

 

2,151

Total assets

$

805,997

$

511,334

Liabilities and Stockholders' Equity:

 

Current liabilities

 

Trade payables

$

4,105

$

3,495

Accrued expense

 

25,127

 

25,419

Income tax liabilities

 

540

 

1,277

Current portion of capital lease obligations

 

2,140

 

1,515

Contingent considerations current

 

1,717

 

1,198

Other current liabilities

 

3,986

 

1,116

Total current liabilities

 

37,615

 

34,020

Long-term debt

 

 

22,000

Capital lease obligations

 

3,106

 

3,447

Deferred tax liabilities

 

29,732

 

31,418

Other non-current liabilities

 

2,788

 

3,292

Contingent considerations non-current

 

 

462

Total liabilities

$

73,241

$

94,639

Commitments and contingencies (Note 13)

 

Stockholders’ equity

 

Common stock, $0.001 par value, 1,000,000 shares authorized, 158,524 shares issued and 158,474 outstanding as of September 30, 2021; 700,000 shares authorized, 140,222 shares issued and 125,074 shares outstanding as of December 31, 2020

159

140

Preferred stock, $0.01 par value, 100,000 shares authorized, zero shares issued and outstanding as of September 30, 2021; 61,006 shares authorized, issued, and outstanding as of December 31, 2020. Liquidation preference: $350,000 as of December 31, 2020

 

 

610

Additional paid-in capital

677,588

620,679

Treasury stock, at cost, 50 shares and 15,146 shares as of September 30, 2021 and December 31, 2020, respectively

(1,802)

(260,686)

Retained earnings

 

55,941

 

54,941

Accumulated other comprehensive income, net of income taxes

 

870

 

1,011

Total stockholders’ equity

 

732,756

 

416,695

Total liabilities and stockholders' equity

$

805,997

$

511,334

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

4

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)

Three Months Ended September 30, 

Nine Months Ended September 30, 

(in thousands, except per share data)

    

2021

    

2020

    

2021

    

2020

Revenue

$

83,098

$

61,037

$

227,208

$

165,276

Cost of revenue (exclusive of depreciation and amortization shown separately below)

 

13,435

 

8,998

 

35,929

 

23,963

Product development

 

16,359

 

13,087

 

45,658

 

34,324

Sales, marketing and customer support

 

19,539

 

16,728

 

54,653

 

41,880

General and administrative

 

14,465

 

10,369

 

58,317

 

29,327

Depreciation and amortization

 

7,492

 

6,087

 

21,989

 

18,167

Income from operations

 

11,808

 

5,768

 

10,662

 

17,615

Interest expense

 

249

 

858

 

936

 

2,958

Other expense, net

 

365

 

481

 

365

 

359

Income before income taxes

 

11,194

 

4,429

 

9,361

 

14,298

Income tax expense (benefit)

 

3,270

 

(1,376)

 

8,361

 

1,975

Net income

$

7,924

$

5,805

$

1,000

$

12,323

Earnings per share:

 

 

Basic

$

0.05

$

0.04

$

0.01

$

0.09

Diluted

$

0.05

$

0.04

$

0.01

$

0.08

Weighted-average common stock outstanding:

 

 

 

 

Basic

 

158,045

139,841

144,305

139,779

Diluted

 

167,045

146,554

153,547

146,843

Comprehensive income:

 

 

Net income

$

7,924

$

5,805

$

1,000

$

12,323

Other comprehensive income:

 

 

Foreign currency cumulative translation adjustment

 

303

 

410

 

(141)

 

488

Total comprehensive income

$

8,227

$

6,215

$

859

$

12,811

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

5

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (UNAUDITED)

Accumulated

    

Other

Comprehensive

Additional

Income (Loss)

Total

Common Stock

Preferred Stock

Treasury Stock

Paid-in

Retained

Net of

Stockholders’

(in thousands)

  

Shares

  

Amount

  

Shares

  

Amount

  

Shares

  

Amount

  

Capital

  

Earnings

  

Income Taxes

  

Equity

Balance as of January 1, 2021

140,222

$

140

61,006

$

610

15,146

$

(260,686)

$

620,679

$

54,941

$

1,011

$

416,695

Foreign currency translation adjustment

 

 

 

 

 

 

(799)

 

(799)

Stock-based compensation expense

 

 

 

 

2,538

 

 

 

2,538

Common stock issued upon exercise of stock options

180

 

 

 

 

538

 

 

 

538

Net income

 

 

 

 

 

5,644

 

 

5,644

Balance as of March 31, 2021

140,402

$

140

61,006

$

610

15,146

$

(260,686)

$

623,755

$

60,585

$

212

$

424,616

Foreign currency translation adjustment

355

355

Stock-based compensation expense

4,714

4,714

Common stock issued upon exercise of stock options

871

2

2,907

2,909

Common stock issued upon vesting of restricted stock units

217

Conversion of Series A preferred stock to common stock in connection with initial public offering

5,190

5

(61,006)

(610)

(15,146)

260,686

(260,081)

Issuance of common stock in connection with initial public offering

9,977

10

269,380

269,390

Issuance of common stock in connection with the private placement concurrent with the initial public offering

1,111

1

29,999

30,000

Net loss

(12,568)

(12,568)

Balance as of June 30, 2021

157,768

$

158

$

$

$

670,674

$

48,017

$

567

$

719,416

Foreign currency translation adjustment

303

303

Shares repurchased for settlement of employee tax withholdings

50

(1,802)

(1,802)

Stock-based compensation expense

4,848

4,848

Common stock issued upon exercise of stock options

651

1

2,066

2,067

Common stock issued upon vesting of restricted stock units

105

Net income

7,924

7,924

Balance as of September 30, 2021

158,524

$

159

$

50

$

(1,802)

$

677,588

$

55,941

$

870

$

732,756

Balance as of January 1, 2020

139,721

$

140

$

$

$

283,457

$

34,488

$

(67)

$

318,018

Foreign currency translation adjustment

 

 

 

 

 

 

(153)

 

(153)

Stock-based compensation expense

 

 

 

 

802

 

 

 

802

Common stock issued upon exercise of stock options

32

 

 

 

 

70

 

 

 

70

Net income

 

 

 

 

 

2,440

 

 

2,440

Balance as of March 31, 2020

139,753

$

140

$

$

$

284,329

$

36,928

$

(220)

$

321,177

Foreign currency translation adjustment

231

231

Stock-based compensation

1,140

1,140

Common stock issued upon exercise of stock options

58

51

51

Net income

4,078

4,078

Balance as of June 30, 2020

139,811

$

140

$

$

$

285,520

$

41,006

$

11

$

326,677

Foreign currency translation adjustment

410

410

Stock-based compensation

1,619

1,619

Common stock issued under employee purchase plan

61

423

423

Common stock issued upon exercise of stock options

44

263

263

Common stock issued upon vesting of restricted stock units

19

Net income

5,805

5,805

Balance as of September 30, 2020

139,935

$

140

$

$

$

287,825

$

46,811

$

421

$

335,197

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

6

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(UNAUDITED)

Nine Months Ended

September 30, 

(in thousands)

    

2021

    

2020

Operating activities:

 

  

 

  

Net income

$

1,000

$

12,323

Adjustments to reconcile net income to net cash provided by operating activities

 

Bad debt (recovery) expense

 

(1,186)

 

3,041

Depreciation and amortization expense

 

21,989

 

18,167

Amortization of debt issuance costs

 

221

 

211

Accretion of acquisition liabilities

 

 

36

Deferred taxes

 

(4,572)

 

(3,912)

Stock-based compensation expense

 

12,100

 

3,561

Interest expense (income)

 

130

 

(36)

Change in fair value of contingent consideration

 

57

 

(949)

Offering costs

21,797

1,852

Other

 

661

 

742

Changes in operating assets and liabilities net of effect of business combinations

 

Trade receivables

 

690

 

(11,633)

Prepaid expenses and other current assets

 

4,590

 

(3,457)

Other non-current assets

 

(162)

 

(9)

Trade payables

 

425

 

1,881

Accrued expenses

 

(684)

 

2,081

Other current liabilities

 

2,747

 

(7,143)

Other non-current liabilities

 

(1,369)

 

1,082

Net cash provided by operating activities

 

58,434

 

17,838

Investing activities:

 

 

Purchase of property, plant and equipment

 

(5,499)

 

(6,545)

Acquisition of business, net of cash acquired

(24,323)

Net cash (used in) investing activities

 

(29,822)

 

(6,545)

Financing activities:

 

 

  

Payments of long-term debt

(22,000)

(563)

Deferred payment related to Leiki acquisition

(2,033)

Deferred payment related to Zentrick acquisition

(50)

(50)

Payment of contingent consideration related to Zentrick acquisition

 

 

(601)

Proceeds from common stock issued upon exercise of stock options

5,514

383

Proceeds from common stock issued under employee purchase plan

425

Proceeds from issuance of common stock upon initial public offering

269,390

Proceeds from issuance of common stock in connection with concurrent private placement

30,000

Payments related to offering costs

(21,797)

(1,230)

Capital lease payments

(1,222)

 

(1,242)

Shares repurchased for settlement of employee tax withholdings

(1,802)

Net cash provided by (used in) financing activities

 

258,033

 

(4,911)

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

 

(173)

 

(38)

Net increase in cash, cash equivalents, and restricted cash

 

286,472

 

6,344

Cash, cash equivalents, and restricted cash - Beginning of period

 

33,395

 

11,342

Cash, cash equivalents, and restricted cash - End of period

$

319,867

$

17,686

Cash and cash equivalents

319,825

17,289

Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets)

 

42

 

397

Total cash and cash equivalents and restricted cash

$

319,867

$

17,686

Supplemental cash flow information:

 

 

  

Cash paid for taxes

 

5,586

 

14,901

Cash paid for interest

 

580

 

2,692

Non-cash investing and financing activities:

 

 

Conversion of Series A preferred stock to common stock in connection with the initial public offering

610

Treasury stock reissued upon the conversion of Series A preferred stock to common stock

260,686

Acquisition of equipment under capital lease

 

1,518

 

973

Capital assets financed by accounts payable

 

41

 

1,313

Offering costs included in accounts payable and accrued expense

772

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

7

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

1.    Description of Business

DoubleVerify is a software platform for digital media measurement, data and analytics. The Company’s solutions provide advertisers with a single measure of digital ad quality and effectiveness, the DV Authentic Ad, which ensures that a digital ad was delivered in a brand-safe environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, provides customers with access to data on all of their digital ads and enables them to make changes to their ad strategies on a real-time basis. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, Connected TV (“CTV”), social media channels and digital publishers. The Company’s solutions are accredited by the Media Rating Council, which allows the Company’s data to be used as a single-source standard in the evaluation and measurement of digital ads.

The Company was incorporated on August 16, 2017, is registered in the state of Delaware and is the parent company of DoubleVerify Midco, Inc. (“MidCo”), which is in turn the parent company of DoubleVerify Inc.  On August 18, 2017, DoubleVerify Inc. entered into an agreement and plan of merger (the “Agreement”), whereby the Company, formerly known as Pixel Group Holdings, Inc. and Pixel Merger Sub, Inc. (“Merger Sub”), a wholly owned subsidiary of the Company, agreed to provide for the merger of the Merger Sub with DoubleVerify Inc. pursuant to the terms and conditions of the Agreement.

On the effective date, Merger Sub was merged with and into DoubleVerify Inc. whereupon the separate corporate existence of Merger Sub ceased and DoubleVerify Inc. continued as the surviving corporation.

Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc. resulting in a change of control at the parent level.  The merger resulted in the application of acquisition accounting under the provisions of Financial Accounting Standards Board (“FASB”) Topic Accounting Standards Codification (“ASC”) 805, Business Combinations.

The Company has wholly owned subsidiaries in numerous jurisdictions including Israel, the United Kingdom, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, and Finland, and operates in one reportable segment.

On April 23, 2021, the Company completed an initial public offering of its common stock (“IPO”). See Footnote 12, Stockholders’ Equity.    

2.     Basis of Presentation and Summary of Significant Accounting Policies

Basis of Preparation and Principles of Consolidation

The accompanying Condensed Consolidated Balance Sheets as of September 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.

8

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

On March 29, 2021, the Company effected a 1-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items including, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements.

Recently Issued Accounting Pronouncements

The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.

Financial Instruments - Credit Losses    

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  

Cloud Computing    

In August 2018, the FASB issued ASU No. 2018-15, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That is a Service Contract (“ASU 2018-15”). This update was issued to align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption.

The Company intends to adopt amendment ASU No. 2018-15 on December 31, 2021 using a prospective approach. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

9

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

Leases

In February 2016, the FASB issued ASU No. 2016-02, Leases Topic 842 (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018- 10, Codification Improvements to Topic 842, Leases, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018- 11, Leases: Targeted Improvements ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Simplifying the Accounting for Income Taxes

In December 2019, the FASB issued ASU No. 2019-12, Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”). ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective method of adoption. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

3.     Revenue

The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Direct or measured and purchased for Programmatic, and supply-side customers, where revenue is generated based on contracts with minimum guarantees or contracts that contain overages after minimum guarantees are achieved.

Disaggregated revenue by customer type is as follows:

Three Months Ended

    

Nine Months Ended

September 30, 

September 30, 

(in thousands)

    

2021

    

2020

    

2021

    

2020

Advertiser - direct

$

34,057

$

27,582

$

93,260

$

73,476

Advertiser - programmatic

 

41,902

 

28,044

 

113,694

 

76,023

Supply-side customer

 

7,139

 

5,411

 

20,254

 

15,777

Total revenue

$

83,098

$

61,037

$

227,208

$

165,276

Contract assets relate to the Company’s conditional right to consideration for completed performance under the contract (e.g., unbilled receivables). Trade receivables, net of allowance for doubtful accounts, include unbilled receivable balances of $36.1 million and $44.9 million as of September 30, 2021 and December 31, 2020, respectively.

10

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

4.    Business Combinations

Meetrics GmbH

On August 31, 2021, the Company acquired all of the outstanding stock of Meetrics GmbH (“Meetrics”). Meetrics was founded in 2008 in Berlin, Germany and is a European-based ad verification provider – offering comprehensive media quality measurement solutions across viewability, fraud, brand safety and suitability. The aggregate net cash purchase price was $24.3 million. This acquisition expands DoubleVerify’s international presence as substantially all of Meetrics’ customer base and business operations are based in Europe, the Middle East, and Africa.

The following table summarizes the preliminary fair value of assets acquired and liabilities assumed as of the acquisition date:

(in thousands)

    

Acquisition Date

Assets:

 

  

Cash and cash equivalents

$

1,007

Trade receivables

 

948

Other assets

 

96

Property, plant and equipment

27

Intangible assets:

 

Technology

 

2,245

Customer relationships

 

7,208

Trademarks

47

Non-compete agreements

71

Total intangible assets

 

9,571

Goodwill

 

17,057

Total assets acquired

$

28,706

Liabilities:

 

  

Trade payables

$

145

Other current liabilities

 

345

Deferred tax liability

2,886

Total liabilities assumed

 

3,376

Total purchase consideration

$

25,330

Cash acquired

(1,007)

Net cash purchase price

24,323

The acquired intangible assets of Meetrics will be amortized over their estimated useful lives. Accordingly, customer relationships will be amortized over fourteen years, developed technology will be amortized over four years, non-compete agreements will be amortized over two years, and trademarks will be amortized over one year. The total weighted-average useful life of the acquired intangible assets as of September 30, 2021 is 11.4 years. The Company recognized a deferred tax liability of $2.9 million in relation to the intangible assets acquired.

The goodwill and identified intangible assets are not deductible for tax purposes. The Company incurred acquisition-related transaction costs of $0.7 million included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2021.

The goodwill associated with Meetrics includes the acquired assembled work force, the value associated with the opportunity to leverage the work force to continue to develop the future generations of verification technology assets, as well as the ability to grow the Company through adding additional customer relationships or new solutions in the future.

11

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

The preliminary allocations of the purchase price for Meetrics are subject to revisions as additional information is obtained about the facts and circumstances that existed as of the acquisition date. The revisions may have a significant impact on the accompanying condensed consolidated financial statements. The allocations of the purchase price will be finalized once all information is obtained and assessed, not to exceed one year from the acquisition date.

The acquisition of Meetrics was immaterial to the Company's Condensed Consolidated Financial Statements for the three and nine months ended September 30, 2021 and 2020, and therefore, supplemental information disclosure on an unaudited pro forma basis is not presented.

Zentrick NV

On February 15, 2019, the Company acquired all of the outstanding stock of Zentrick NV (“Zentrick”). Zentrick, headquartered in Ghent, Belgium is a digital video technology company that provides middleware solutions that increase the performance of online video advertising for brand advertisers, advertising platforms and publishers. This acquisition integrates technology into the Company’s suite of products related to advertising viewability specifically on video formats, a growing segment of the advertising market and critical for the delivery of verification services to social platforms and CTV. The aggregate purchase price consists of 1) $23.2 million paid in cash at closing, which excluded closing adjustments of approximately $0.2 million paid in April 2019 2) $0.1 million in holdback payment of which 50% was payable 12 months after the closing date, and the remaining 50% was payable 24 months after the closing date and 3) up to $17.3 million of performance-based deferred payments that comprises two components (the “Zentrick Deferred Payment Terms”). The first component has a $4.0 million maximum payment related to four milestone tranches of $1.0 million each based on achievement of certain product milestones (“technical milestones”). The second component has a total maximum payment of $13.0 million and varies based upon certain revenue targets in fiscal 2019, 2020, and 2021 (“revenue targets”).

Under the Zentrick Deferred Payment Terms, a portion of the technical milestones and revenue targets have been accounted at fair value as contingent consideration in the business combination with the remaining portion being accounted for as compensation expense under ASC 710, Compensation - General.

As of September 30, 2021, the technical milestone and revenue target components of the contingent consideration had a fair value of $1.2 million and $0.5 million, respectively, and is recorded in Contingent Considerations Current in the Condensed Consolidated Balance Sheets. There was no change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three months ended September 30, 2021. For the nine months ended September 30, 2021, the Company recorded a $0.1 million unrealized loss for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income. The Company recorded less than $0.1 million unrealized gain and $0.9 million unrealized gain for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2020, respectively.

As of September 30, 2021, the technical milestone and revenue target components treated as compensation cost total $1.1 million and is included in Other Current Liabilities in the Condensed Consolidated Balance Sheets. For the three months ended September 30, 2021, there were no charges to the Condensed Consolidated Statements of Operations and Comprehensive Income. For the nine months ended September 30, 2021, less than $0.1 million was charged to the Condensed Consolidated Statements of Operations and Comprehensive Income. Less than $0.1 million and $0.2 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2020, respectively.

5.    Goodwill and Intangible Assets

As of September 30, 2021 and December 31, 2020, the carrying value of goodwill was $244.7 million and $227.3 million, respectively. The total change in the carrying value of goodwill was primarily related to $17.1 million from the Meetrics acquisition. The remaining change in goodwill was deemed immaterial.

12

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

The following table summarizes the Company’s intangible assets and related accumulated amortization:

(in thousands)

September 30, 2021

    

December 31, 2020

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

11,736

(3,200)

8,536

11,690

(2,562)

9,128

Customer relationships

 

109,301

(34,194)

 

75,107

 

102,220

 

(27,720)

 

74,500

Developed technology

 

65,599

(31,604)

 

33,995

 

63,210

 

(25,128)

 

38,082

Non-compete agreements

69

(2)

67

Total intangible assets

$

186,705

$

(69,000)

$

117,705

$

177,120

$

(55,410)

$

121,710

Amortization expense for the three months ended September 30, 2021 and September 30, 2020 is $4.6 million and $4.4 million, respectively. Amortization expense related to intangible assets amounted to $13.5 million and $13.4 million for the nine months ended September 30, 2021 and September 30, 2020, respectively.

Estimated future expected amortization expense of intangible assets as of September 30, 2021 is as follows:

(in thousands)

    

    

2021

$

4,755

2022

19,001

2023

18,929

2024

17,303

2025

15,146

2026

10,283

Thereafter

 

32,288

Total

$

117,705

The weighted-average remaining useful life by major asset classes as of September 30, 2021 is as follows:

    

(In years)

Trademarks and brands

 

11

Customer relationships

 

8

Developed technology

4

Non-compete agreements

 

2

There were no impairments identified during the nine months ended September 30, 2021 or September 30, 2020.

6.     Property, Plant and Equipment

Property, plant and equipment, including equipment under capital lease obligations and capitalized software development costs, consists of the following:

As of

(in thousands)

September 30, 2021

December 31, 2020

Computers and peripheral equipment

    

$

16,738

    

$

14,577

Office furniture and equipment

 

1,104

 

1,124

Leasehold improvements

 

9,315

 

9,267

Capitalized software development costs

 

13,236

 

8,382

Less accumulated depreciation and amortization

 

(23,700)

 

(15,243)

Total property, plant and equipment, net

$

16,693

$

18,107

13

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

For the three months ended September 30, 2021 and 2020, total depreciation expense was $2.9 million and $1.6 million, respectively. For the nine months ended September 30, 2021 and 2020, total depreciation expense was $8.5 million and $4.7 million, respectively.

Property and equipment financed through capital lease obligations, consisting of computer equipment, totaled $12.3 million and $10.7 million on September 30, 2021 and December 31, 2020, respectively. As of September 30, 2021 and December 31, 2020, accumulated depreciation related to property and equipment financed through capital leases totaled $9.4 million and $7.6 million, respectively. Refer to Note 13, Commitments and Contingencies.

7.     Fair Value Measurement

The following tables present the Company’s financial instruments that are measured at fair value on a recurring basis:

As of September 30, 2021

Quoted Market

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents

$

11,725

11,725

Liabilities:

Contingent consideration current

 

1,717

 

1,717

Contingent consideration non-current

 

 

Total contingent consideration

$

$

$

1,717

$

1,717

As of December 31, 2020

Quoted Market

 

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents

 

$

2,474

 

$

 

$

 

$

2,474

Liabilities:

Contingent consideration current

1,198

1,198

Contingent consideration non-current

 

462

 

462

Total contingent consideration

$

 

$

 

$

1,660

 

$

1,660

 

Cash equivalents consisting of money market funds of $11.7 million and money market funds and time deposits of $2.5 million as of September 30, 2021 and December 31, 2020, respectively, were classified as Level 1 of the fair value hierarchy and valued using quoted market prices in active markets.

Contingent consideration relates to potential payments that the Company may be required to make associated with a business combination. To the extent that the valuations of these liabilities are based on inputs that are less observable or not observable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised in determining fair value is greatest for measures categorized in Level 3.

14

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

Rollforward of the fair value measurements of the contingent consideration categorized with Level 3 inputs as of September 30, 2021 is as follows:

(in thousands)

Balance at January 1, 2021

$

1,660

Fair value adjustments

 

57

Payments during the year

 

Balance at September 30, 2021

$

1,717

The fair value of the component of contingent consideration related to achievement of revenue targets have been estimated using a Monte Carlo model to simulate future performance of the acquired business under a risk-neutral framework; significant assumptions include a risk-adjusted discount rate of 13.5% and revenue volatility of 29.0%. The fair value of the component of contingent consideration related to achievement of four technical milestones have been estimated using situation-based modeling, which considers the probability-weighted present value of the expected payout amount.

8.     Long-term Debt

On October 1, 2020, DoubleVerify Inc., as borrower (the “Borrower”), and MidCo, as guarantor, entered into an amendment and restatement agreement with the banks and other financial institutions party thereto, as lenders, and Capital One, National Association, as administrative agent, letter of credit issuer and swing lender, and others, to (i) amend and restate the Prior Credit Agreement as defined in the Prospectus (the Prior Credit Agreement, as amended and restated on October 1, 2020, the “Credit Agreement”) and (ii) replace the Prior Credit Facilities (as defined in the Prospectus) with a new senior secured revolving credit facility (the “New Revolving Credit Facility”) in an aggregate principal amount of $150.0 million (with a letter of credit facility of up to $15.0 million as a sublimit). Subject to certain terms and conditions, the Borrower is entitled to request additional term loan facilities or increases in the revolving credit commitments under the New Revolving Credit Facility. The New Revolving Credit Facility is payable in quarterly installments for interest, with the principal balance due in full at maturity on October 1, 2025. Additional fees paid quarterly include fees for the unused revolving facility and unused letter of credit. The commitment fee on any unused balance is payable periodically and may range from 0.25% to 0.40% based upon the total net leverage ratio. The New Revolving Credit Facility bears interest at LIBOR plus 2.25%, which may vary from time to time based on the Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.  

The New Revolving Credit Facility contains a number of significant negative covenants. Subject to certain exceptions, these covenants require the Borrower to comply with certain requirements and restrictions to, among other things: incur indebtedness; create liens; engage in mergers or consolidations; make investments, loans and advances; pay dividends or other distributions and repurchase capital stock; sell assets; engage in certain transactions with affiliates; enter into sale and leaseback transactions; and make certain accounting changes. As a result of these restrictions, substantially all of the net assets of the Borrower are restricted from distribution to the Company or any of its holders of equity.  

The New Revolving Credit Facility has a first priority lien on substantially all of the assets of MidCo, the Borrower and Ad-Juster, Inc., the Company’s indirect subsidiary. The New Revolving Credit Facility requires the Borrower to remain in compliance with a maximum total net leverage ratio and a minimum fixed charge coverage ratio as defined in the Credit Agreement.

As of September 30, 2021, the maximum total net leverage ratio and minimum fixed charge coverage ratio is 3.5x and 1.25x, respectively. The Borrower is in compliance with all covenants under the New Revolving Credit Facility as of September 30, 2021.

On April 30, 2021 the Company used a portion of the proceeds from the IPO and the concurrent private placement to pay the outstanding balance. As of September 30, 2021 and December 31, 2020, there was $0 outstanding and $22.0 million outstanding under the New Revolving Credit Facility, respectively.

15

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

9.     Income Tax

The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate ("ETR") based on actual historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, changes in the jurisdictional mix of forecasted pre-tax income, and changes to actual or forecasted permanent book to tax differences (e.g., non-deductible expenses). In addition, the Company’s ETR for a particular reporting period may fluctuate as the result of changes to the valuation allowance for net deferred tax assets, the impact of anticipated tax settlements with federal, state, or foreign tax authorities, or the impact of tax law changes. The Company identifies items that are unusual and non-recurring in nature and treat these as discrete events. The tax effect of these discrete events is booked entirely in the quarter in which they occur.

During the three and nine months ended September 30, 2021, the Company recorded an income tax provision of $3.3 million and $8.4 million, respectively, resulting in an effective tax rate of 29.2% and 89.3%, which includes an annualized effective tax provision of $3.3 million and $2.7 million (representing an effective tax rate of 29.2% and 29.1%) and discrete items relating primarily to transaction costs and state tax refunds of $0 and $5.6 million (representing an effective tax rate of 0.0% and 60.2%), respectively. During the three and nine months ended September 30, 2020, the Company recorded an income tax benefit of $1.4 million and an income tax provision of $2.0 million, respectively, resulting in an effective tax rate of (31.1%) and 13.8%, respectively. These effective tax rates differ from the U.S. federal statutory rate primarily due to the effects of differing treatment of transaction costs between book and tax, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes.

The COVID-19 (as defined herein) pandemic has a global reach, and many countries are introducing measures that provide relief to taxpayers in a variety of ways. In March 2020, the U.S. government enacted tax legislation containing provisions to support businesses during the COVID-19 pandemic (the “CARES Act”), including deferment of the employer portion of certain payroll taxes, refundable payroll tax credits, and technical amendments to tax depreciation methods for qualified improvement property. The CARES Act did not have a material impact on the Company’s income tax provision for the three and nine months ended September 30, 2021.

A valuation allowance has been established against a non-material amount of certain net foreign deferred tax assets and US tax loss carryforward. All other net deferred tax assets have been determined to be more likely than not realizable.

The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) and various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2016-2018 tax years. This examination may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from this, the Company is not currently under audit in any other jurisdiction.

On August 31, 2021, the Company acquired all of the outstanding stock of Meetrics, a German corporation, in a sale treated as a non-taxable event at the corporate level. The Company has calculated a preliminary tax basis balance sheet and deferred tax impact of the acquisition. The Company has recorded a deferred tax liability of $2.9 million relating to varying tax and book basis differences of intangible assets and goodwill.

In addition, Meetrics maintains net operating loss carryforwards of approximately $5.0 million through December 31, 2020. Based on a preliminary review of all positive and negative evidence, it appears to not be more likely than not that Meetrics will be able to utilize these loss carryforwards. Therefore, a deferred tax asset of $1.5 million has been recorded, which is fully offset by a valuation allowance.

16

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

10.   Earnings Per Share

The following table reconciles the numerators and denominators used in computations of the basic and diluted EPS for the three and nine months ended September 30:

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

2021

2020

2021

2020

Numerator:

    

  

    

  

    

Net Income (basic and diluted)

$

7,924

$

5,805

$

1,000

$

12,323

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

158,045

 

139,841

 

144,305

 

139,779

Dilutive effect of share-based awards

 

9,000

 

6,713

 

9,242

 

7,064

Weighted-average dilutive shares outstanding

 

167,045

 

146,554

 

153,547

 

146,843

Basic earnings per share

$

0.05

$

0.04

$

0.01

$

0.09

Diluted earnings per share

$

0.05

$

0.04

$

0.01

$

0.08

Approximately 4.6 million, and 4.3 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and nine months ended September 30, 2021, respectively, because they were antidilutive. Approximately 9.2 million, and 7.5 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and nine months ended September 30, 2020, respectively, because they were also antidilutive.

11.   Stock-Based Compensation

Employee Equity Incentive Plan

On September 20, 2017, the Company established its 2017 Omnibus Equity Incentive Program (the “2017 Plan”) which provides for the granting of equity based awards to certain employees, directors, independent contractors, consultants and agents. Under the 2017 Plan, the Company may grant non-qualified stock options, stock appreciation rights, restricted stock units, and other stock-based awards for up to 22,182 shares of common stock.

On April 19, 2021 the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). The maximum number of shares of common stock available for issuance under the 2021 Equity Plan is equal to the sum of (i) 30,000 shares of common stock and (ii) an annual increase on the first day of each year beginning in 2022 and ending in and including 2031, equal to the lesser of (A) five percent (5%) of the outstanding shares of common stock on the last day of the immediately preceding fiscal year and (B) such lesser amount as determined by the Board’s compensation committee. The 2021 Equity Plan provides for the grant of stock options (including qualified incentive stock options and nonqualified stock options), stock appreciation rights, restricted stock, restricted stock units, dividend equivalents, and other stock or cash settled incentive awards. Any shares covered by an award, or portion of an award, granted under the 2021 Equity Plan that expires or is forfeited, canceled, cash-settled, or otherwise terminated for any reason will again be available for the grant of awards under the 2021 Equity Plan.

Options become exercisable subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation of service and no later than 10 years after the grant date.

Restricted stock units are subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation.

17

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

A summary of stock option activity as of and for the nine months ended September 30, 2021 and December 31, 2020 is as follows:

Stock Option

Weighted Average

Remaining

Number of

Weighted Average

Contractual Life

Aggregate

Options

Exercise Price

(Years)

Intrinsic Value

Outstanding as of December 31, 2020

    

14,713

$

4.47

7.79

$

181,914

Options granted

 

1,707

30.95

Options exercised

 

(1,710)

3.28

Options forfeited

 

(271)

7.15

Outstanding as of September 30, 2021

 

14,439

$

7.70

7.41

$

383,974

Options expected to vest as of September 30, 2021

 

4,136

$

16.20

8.90

$

75,637

Options exercisable as of September 30, 2021

 

6,404

$

3.68

6.70

$

195,205

Stock options include grants to executives that contain both market-based and performance-based vesting conditions. There were no stock options granted that contain both market-based and performance-based vesting conditions during the nine months ended September 30, 2021. As of September 30, 2021, 3,433 market-based and performance-based awards were outstanding. As of September 30, 2021, the Company did not consider the performance condition to be probable and did not recognize any expense associated with these options.

The weighted average grant date fair value of options granted during the nine months ended September 30, 2021 and 2020 was $12.85 and $2.40, respectively. The total intrinsic value of options exercised during the nine months ended September 30, 2021 and 2020 was $50.5 million and $0.5 million, respectively.

The fair market value of each option granted during the nine months ended September 30, 2021 has been estimated on the grant date using the Black-Scholes-Merton option-pricing model with the following assumptions:

2021

Risk - free interest rate (percentage)

 

0.6. - 1.1

Expected term (years)

 

5.9 - 6.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

42.1 - 43.6

The Company’s board of directors (the “Board”) did not declare or pay dividends of the Company’s common or preferred stock during the nine months ended September 30, 2021 or during the nine months ended September 30, 2020.

A summary of restricted stock unit activity as of and for the nine months ended September 30, 2021 and December 31, 2020 is as follows:

    

Restricted Stock

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2020

1,261

$

7.74

Granted

 

1,720

30.88

Vested

 

(322)

8.97

Forfeited

 

(4)

35.54

Outstanding as of September 30, 2021

 

2,655

$

22.54

Expected to vest as of September 30, 2021

 

2,330

18

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

The total grant date fair value of restricted stock units that vested during the nine months ended September 30, 2021 was $2.9 million.

As of September 30, 2021, unrecognized stock-based compensation expense was $68.9 million, which is expected to be recognized over a weighted-average period of 1.6 years.

Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income as follows:

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

(in thousands)

 

2021

 

2020

 

2021

 

2020

Product development

$

1,239

$

212

$

1,953

$

465

Sales, marketing and customer support

 

1,423

 

305

 

3,743

 

869

General and administrative

 

2,186

 

1,102

 

6,404

 

2,227

Total stock-based compensation

$

4,848

$

1,619

$

12,100

$

3,561

Employee Stock Purchase Plan

In March 2021, the Board approved the Company’s 2021 Employee Stock Purchase Plan (“ESPP”), and employees became eligible to enroll in August 2021. The ESPP qualifies as an “employee stock purchase plan” under Section 423 of the U.S. Internal Revenue Code of 1986, as amended.

The Company reserved 3,000 shares of common stock for sale under the ESPP. The share reserve increases on the first day of each calendar year beginning on January 1, 2022 and ending on and including January 1, 2031, equal to the lesser of (i) one percent (1%) of the aggregate number of shares of common stock outstanding on the final day of the immediately preceding calendar year and (ii) such smaller number of shares of common stock as is determined by the Board.

Purchases are accomplished through participation in discrete offering periods. Currently, the ESPP is available only to U.S. based employees; the Company is reviewing offering the ESPP program to employees in non-U.S. jurisdictions. The first offering and purchase period began on September 1, 2021 and will end on November 30, 2021. The Company expects the program to continue consecutively for six-month offering periods (commencing on December 1, 2021) for the foreseeable future.

Under the ESPP, eligible employees are able to acquire shares of the Company’s common stock by accumulating funds through payroll deductions. Company employees in the United States generally are eligible to participate in the ESPP if they are a full-time employee and have completed six months of continuous service with the Company as of the last day of the enrollment period. Eligible employees are able to select a rate of payroll deduction between 1% and 15% of their compensation, up to a $25 annual contribution limit. The purchase price for shares of common stock purchased under the ESPP is 85% of the lesser of the fair market value of the common stock on (i) the first trading day of the applicable offering period and (ii) the last trading day of the applicable offering period. An employee’s participation automatically ends upon termination of employment for any reason. A participant may cancel enrollment or lower their contributions once during an offering period, but no later than 30 days before the end of an offering period. Upon the termination of an employee’s participation in the ESPP, payroll deductions will be stopped and refunded.

Stock-based compensation expense for the ESPP is recognized on a straight-line basis over the requisite service period of each award. The ESPP also has a six-month holding period after the purchase date of the offering period. Stock-based compensation expense related to ESPP totaled less than $0.1 million for the three and nine months ended September 30, 2021.

19

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

12. Stockholders’ Equity

On April 9, 2021, the Company entered into an arrangement with an affiliate of Tiger Global Management, LLC (the ‘‘Tiger Investor’’) whereby the Tiger Investor purchased $30.0 million of the Company’s common stock in a private placement (‘‘concurrent private placement’’) concurrent with the completion of the IPO. The price per share was equal to the IPO price of $27.00, for a total of 1,111 shares. The Company received total aggregate net proceeds of $29.0 million, after deducting underwriting fees of $1.0 million.

On April 23, 2021, the Company completed its IPO in which the Company issued and sold 9,977 shares of common stock at a public offering price of $27.00 per share, which included the full exercise of the underwriters’ option to purchase 1,350 additional shares of common stock. The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company incurred offering costs of approximately $26.8 million for the concurrent private placement and IPO, of which $0 and $21.8 million were included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2021, respectively. The IPO offering also included 5,356 shares sold by Providence VII U.S. Holdings L.P. (“Providence”) and other existing stockholders, which included the full exercise of the underwriters’ option to purchase 650 additional shares from Providence, in which the Company did not receive any proceeds from the shares sold.

In connection with the Company’s IPO, all shares of the Company’s outstanding preferred stock automatically converted into 20,335 shares of common stock on a one for one-third basis. The Company’s treasury stock, consisting of 15,146 shares of common stock, was reissued in the preferred stock conversion.

In conjunction with the IPO, the Company increased the authorized shares of its capital stock. The Company’s capital stock consists of 1,000,000 shares of common stock, par value $0.001 per share and 100,000 shares of undesignated preferred stock, par value $0.01 per share. Further, the Company amended and restated its existing amended and restated certificate of incorporation and its existing bylaws of the Company, as previously reported in the Prospectus, which incorporates material modifications to rights of security holders.

13.   Commitments and Contingencies

Accrued Expense

Accrued expenses as of September 30, 2021 and December 31, 2020 were as follows:

    

As of

(in thousands)

September 30, 2021

    

December 31, 2020

Vendor payments

$

5,254

$

3,896

Employee commissions and bonuses

 

8,372

 

11,344

Payroll and other employee related expense

 

8,810

 

6,957

401k and pension expense

 

1,459

 

1,358

Other taxes

 

1,232

 

1,864

Total accrued expense

$

25,127

$

25,419

Operating Leases

The Company and its subsidiaries have entered into operating lease agreements for certain of its office space and data centers. The offices are located in the United States, Israel, Belgium, Finland, France, Japan, Singapore, the United Kingdom, Germany, Poland and the United Arab Emirates. The data centers are premises used to house computing and networking equipment. The data centers are located in the United States, Netherlands, Germany and Singapore.

20

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

For the three months ended September 30, 2021 and September 30, 2020, office and data center rent expense was $1.5 million and $1.8 million, respectively. For the nine months ended September 30, 2021 and September 30, 2020, office and data center rent expense was $3.9 million and $5.3 million, respectively.

For the three and nine months ended September 30, 2021, the Company recorded expense of $0.8 million in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income upon triggering the recognition of a cease-use liability related to unoccupied leased office space; whereby, the Company no longer receives any economic benefit from the rights conveyed by the lease. The cease-use liability was determined based on the remaining lease rentals, adjusted for the effects of any prepaid or deferred items recognized under the lease as required by ASC 420, Exit or Disposal Cost Obligations.

Future minimum lease obligations are as follows:

    

Year Ending

(in thousands)

December 31, 

2021(for remaining three months)

$

1,550

2022

 

5,347

2023

 

4,880

2024

 

1,015

2025

981

2026

368

Thereafter

76

$

14,217

Capital Leases

As of September 30, 2021, the Company had seven lease agreements for certain equipment which provide for the transfer of ownership at the end of the lease term or are for underlying assets that will have an insignificant fair value at the end of the lease term. The Company has classified these agreements as capital leases and recognized the corresponding assets and liabilities within the Condensed Consolidated Balance Sheet.

The following is a schedule of future minimum lease payments under these agreements (including interest) as of September 30, 2021.

    

Year Ending

(in thousands)

December 31, 

2021 (for remaining three months)

$

674

2022

 

2,144

2023

 

1,937

2024

 

598

2025

 

170

Total

 

5,523

Less: Amount representing interest

 

(277)

Present Value of net minimum capital lease payments

$

5,246

Capital leases short term

$

2,140

Capital leases long term

 

3,106

Total

$

5,246

21

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

Contingencies

From time to time, the Company is subject to various legal proceedings and claims, either asserted or unasserted, that arise in the ordinary course of business. The Company records liabilities for contingencies including legal costs when it is probable that a liability has been incurred and when the amount can be reasonably estimated. Legal costs are expensed as incurred. Although the outcome of the various legal proceedings and claims cannot be predicted with certainty, management does not believe that any of these proceedings or other claims will have a material effect on the Company’s business, financial condition, results of operations or cash flows.

With respect to potential payments due related to the Zentrick acquisition, discussed in Footnote 4, Business Combinations, the Company and the Zentrick selling stockholders are currently in discussions to negotiate the early termination of the Zentrick Deferred Payment Terms and resolution of the contingent payments due for both the technical milestones and revenue targets. The Company believes the total of approximately $2.8 million for these potential payments reflected in the Condensed Consolidated Balance Sheet as contingent consideration current and other current liabilities reflect the Company’s estimated obligations under the stock purchase agreement entered into in connection with the transaction, as of September 30, 2021. In efforts to terminate early the Zentrick Deferred Payment Terms, the Company believes payment between $2.8 million and $5.5 million is possible, with no amount within the range being a better estimate than the amount recorded on the Condensed Consolidated Balance Sheets.

14.    Segment Information

The Company has determined that it operates as one operating and reportable segment. The Company’s chief operating decision maker reviews financial information on a consolidated basis, together with certain operating and performance measures principally to make decisions about how to allocate resources and measure performance.

The Company has not disclosed certain geographic information pertaining to revenues and total assets as it is impracticable to disclose, is not utilized by the Company’s chief operating decision maker to review operating results or make decisions about how to allocate resources, and would not be useful to users of the Condensed Consolidated Financial Statements to disclose such information.

15.   Subsequent Events

On October 6, 2021, the Company approved 13 restricted stock units to be granted under the 2021 Equity Plan.

On October 27, 2021, the Company approved 11 stock options and 36 restricted stock units to be granted to employees under the 2021 Equity Plan.

On November 9, 2021, the Company announced an agreement to acquire Outrigger Media, Inc. d/b/a OpenSlate (“OpenSlate”) for $150 million, consisting of $125 million in cash and $25 million in DoubleVerify common stock. OpenSlate is a leading independent pre-campaign contextual targeting platform for social video and CTV. OpenSlate’s technology provides insight into the nature and quality of ad-supported content on large, video-driven social platforms, such as Facebook, TikTok and YouTube. 

22

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

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our interim Condensed Consolidated Financial Statements and related notes appearing elsewhere in this Quarterly Report and our Prospectus. In addition to our historical condensed consolidated financial information, the following discussion contains forward-looking statements that reflect our plans, estimates, and beliefs. Our actual results could differ materially from those discussed in the forward-looking statements. Factors that could cause or contribute to these differences include those discussed in our Prospectus and elsewhere in this Quarterly Report.

Company Overview

DoubleVerify is a leading software platform for digital media measurement and analytics. Our mission is to increase the effectiveness and transparency of the digital advertising ecosystem. Through our software platform and the metrics it provides, we help preserve the fair value exchange in the digital advertising marketplace.

Our customers include many of the largest global advertisers and digital ad platforms and publishers. We deliver our suite of measurement solutions through a robust and scalable software platform that provides our customers with unified data analytics. We provide a consistent, cross-platform measurement standard across all major forms of digital media, making it easier for advertiser and supply-side customers to benchmark performance across all of their digital ads and to optimize their digital strategies in real time. Our coverage spans over 40 key geographies where our customers are located and covers all major purchasing channels, media formats and devices.

For the three months ended September 30, 2021 and September 30, 2020, we generated 91% and 91% of our revenue, respectively, from advertiser customers. For the nine months ended September 30, 2021 and September 30, 2020, we generated 91% and 90% of our revenue, respectively, from advertiser customers. We derive revenue from our advertiser customers based on the volume of media transactions, or ads, that our software platform measures (“Media Transactions Measured”). Advertisers utilize the DV Authentic Ad, our definitive metric of digital media quality, to evaluate the existence of fraud, brand safety, viewability and geography for each digital ad. Advertisers pay us an analysis fee (“Measured Transaction Fee”) per thousand impressions based on the volume of Media Transactions Measured on their behalf. We maintain an expansive set of direct integrations across the entire digital advertising ecosystem, including with leading programmatic, CTV, and social platforms, which enable us to deliver our metrics to the platforms where our customers buy ads. Further, our services are not reliant on any single source of impressions and we can service our customers as their digital advertising needs change.

For the three months ended September 30, 2021 and September 30, 2020, 9% and 9% of our revenue, respectively, were generated from our supply-side customers to validate the quality of their ad inventory. For the nine months ended September 30, 2021 and September 30, 2020, 9% and 10% of our revenue, respectively, were generated from our supply-side customers to validate the quality of their ad inventory.  We generate revenue from supply-side customers based on monthly or annual contracts with minimum guarantees and tiered pricing when guarantees are met.

COVID-19

Since January 2020, an outbreak of the 2019 novel coronavirus (“COVID-19”) has evolved into a worldwide pandemic. We modified operations in line with our business continuity plans. While our facilities generally remain open, we are making extensive use of the work-from-home model at the moment. While COVID-19 has not had a significant impact on our results from operations to date, to the extent that demand for digital advertising declines, our results and financial condition may be materially and adversely impacted. Management is reviewing operations on a daily basis and there have been minimal interruptions in our customer facing operations to date.

23

Throughout the pandemic, the underlying demand for our products has remained relatively unchanged, with limited disruption to our new customer sales. For the three months ended September 30, 2021, we generated growth of 36% in total revenue as compared to the three months ended September 30, 2020. For the nine months ended September 30, 2021, we generated growth of 37% in total revenue as compared to the nine months ended September 30, 2020. Our existing customer base has remained largely stable, and our gross revenue retention rate was over 95% for the three months ended September 30, 2021. We define our gross revenue retention rate as the total prior period revenue earned from advertiser customers, less the portion of prior period revenue attributable to lost advertiser customers, divided by the total prior period revenue from advertiser customers, excluding a portion of our revenues that cannot be allocated to specific advertiser customers.

While the impact on our business has been limited to date, the pandemic has resulted in market and supply chain disruptions and a global economic slowdown. In the third quarter of 2021, we saw ad spend for certain categories continue to be impacted, including consumer packaged goods and auto, in part due to global supply chain disruptions. The duration of the pandemic is highly uncertain and cannot be predicted and may materially impact our results of operations and financial condition.  See “Risk Factors—Risks Relating to Our Business—Economic downturns and unstable market conditions, including as a result of the COVID-19 pandemic, could adversely affect our business, financial condition and results of operations” in our Prospectus.

Components of Our Results of Operations

We manage our business operations and report our financial results in a single segment.

Revenue

Our customers use our solutions to measure their digital advertisements. We generate revenue from our advertising customers based on the volume of Media Transactions Measured on our software platform, and for supply-side customers, based on contracts with minimum guarantees or contracts that have tiered pricing after minimum guarantees are achieved.

For the three months ended September 30, 2021 and 2020, we generated 91% and 91%, respectively, of our revenue from advertiser customers. For the nine months ended September 30, 2021 and 2020, we generated 91% and 90%, respectively, of our revenue from advertiser customers. Advertisers can purchase our services to measure the quality and performance of ads after they are purchased directly from digital properties, including publishers and social media platforms, which we track as Advertiser Direct revenue. Advertisers can also purchase our services through programmatic platforms to evaluate the quality of ad inventories before they are purchased, which we track as Advertiser Programmatic revenue. We generate revenue from advertisers by charging a Measured Transaction Fee based on the volume of Media Transactions Measured on behalf of our customers. We recognize revenue from advertisers in the period in which we provide our measurement solutions.

For the three months ended September 30, 2021 and 2020, we generated 9% and 9%, respectively, of our revenue from supply-side customers who use our data analytics to validate the quality of their ad inventory and provide data to their customers to facilitate targeting and purchasing of digital ads, which we refer to as Supply-Side revenue. For the nine months ended September 30, 2021 and 2020, Supply-Side revenue comprised 9% and 10% of revenue, respectively. We generate revenue from supply-side customers based on monthly or annual contracts with minimum guarantees and certain customers having tiered pricing when guarantees are met. We recognize revenue ratably over the contract term beginning on the date our product is made available to them, which typically begins on the commencement date of each contract.

24

The following table disaggregates revenue between advertiser customers (on both a direct and programmatic basis) and supply-side customers.

Three Months Ended September 30, 

Change

Change

Nine Months Ended September 30, 

    

Change

Change

2021

     

2020

     

$

     

%

     

2021

     

2020

     

$

     

%

(In Thousands)

    

(In Thousands)

  

    

Revenue by customer type:

  

  

  

  

  

Advertiser - direct

$

34,057

$

27,582

$

6,475

23

%

$

93,260

  

$

73,476

  

$

19,784

27

%

Advertiser - programmatic

 

41,902

 

28,044

 

13,858

49

 

113,694

  

 

76,023

  

 

37,671

50

Supply-side customer

 

7,139

 

5,411

 

1,728

32

 

20,254

  

 

15,777

  

 

4,477

28

Total revenue

$

83,098

  

$

61,037

$

22,061

36

%

$

227,208

  

$

165,276

  

$

61,932

37

%

Operating Expenses

Our operating expenses consist of the following categories:

Cost of revenue.  Cost of revenue primarily consists of platform hosting fees, data center costs, software and other technology expenses, and other costs directly associated with data infrastructure; personnel costs, including salaries, bonuses, stock-based compensation and benefits, directly associated with the support and delivery of our software platform and data solutions; and costs from revenue-sharing arrangements with our partners.

Product development.  Product development expenses primarily consist of personnel costs, including salaries, bonuses, stock-based compensation and benefits, third party vendors and outsourced engineering services, and allocated overhead. We allocate overhead such as information technology infrastructure, rent and occupancy charges based on headcount. Product development expenses are expensed as incurred, except to the extent that such costs are associated with software development that qualifies for capitalization, which are then recorded as capitalized software development costs included in Property, Plant and Equipment, Net on our Condensed Consolidated Balance Sheets. We amortize capitalized software development costs to depreciation and amortization.

Sales, marketing, and customer support.  Sales, marketing, and customer support expenses primarily consist of personnel costs directly associated with our sales, marketing, and customer support departments, including salaries, bonuses, stock-based compensation and benefits, and allocated overhead. We allocate overhead such as information technology infrastructure, rent and occupancy charges based on headcount. Sales and marketing expense also includes costs for promotional marketing activities, advertising costs, attendance at events and trade shows, and allocated overhead. Sales commissions are expensed as incurred.

General and administrative.  General and administrative expenses primarily consist of personnel expenses associated with our executive, finance, legal, human resources and other administrative employees. Our general and administrative expenses also include professional fees for external accounting, legal and other consulting services, and other overhead, as well as third-party costs related to acquisitions.

We continue to incur certain non-recurring professional fees and other expenses as part of our transition to becoming a public company. Following the effective date of the Prospectus, we expect to continue to incur additional expenses as a result of operating as a public company, including costs to comply with rules and regulations applicable to companies listed on a U.S. securities exchange, costs related to compliance and reporting obligations pursuant to the rules and regulations of the SEC, investor relations and professional services.

Interest expense.  Interest expense for the nine months ended September 30, 2021 and September 30, 2020 consists primarily of interest on our outstanding balances under the Prior Credit Facilities and the New Revolving Credit Facility, and also includes debt issuance costs. On October 1, 2020, we entered into the New Revolving Credit Facility and repaid all amounts outstanding under the Prior Credit Facilities. The New Revolving Credit Facility bears interest at LIBOR plus an applicable margin per annum. See “Debt Obligations.”

Other (income) expense.  Other (income) expense consists primarily of interest earned on our cash equivalents and short-term investments, gains and losses on foreign currency transactions, and change in fair value associated with contingent considerations related to our acquisitions.

25

Results of Operations

Comparison of the Three and Nine Months Ended September 30, 2021 and September 30, 2020

The following table shows our condensed Consolidated Results of Operations:

Three Months Ended September 30, 

Change

Change

Nine Months Ended September 30, 

Change

Change

2021

     

2020

     

$

     

%

     

2021

     

2020

     

$

     

%

    

(In Thousands)

 

(In Thousands)

    

Revenue

$

83,098

$

61,037

$

22,061

36

%

$

227,208

 

$

165,276

 

$

61,932

37

%

Cost of revenue (exclusive of depreciation and amortization shown separately below)

 

13,435

 

8,998

 

4,437

49

 

35,929

 

23,963

 

11,966

50

Product development

 

16,359

 

13,087

 

3,272

25

 

45,658

 

34,324

 

11,334

33

Sales, marketing and customer support

 

19,539

 

16,728

 

2,811

17

 

54,653

 

41,880

 

12,773

30

General and administrative

 

14,465

 

10,369

 

4,096

40

 

58,317

 

29,327

 

28,990

99

Depreciation and amortization

 

7,492

 

6,087

 

1,405

23

 

21,989

 

18,167

 

3,822

21

Income from operations

 

11,808

 

5,768

 

6,040

105

 

10,662

 

17,615

 

(6,953)

(39)

Interest expense

 

249

 

858

 

(609)

(71)

 

936

 

2,958

 

(2,022)

(68)

Other expense, net

 

365

 

481

 

(116)

(24)

 

365

 

359

 

6

2

Income before income taxes

 

11,194

 

4,429

 

6,765

153

 

9,361

 

14,298

 

(4,937)

(35)

Income tax expense (benefit)

 

3,270

 

(1,376)

 

4,646

(338)

 

8,361

 

1,975

 

6,386

323

Net income

$

7,924

$

5,805

$

2,119

37

%

$

1,000

$

12,323

$

(11,323)

(92)

%

The following table sets forth our Condensed Consolidated Results of Operations for the specified periods as a percentage of our revenue for those periods presented:

Three Months Ended September 30, 

Nine Months Ended September 30, 

2021

    

2020

    

2021

    

2020

Revenue

100

%  

100

%  

100

%  

100

%

Cost of revenue (exclusive of depreciation and amortization shown separately below)

16

 

15

 

16

 

14

Product development

20

 

21

 

20

 

21

Sales, marketing and customer support

24

 

27

 

24

 

25

General and administrative

17

 

17

 

26

 

18

Depreciation and amortization

9

 

10

 

10

 

11

Income from operations

14

 

9

 

5

 

11

Interest expense

 

1

 

 

2

Other expense, net

 

1

 

 

Income before income taxes

13

 

7

 

4

 

9

Income tax expense (benefit)

4

 

(2)

 

4

 

1

Net income

10

%  

10

%  

%  

7

%  

Revenue

Total revenue increased by $22.1 million, or 36%, from $61.0 million in the three months ended September 30, 2020 to $83.1 million in the three months ended September 30, 2021. Total revenue increased by $61.9 million, or 37%, from $165.3 million in the nine months ended September 30, 2020 to $227.2 million in the nine months ended September 30, 2021.

Advertiser Direct revenue grew $6.5 million, or 23%, in the three months ended September 30, 2021 as compared to the three months ended September 30, 2020, driven primarily by growth of 41% in Media Transactions Measured for CTV and 83% in Media Transactions Measured for social channels. Advertiser Direct revenue grew $19.8 million, or 27%, in the nine months ended September 30, 2021 as compared to the nine months ended September 30, 2020, driven primarily by growth of 65% in Media Transactions Measured for CTV and 91% in Media Transactions Measured for social channels.

26

 Advertiser Programmatic revenue grew $13.9 million, or 49%, in the three months ended September 30, 2021 as compared to the three months ended September 30, 2020, driven primarily by continued adoption of our premium-priced Authentic Brand Suitability solution. Advertiser Programmatic revenue grew $37.7 million, or 50%, in the nine months ended September 30, 2021 as compared to the nine months ended September 30, 2020, driven primarily by continued adoption of our premium-priced Authentic Brand Suitability solution.  As previously disclosed in the Prospectus, we made a concession of $4.6 million to a Demand-Side-Platform partner which reduced Advertiser Programmatic revenue for amounts that were incorrectly billed by the partner and remitted to us in the period from January 2018 through December 2019. This concession was recorded in the third quarter of 2020.

 Supply-Side revenue grew $1.7 million, or 32%, in the three months ended September 30, 2021 as compared to the three months ended September 30, 2020, primarily driven by increased uptake of our solutions from our platform and publisher customers. Supply-Side revenue grew $4.5 million, or 28%, in the nine months ended September 30, 2021 as compared to the nine months ended September 30, 2020, primarily driven by increased uptake of our solutions from our platform and publisher customers. 

Cost of Revenue (exclusive of depreciation and amortization shown below)

Cost of revenue increased by $4.4 million, or 49%, from $9.0 million in the three months ended September 30, 2020 to $13.4 million in the three months ended September 30, 2021. The increase was primarily due to higher partner costs from revenue-sharing arrangements with our Advertiser Programmatic partners, as well as higher software and other technology costs to support our increased volumes. Cost of revenue increased by $12.0 million, or 50%, from $24.0 million in the nine months ended September 30, 2020 to $35.9 million in the nine months ended September 30, 2021. The increase was primarily due to higher partner costs from revenue-sharing arrangements with our Advertiser Programmatic partners, as well as higher software and other technology costs to support our increased volumes.

Product Development Expenses

Product development expenses increased by $3.3 million, or 25%, from $13.1 million in the three months ended September 30, 2020 to $16.4 million in the three months ended September 30, 2021. The increase was primarily due to an increase in personnel costs of $1.7 million, which reflects our continued hiring of resources to support our product-development efforts, and $1.0 million of additional stock-based compensation expense. Product development expenses increased by $11.3 million, or 33%, from $34.3 million in the nine months ended September 30, 2020 to $45.7 million in the nine months ended September 30, 2021. The increase was primarily due to an increase in personnel costs of $8.6 million, which reflects our continued hiring of resources to support our product-development efforts, in addition to $1.5 million of stock-based compensation expenses, $0.5 million of higher office expenses and $0.6 million of higher software expenses.

Sales, Marketing and Customer Support Expenses

Sales, marketing and customer support expenses increased by $2.8 million, or 17%, from $16.7 million in the three months ended September 30, 2020 to $19.5 million in the three months ended September 30, 2021. The increase was primarily due to an increase in personnel costs, including sales commissions, of $1.5 million to support our sales efforts, grow market presence in international markets, drive continued expansion with our existing customers, and support existing and new customers in addition to $1.1 million of higher stock-based compensation expense. Sales, marketing and customer support expenses increased by $12.8 million, or 30%, from $41.9 million in the nine months ended September 30, 2020 to $54.7 million in the nine months ended September 30, 2021. The increase was primarily due to an increase in personnel costs, including sales commissions, of $11.2 million to support our sales efforts, grow market presence in international markets, drive continued expansion with our existing customers, and support existing and new customers, in addition to increased stock-based compensation expenses of $2.9 million.

27

General and Administrative Expenses

General and administrative expenses increased by $4.1 million, or 40%, from $10.4 million in the three months ended September 30, 2020 to $14.5 million in the three months ended September 30, 2021. The increase was primarily due to an increase in compensation expenses of $2.0 million, an increase in stock-based compensation expenses of $1.1 million, and an increase in professional fees of $1.3 million. This was partially offset by a decrease of $1.5 million in Other operating expenses, comprised primarily of a reversal of bad debt expense of $1.4 million. General and administrative expenses increased by $29.0 million, or 99%, from $29.3 million in the nine months ended September 30, 2020 to $58.3 million in the nine months ended September 30, 2021. The increase was primarily due to $20.0 million of higher transaction costs associated with the preparation and completion of the Company’s IPO, as well as an increase in compensation expenses of $7.6 million and an increase in stock-based compensation expenses of $4.2 million. This was partially offset by a reduction of $2.7 million in other general and administrative expenses, which was comprised primarily of a reversal in bad debt expense of $1.2 million.

Depreciation and Amortization

Depreciation and amortization increased by $1.4 million, or 23%, from $6.1 million in the three months ended September 30, 2020 to $7.5 million in the three months ended September 30, 2021. The increase was primarily due to an increase in depreciation related to capital expenditures. Depreciation and amortization increased by $3.8 million, or 21%, from $18.2 million in the nine months ended September 30, 2020 to $22.0 million in the nine months ended September 30, 2021. The increase was primarily due to an increase in depreciation related to capital expenditures.

Interest Expense

Interest expense is mainly related to our Prior Credit Facilities and New Revolving Credit Facility, which carry a variable interest rate. Interest expense decreased by $0.6 million, from $0.9 million in the three months ended September 30, 2020 to $0.3 million in the three months ended September 30, 2021. The decrease was attributable to a reduction in outstanding debt. Interest expense decreased by $2.0 million, from $3.0 million in the nine months ended September 30, 2020 to $0.9 million in the nine months ended September 30, 2021. The decrease was attributable to a reduction in outstanding debt.

Other Expense, Net

Other expense decreased by $0.1 million, from a loss of $0.5 million in the three months ended September 30, 2020 to a loss of $0.4 million in the three months ended September 30, 2021, primarily due to changes in exchange rates. Other income decreased by less than $0.1 million, from a loss of $0.4 million in the nine months ended September 30, 2020 to a loss of $0.4 million in the nine months ended September 30, 2021, primarily due to a decrease in realized gains for changes in fair value related to contingent payments from our acquisition of Zentrick NV in February 2019, partially offset by changes in exchange rates.

Income Tax Expense (Benefit)

Income tax benefit decreased by $4.6 million from $1.4 million in the three months ended September 30, 2020 to a loss of $3.3 million in the three months ended September 30, 2021. The decrease was primarily due to an increase in pre-tax income, after taking into account permanent book to tax income adjustments. The only material adjustment during these periods relate to Research and Development tax credits during the three months ended September 30, 2020. Income tax expense grew by $6.4 million from $2.0 million in the nine months ended September 30, 2020 to $8.4 million in the nine months ended September 30, 2021. The increase was primarily due to an increase in pre-tax income, after taking into account permanent book to tax income adjustments. The most material of these adjustments during these periods relate to Research and Development tax credits and the adding back of non-deductible transaction costs for tax purposes.

28

Adjusted EBITDA

In addition to our results determined in accordance with GAAP, we believe that certain non-GAAP financial measures, including Adjusted EBITDA and Adjusted EBITDA Margin, are useful in evaluating our business. A metric similar to Adjusted EBITDA is used in certain calculations under our New Revolving Credit Facility. We calculate Adjusted EBITDA Margin as Adjusted EBITDA divided by total revenue. The following table presents a reconciliation of Adjusted EBITDA, a non-GAAP financial measure, to the most directly comparable financial measure prepared in accordance with GAAP.

Three Months Ended September 30, 

Nine Months Ended September 30, 

2021

    

2020

    

2021

    

2020

(In Thousands)

(In Thousands)

Net income

$

7,924

$

5,805

$

1,000

 

$

12,323

Net income margin

10%

10%

0%

7%

Depreciation and amortization

 

7,492

 

6,087

 

21,989

 

18,167

Stock-based compensation

 

4,848

 

1,619

 

12,100

 

3,561

Interest expense

 

249

 

858

 

936

 

2,958

Income tax expense (benefit)

 

3,270

 

(1,376)

 

8,361

 

1,975

M&A costs (recoveries) (a)

 

1,079

(25)

1,128

 

198

Offering costs and IPO readiness costs (b)

 

318

768

22,465

 

2,995

Other costs (c)

 

878

307

987

 

3,031

Other expense (d)

 

365

 

481

 

365

 

359

Adjusted EBITDA

$

26,423

$

14,524

$

69,331

$

45,567

Adjusted EBITDA margin

32%

 

24%

 

31%

 

28%

(a)M&A costs (recoveries) for the three and nine months ended September 30, 2021 consist of transaction costs related to the acquisition of Meetrics and other deferred compensation costs related to acquisitions. M&A costs for the three and nine months ended September 30, 2020 consist of deferred compensation costs related to acquisitions.
(b)Offering costs and IPO readiness costs for the three and nine months ended September 30, 2021 and 2020 consist of third-party costs incurred in preparation and completion for our IPO and other transaction related expenses.
(c)Other costs for the three and nine months ended September 30, 2021 consist of reimbursements paid to Providence for costs incurred prior to the IPO date and non-recurring recognition of a cease-use liability related to unoccupied leased office space. For the three and nine months ended September 30, 2020, other costs include reimbursements paid to Providence as well as costs related to the departure of our former Chief Executive Officer, and third-party costs incurred in response to investigating and remediating certain IT/cybersecurity matters that occurred in March 2020.
(d)Other expense for the three and nine months ended September 30, 2021 and 2020 consists of changes in fair value associated with contingent considerations and the impact of foreign currency transaction gains and losses associated with monetary assets and liabilities.

We use Adjusted EBITDA and Adjusted EBITDA Margin as measures of operational efficiency to understand and evaluate our core business operations. We believe that these non-GAAP financial measures are useful to investors for period to period comparisons of our core business and for understanding and evaluating trends in our operating results on a consistent basis by excluding items that we do not believe are indicative of our core operating performance.

29

These non-GAAP financial measures have limitations as analytical tools and should not be considered in isolation or as substitutes for an analysis of our results as reported under GAAP. Some of the limitations of these measures are:

they do not reflect changes in, or cash requirements for, our working capital needs;
Adjusted EBITDA does not reflect our capital expenditures or future requirements for capital expenditures or contractual commitments;
they do not reflect income tax expense or the cash requirements to pay income taxes;
they do not reflect our interest expense or the cash requirements necessary to service interest or principal payments on our debt; and
although depreciation and amortization are non-cash charges related mainly to intangible assets, certain assets being depreciated and amortized will have to be replaced in the future, and Adjusted EBITDA does not reflect any cash requirements for such replacements.

In addition, other companies in our industry may calculate these non-GAAP financial measures differently than we do, limiting their usefulness as a comparative measure. You should compensate for these limitations by relying primarily on our GAAP results and using the non-GAAP financial measures only supplementally.

Liquidity and Capital Resources

Our operations are financed primarily through cash generated from operations. As of September 30, 2021, we had cash of $319.8 million and net working capital, consisting of current assets (excluding cash) less current liabilities, of $67.2 million.

The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company also received total aggregate net proceeds of $29.0 million from the concurrent private placement, after deducting fees of $1.0 million.  We believe our existing cash and cash generated from operations, together with the proceeds from our recent IPO and concurrent private placement and the undrawn balance under the New Revolving Credit Facility, will be sufficient to meet our working capital and capital expenditure requirements for at least the next 12 months.

Our total future capital requirements and the adequacy of available funds will depend on many factors, including those discussed above as well as the risks and uncertainties set forth under “Risk Factors” in the Prospectus.

Our liquidity has not been materially impacted by the COVID-19 pandemic as discussed above.

Debt Obligations

In October 2020, DoubleVerify Inc., as borrower, and MidCo, as guarantor, entered into the New Revolving Credit Facility and, in connection therewith, repaid all amounts outstanding under the Prior Credit Facilities.

On December 24, 2020, DoubleVerify Inc. prepaid $68.0 million of the outstanding principal amount under the New Revolving Credit Facility with a portion of the proceeds from a private placement effected on November 18, 2020, in which certain investors purchased an aggregate of 61,006 thousand shares of our preferred stock from us and certain of our existing stockholders for an aggregate purchase price of approximately $350.0 million. As of March 31, 2021, $22.0 million was outstanding under the New Revolving Credit Facility.

On April 30, 2021, DoubleVerify Inc. paid the entire outstanding balance under the New Revolving Credit Facility of $22.0 million using proceeds from the IPO and the concurrent private placement. Following the payment and as of September 30, 2021, DoubleVerify Inc. has no outstanding variable rate indebtedness and has $150 million of availability under the New Revolving Credit Facility.

30

The New Revolving Credit Facility is secured by substantially all of our assets (subject to customary exceptions) and contains customary affirmative and restrictive covenants, including with respect to our ability to enter into fundamental transactions, incur additional indebtedness, grant liens, pay dividends or make distributions to our stockholders and engage in transactions with our affiliates. DoubleVerify Inc. is in compliance with all covenants under the New Revolving Credit Facility as of September 30, 2021.

Cash Flows

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

    

Nine Months Ended September 30, 

2021

2020

    

(In Thousands)

Cash flows provided by operating activities

$

58,434

$

17,838

Cash flows (used in) investing activities

 

(29,822)

 

(6,545)

Cash flows provided by (used in) financing activities

 

258,033

 

(4,911)

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

 

(173)

 

(38)

Increase in cash, cash equivalents, and restricted cash

$

286,472

$

6,344

Operating Activities

Our cash flows from operating activities are primarily influenced by growth in our operations and by changes in our working capital. In particular, accounts receivable increases in conjunction with our rapid growth in sales and decreases based on timing of cash receipts from our customers. The timing of payments on our liabilities also impacts our cash flows from operating activities. We typically pay suppliers in advance of collections from our customers. Our collection and payment cycles can vary from period to period.

For the nine months ended September 30, 2021, cash provided by operating activities was $58.4 million, attributable to net income of $1.0 million, adjusted for non-cash charges of $51.2 million and $6.2 million provided by changes in operating assets and liabilities. Non-cash charges primarily consisted of $22.0 million in depreciation and amortization, $21.8 million of offering costs, and $12.1 million in stock-based compensation.

For the nine months ended September 30, 2020, cash provided by operating activities was $17.8 million, attributable to net income of $12.3 million, adjusted for non-cash charges of $22.7 million and net cash outflows of $17.2 million provided by changes in operating assets and liabilities. Non-cash charges primarily consisted of $18.2 million in depreciation and amortization, $3.0 million in bad debt expense, and $3.6 million in stock-based compensation. The main drivers of the changes in operating assets and liabilities were a decrease in trade payables, accrued expenses, and other liabilities of $2.1 million and an increase of $15.1 million in trade receivables and prepaid assets.

Investing Activities

For the nine months ended September 30, 2021, cash used in investing activities of $29.8 million was attributable to the acquisition of Meetrics, purchases of property, plant and equipment, and capitalized software development costs. For the nine months ended September 30, 2020, cash used in investing activities of $6.5 million was attributable to purchases of property, plant and equipment and capitalized software development costs.

Financing Activities

For the nine months ended September 30, 2021, cash provided by financing activities of $258.0 million was primarily due to $299.4 million of proceeds from the IPO and concurrent private placement and stock option exercises of $5.5 million, partially offset by $22.0 million of debt repayment and $21.8 million of offering costs. For the nine months ended September 30, 2020, cash used for financing activities of $4.9 million was primarily due to $1.2 million of offering costs, $2.0 million of acquisition related deferred payments, and $1.2 million of capital lease payments.

31

Critical Accounting Policies and Estimates

Management’s discussion and analysis of our financial condition and results of operations is based on our Condensed Consolidated Financial Statements, which have been prepared in accordance with GAAP. The preparation of these financial statements requires us to make estimates and assumptions for the reported amounts of assets and liabilities and related disclosures at the dates of the financial statements, and revenue and expenses during the reporting periods. Our estimates are based on our historical experience and on various other factors that we believe are reasonable for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. We evaluate these estimates on an ongoing basis. Actual results may differ from these estimates under different assumptions or conditions, and any such differences may be material.

Some of the judgments that management makes in applying its accounting estimates in these areas are discussed in Note 2 to our audited Consolidated Financial Statements appearing in our Prospectus. Since the date of our Prospectus, there have been no material changes to our critical accounting policies and estimates.

32

Item 3: Quantitative and Qualitative Disclosures about Market Risk

Market risks at September 30, 2021 have not materially changed from those discussed in the Prospectus under the heading “Management’s Discussion and Analysis of Financial Condition and Results of Operations”.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures, as defined in Rule 13a-15(e) and 15d-15(e) under the Exchange Act, as of September 30, 2021.

Disclosure controls and procedures are controls and other procedures designed to ensure that information required to be disclosed in the reports filed or submitted under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in the SEC’s rules and forms. This also includes disclosure controls and procedures designed to ensure that information required to be disclosed in our reports filed under the Exchange Act is accumulated and communicated to management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosures.

Our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were not effective as of September 30, 2021 due to the material weaknesses in our internal control over financial reporting described below. However, management, including our Chief Executive Officer and Chief Financial Officer, has concluded that, notwithstanding the identified material weaknesses in our internal control over financial reporting, the Condensed Consolidated Financial Statements in this Quarterly Report fairly present, in all material respects, our financial position, results of operations and cash flows for the periods presented in conformity with GAAP.

Material Weakness in Internal Control over Financial Reporting

As disclosed in the “Risk Factors” section of the Prospectus, we previously identified a number of deficiencies related to the design and operating effectiveness of internal controls constituting material weaknesses in our control environment. Certain of those deficiencies relate to insufficient management review controls and lack of resources with an appropriate level of technical accounting knowledge that are relevant to the preparation and review of the Company's Consolidated Financial Statements, which constituted material weaknesses in our system of internal control. A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of a company’s annual or interim financial statements will not be prevented or detected on a timely basis.

Management’s Remediation Efforts

We have commenced measures to remediate the identified material weaknesses. The measures include hiring additional finance and accounting personnel with prior experience working for finance departments of public companies and technical accounting experience, supplemented by third-party resources and external advisors; preparing accounting memoranda to address significant accounting transactions and other technical accounting and financial reporting matters; and improving our monitoring controls in the financial statement close and reporting process.  

While we believe that these efforts will improve our internal control over financial reporting, the implementation of our remediation efforts is ongoing and will require validation and testing of the design and operating effectiveness of internal controls over a sustained period of financial reporting cycles. There can be no assurance that the measures we have taken to date, and are continuing to implement, will be sufficient to remediate the material weaknesses described above or prevent future material weaknesses or other deficiencies from occurring. There is no assurance that we will not identify additional material weaknesses in our internal control over financial reporting in the future.

33

We believe we are making progress toward achieving effectiveness of our internal controls and disclosure controls. The actions that we are taking are subject to ongoing senior management review, as well as audit committee oversight. We will not be able to conclude whether the steps we are taking will fully remediate the material weaknesses in our internal control over financial reporting until we have completed our remediation efforts and subsequent evaluation of their effectiveness. We may also conclude that additional measures may be required to remediate the material weaknesses in our internal control over financial reporting, which may necessitate additional implementation and evaluation time. We will continue to assess the effectiveness of our internal control over financial reporting and take steps to remediate the known material weaknesses expeditiously.

Changes in Internal Control over Financial Reporting

Except as otherwise described herein, there was no change in our internal control over financial reporting that occurred during the period covered by this Quarterly Report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

Limitations on the Effectiveness of Controls and Procedures

Management recognizes that a control system, no matter how well designed and implemented, can provide only reasonable, not absolute, assurance that the control system’s objectives will be met. Further, the design of a control system must reflect the fact that there are resource constraints and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues have been detected. The inherent limitations include the realities that judgments in decision-making can be faulty and that breakdowns can occur because of simple errors or mistakes. Controls can also be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the controls. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions or that the degree of compliance with the policies or procedures may deteriorate.    

34

Table of Contents

PART II — OTHER INFORMATION

Item 1. Legal Proceedings

We are not currently a party to any legal proceedings that would, either individually or in the aggregate, have a material adverse effect on our business, financial condition or cash flows. We may, from time to time, be involved in legal proceedings arising in the normal course of business. The outcome of legal proceedings is unpredictable and may have an adverse impact on our business or financial condition.

Item 1A. Risk Factors

There have been no material changes to the risk factors described in the section titled “Risk Factors” in the Prospectus.

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

(a) Recent Sales of Unregistered Securities

Not applicable.

(b) Use of Proceeds

On April 23, 2021, we completed our IPO in which we sold 9,977 thousand shares of common stock at a public offering price of $27.00 per share, which includes the full exercise of the underwriters’ option to purchase 1,350 thousand additional shares from us. We received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. We incurred offering costs related to the IPO of approximately $25.8 million, inclusive of underwriting discount fees. All of the shares issued and sold in our IPO were registered under the Securities Act pursuant to a registration statement on Form S-1 (File No. 333-254380), which was declared effective by the SEC on April 20, 2021. The representatives of the underwriters of our IPO were Goldman Sachs & Co. LLC and J.P. Morgan Securities LLC.

 

In connection with the IPO, Providence and certain of our other existing stockholders sold an aggregate of 5,356 thousand shares of our common stock, which includes the full exercise of the underwriters’ option to purchase 650 thousand additional shares of our common stock from Providence. We did not receive any proceeds from the sale of shares by these stockholders.

 

On April 23, 2021, concurrent with the completion of the IPO, the Tiger Investor purchased from us 1,111 thousand shares of our common stock in a private placement at a price per share equal to the IPO price of $27.00. We received aggregate net proceeds of $29.0 million from the concurrent private placement, after deducting fees of $1.0 million.

 

On April 30, 2021, we used a portion of the net proceeds from the IPO and concurrent private placement to pay the entire outstanding balance under the New Revolving Credit Facility of $22.0 million.

On August 31, 2021, we used a portion of the net proceeds from the IPO and concurrent private placement to purchase all of the outstanding stock of Meetrics for $25.3 million.

 

There has been no material change in the planned use of the IPO net proceeds as described in the Prospectus.

(c) Issuer Purchases of Equity Securities

Not applicable.

Item 3. Defaults Upon Senior Securities

Not applicable.

35

Table of Contents

PART II — OTHER INFORMATION

Item 4. Mine Safety Disclosures

Not applicable.

Item 5. Other Information

Not applicable.

36

Item 6. Exhibits

Exhibit
No.

    

Description

31.1†

Certification of Chief Executive Officer pursuant to Rule 13a-14(a) and Rule 15d-14(a) of the Exchange Act, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

31.2†

Certification of Chief Financial Officer pursuant to Rule 13a-14(a) and Rule 15d-14(a) of the Exchange Act, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

32.1†*

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

32.2†*

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

101.INS†

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

101.SCH†

XBRL Taxonomy Extension Schema Document

101.CAL†

XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF†

XBRL Taxonomy Extension Definition Linkbase Document

101.LAB†

XBRL Taxonomy Extension Label Linkbase Document

101.PRE†

XBRL Taxonomy Extension Presentation Linkbase Document

104†

Cover Page Interactive Data File (formatted in Inline XBRL and contained in Exhibit 101)

Filed herewith.

*

Pursuant to SEC Release No. 33-8212, this certification will be treated as “accompanying” this Quarterly Report and not “filed” as part of such report for purposes of Section 18 of the Exchange Act, or otherwise subject to the liability of Section 18 of the Exchange Act, and this certification will not be deemed to be incorporated by reference into any filing under the Securities Act, except to the extent that the registrant specifically incorporates it by reference.

37

SIGNATURES

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

Date: November 9, 2021

DOUBLEVERIFY HOLDINGS, INC.

By:

/s/ Mark Zagorski

Name:

Mark Zagorski

Title:

Chief Executive Officer and Director

(Principal Executive Officer)

By:

/s/ Nicola Allais

Name:

Nicola Allais

Title:

Chief Financial Officer

(Principal Financial Officer and Principal Accounting Officer)

38

EX-31.1 2 dv-20210930xex31d1.htm EX-31.1

Exhibit 31.1

Certification of Principal Executive Officer

pursuant to

Exchange Act Rules 13a-14(a) and 15d-14(a),

as adopted pursuant to

Section 302 of the Sarbanes-Oxley Act of 2002

I, Mark Zagorski, certify that:

1.

I have reviewed this quarterly report on Form 10-Q of DoubleVerify Holdings, 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:

November 9, 2021

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 dv-20210930xex31d2.htm EX-31.2

Exhibit 31.2

Certification of Principal Financial Officer

pursuant to

Exchange Act Rules 13a-14(a) and 15d-14(a),

as adopted pursuant to

Section 302 of the Sarbanes-Oxley Act of 2002

I, Nicola Allais, certify that:

1.

I have reviewed this quarterly report on Form 10-Q of DoubleVerify Holdings, 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:

November 9, 2021

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 dv-20210930xex32d1.htm EX-32.1

Exhibit 32.1

Certifications of Principal Executive Officer

pursuant to

18 U.S.C. Section 1350,

as adopted pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, Mark Zagorski, Chief Executive Officer (Principal Executive Officer) of DoubleVerify Holdings, Inc. (the “Company”), hereby certify that, to the best of my knowledge:

1)

The Company’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2021 (the “Report”), to which this certification is attached as Exhibit 32.1, fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2)

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

Date:

November 9, 2021

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-32.2 5 dv-20210930xex32d2.htm EX-32.2

Exhibit 32.2

Certifications of Principal Financial Officer

pursuant to

18 U.S.C. Section 1350,

as adopted pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, Nicola Allais, Chief Financial Officer (Principal Financial Officer) of DoubleVerify Holdings, Inc. (the “Company”), hereby certify that, to the best of my knowledge:

1)

The Company’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2021 (the “Report”), to which this certification is attached as Exhibit 32.2, fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2)

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

Date:

November 9, 2021

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-101.SCH 6 dv-20210930.xsd EX-101.SCH 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Business Combinations - Meetrics GmbH (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Business Combinations - Meetrics GmbH (Details) (Calc2) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Property, Plant and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Commitments and Contingencies - Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Business Combinations (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Fair Value Measurement - Rollforward of the fair value measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - Fair Value Measurement - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Long-term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Income Tax (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Stock-Based Compensation - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 41104 - Disclosure - Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details) link:presentationLink link:calculationLink link:definitionLink 41105 - Disclosure - Stock-Based Compensation - Restricted stock award activity (Details) link:presentationLink link:calculationLink link:definitionLink 41106 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 41107 - Disclosure - Stock-Based Compensation - Employee Stock Purchase Plan (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 41304 - Disclosure - Commitments and Contingencies - Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Business Combinations link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Property, Plant and Equipment link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Fair Value Measurement link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Long-term Debt link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Income Tax link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Business Combinations - (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Property, Plant and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Fair Value Measurement (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31101 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Stock-Based Compensation - Stock option activity (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 dv-20210930_cal.xml EX-101.CAL EX-101.DEF 8 dv-20210930_def.xml EX-101.DEF EX-101.LAB 9 dv-20210930_lab.xml EX-101.LAB EX-101.PRE 10 dv-20210930_pre.xml EX-101.PRE XML 11 dv-20210930x10q_htm.xml IDEA: XBRL DOCUMENT 0001819928 2021-04-23 2021-04-23 0001819928 us-gaap:AdditionalPaidInCapitalMember us-gaap:PrivatePlacementMember 2021-04-01 2021-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:PrivatePlacementMember 2021-04-01 2021-06-30 0001819928 us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember 2021-01-01 2021-03-31 0001819928 us-gaap:CommonStockMember 2020-04-01 2020-06-30 0001819928 us-gaap:CommonStockMember 2020-01-01 2020-03-31 0001819928 us-gaap:CommonStockMember 2021-07-01 2021-09-30 0001819928 dvh:ProvidenceViiU.s.HoldingsL.p.Member us-gaap:PrivatePlacementMember 2021-04-23 2021-04-23 0001819928 dvh:ProvidenceViiU.s.HoldingsL.p.Member us-gaap:OverAllotmentOptionMember 2021-04-23 2021-04-23 0001819928 us-gaap:OverAllotmentOptionMember 2021-04-23 2021-04-23 0001819928 us-gaap:CommonStockMember us-gaap:PrivatePlacementMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember 2020-07-01 2020-09-30 0001819928 us-gaap:TreasuryStockCommonMember 2021-04-01 2021-06-30 0001819928 us-gaap:PreferredStockMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember 2021-04-01 2021-06-30 0001819928 2021-03-29 2021-03-29 0001819928 us-gaap:RetainedEarningsMember 2021-09-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-09-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-09-30 0001819928 us-gaap:RetainedEarningsMember 2021-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001819928 2021-06-30 0001819928 us-gaap:RetainedEarningsMember 2021-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001819928 2021-03-31 0001819928 us-gaap:RetainedEarningsMember 2020-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-12-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001819928 us-gaap:RetainedEarningsMember 2020-09-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-09-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-09-30 0001819928 us-gaap:RetainedEarningsMember 2020-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001819928 2020-06-30 0001819928 us-gaap:RetainedEarningsMember 2020-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001819928 2020-03-31 0001819928 us-gaap:RetainedEarningsMember 2019-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2019-12-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001819928 dvh:TigerGlobalManagementLlcMember us-gaap:PrivatePlacementMember 2021-04-09 0001819928 us-gaap:TreasuryStockCommonMember 2021-09-30 0001819928 us-gaap:CommonStockMember 2021-09-30 0001819928 us-gaap:CommonStockMember 2021-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2021-03-31 0001819928 us-gaap:PreferredStockMember 2021-03-31 0001819928 us-gaap:CommonStockMember 2021-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2020-12-31 0001819928 us-gaap:PreferredStockMember 2020-12-31 0001819928 us-gaap:CommonStockMember 2020-12-31 0001819928 us-gaap:CommonStockMember 2020-09-30 0001819928 us-gaap:CommonStockMember 2020-06-30 0001819928 us-gaap:CommonStockMember 2020-03-31 0001819928 us-gaap:CommonStockMember 2019-12-31 0001819928 2020-01-01 2020-12-31 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2021-09-30 0001819928 us-gaap:EmployeeStockOptionMember dvh:OmnibusEquityIncentivePlan2021Member us-gaap:SubsequentEventMember 2021-10-27 2021-10-27 0001819928 dvh:OmnibusEquityIncentivePlan2021Member 2021-04-19 0001819928 dvh:EquityIncentiveProgramMember 2017-09-20 0001819928 srt:MinimumMember 2021-01-01 2021-09-30 0001819928 srt:MaximumMember 2021-01-01 2021-09-30 0001819928 dvh:EquityIncentiveProgramMember 2021-01-01 2021-09-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2021-09-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2020-12-31 0001819928 us-gaap:RestrictedStockUnitsRSUMember dvh:OmnibusEquityIncentivePlan2021Member us-gaap:SubsequentEventMember 2021-10-27 2021-10-27 0001819928 us-gaap:RestrictedStockUnitsRSUMember dvh:OmnibusEquityIncentivePlan2021Member us-gaap:SubsequentEventMember 2021-10-06 2021-10-06 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2021-01-01 2021-09-30 0001819928 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-09-30 0001819928 dvh:SupplySideCustomerMember 2021-07-01 2021-09-30 0001819928 dvh:AdvertisersProgrammaticMember 2021-07-01 2021-09-30 0001819928 dvh:AdvertisersDirectMember 2021-07-01 2021-09-30 0001819928 dvh:SupplySideCustomerMember 2021-01-01 2021-09-30 0001819928 dvh:AdvertisersProgrammaticMember 2021-01-01 2021-09-30 0001819928 dvh:AdvertisersDirectMember 2021-01-01 2021-09-30 0001819928 dvh:SupplySideCustomerMember 2020-07-01 2020-09-30 0001819928 dvh:AdvertisersProgrammaticMember 2020-07-01 2020-09-30 0001819928 dvh:AdvertisersDirectMember 2020-07-01 2020-09-30 0001819928 dvh:SupplySideCustomerMember 2020-01-01 2020-09-30 0001819928 dvh:AdvertisersProgrammaticMember 2020-01-01 2020-09-30 0001819928 dvh:AdvertisersDirectMember 2020-01-01 2020-09-30 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2021-09-30 0001819928 us-gaap:LeaseholdImprovementsMember 2021-09-30 0001819928 us-gaap:FurnitureAndFixturesMember 2021-09-30 0001819928 us-gaap:ComputerEquipmentMember 2021-09-30 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2020-12-31 0001819928 us-gaap:LeaseholdImprovementsMember 2020-12-31 0001819928 us-gaap:FurnitureAndFixturesMember 2020-12-31 0001819928 us-gaap:ComputerEquipmentMember 2020-12-31 0001819928 dvh:ZentrickMember 2021-01-01 2021-09-30 0001819928 dvh:ZentrickMember 2020-01-01 2020-09-30 0001819928 dvh:LeikiMember 2020-01-01 2020-09-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-07-01 2021-09-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-04-01 2021-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-01-01 2021-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-07-01 2020-09-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-04-01 2020-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-01-01 2020-03-31 0001819928 us-gaap:RetainedEarningsMember 2021-07-01 2021-09-30 0001819928 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001819928 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001819928 us-gaap:RetainedEarningsMember 2020-07-01 2020-09-30 0001819928 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001819928 us-gaap:RetainedEarningsMember 2020-01-01 2020-03-31 0001819928 us-gaap:RevolvingCreditFacilityMember 2021-09-30 0001819928 us-gaap:RevolvingCreditFacilityMember 2020-12-31 0001819928 us-gaap:LetterOfCreditMember 2020-10-01 0001819928 srt:MinimumMember 2020-10-01 2020-10-01 0001819928 srt:MaximumMember 2020-10-01 2020-10-01 0001819928 dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember 2021-07-01 2021-09-30 0001819928 dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember 2021-01-01 2021-09-30 0001819928 dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember 2020-07-01 2020-09-30 0001819928 dvh:OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember 2020-01-01 2020-09-30 0001819928 dvh:MeetricsGmbhMember us-gaap:TrademarksMember 2021-08-31 2021-08-31 0001819928 dvh:MeetricsGmbhMember us-gaap:NoncompeteAgreementsMember 2021-08-31 2021-08-31 0001819928 dvh:MeetricsGmbhMember us-gaap:DevelopedTechnologyRightsMember 2021-08-31 2021-08-31 0001819928 dvh:MeetricsGmbhMember us-gaap:CustomerRelationshipsMember 2021-08-31 2021-08-31 0001819928 us-gaap:TrademarksAndTradeNamesMember 2021-01-01 2021-09-30 0001819928 us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-09-30 0001819928 us-gaap:DevelopedTechnologyRightsMember 2021-01-01 2021-09-30 0001819928 us-gaap:CustomerRelationshipsMember 2021-01-01 2021-09-30 0001819928 us-gaap:TrademarksAndTradeNamesMember 2021-09-30 0001819928 us-gaap:NoncompeteAgreementsMember 2021-09-30 0001819928 us-gaap:DevelopedTechnologyRightsMember 2021-09-30 0001819928 us-gaap:CustomerRelationshipsMember 2021-09-30 0001819928 us-gaap:TrademarksAndTradeNamesMember 2020-12-31 0001819928 us-gaap:DevelopedTechnologyRightsMember 2020-12-31 0001819928 us-gaap:CustomerRelationshipsMember 2020-12-31 0001819928 us-gaap:FairValueInputsLevel3Member dvh:BusinessCombinationContingentConsiderationLiabilityMember 2021-09-30 0001819928 us-gaap:FairValueInputsLevel3Member dvh:BusinessCombinationContingentConsiderationLiabilityMember 2020-12-31 0001819928 us-gaap:FairValueInputsLevel3Member dvh:BusinessCombinationContingentConsiderationLiabilityMember 2021-01-01 2021-09-30 0001819928 dvh:MeetricsGmbhMember 2020-12-31 0001819928 us-gaap:RevolvingCreditFacilityMember 2020-10-01 0001819928 us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2020-10-01 2020-10-01 0001819928 us-gaap:IPOMember 2021-04-23 0001819928 us-gaap:IPOMember 2020-12-31 0001819928 us-gaap:IPOMember 2021-09-30 0001819928 2021-03-29 0001819928 dvh:EmployeeStockPurchasePlan2021Member 2021-03-31 0001819928 2019-12-31 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-09-30 0001819928 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-09-30 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 2020-09-30 0001819928 dvh:MeetricsGmbhMember us-gaap:TrademarksMember 2021-08-31 0001819928 dvh:MeetricsGmbhMember us-gaap:NoncompeteAgreementsMember 2021-08-31 0001819928 dvh:MeetricsGmbhMember us-gaap:DevelopedTechnologyRightsMember 2021-08-31 0001819928 dvh:MeetricsGmbhMember us-gaap:CustomerRelationshipsMember 2021-08-31 0001819928 us-gaap:MeasurementInputDiscountRateMember 2021-09-30 0001819928 dvh:MeasurementInputRevenueVolatilityMember 2021-09-30 0001819928 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-09-30 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2021-09-30 0001819928 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 dvh:ZentrickNVMember 2021-01-01 2021-09-30 0001819928 dvh:OutriggerMediaMember us-gaap:SubsequentEventMember 2021-11-09 2021-11-09 0001819928 dvh:MeetricsGmbhMember 2021-08-31 2021-08-31 0001819928 dvh:DoubleverifyInc.Member 2017-08-18 0001819928 srt:MaximumMember dvh:EmployeeStockPurchasePlan2021Member 2021-07-01 2021-09-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2021-07-01 2021-09-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2021-07-01 2021-09-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2021-07-01 2021-09-30 0001819928 srt:MaximumMember dvh:EmployeeStockPurchasePlan2021Member 2021-01-01 2021-09-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2021-01-01 2021-09-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-09-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2021-01-01 2021-09-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2020-07-01 2020-09-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2020-07-01 2020-09-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2020-07-01 2020-09-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-09-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-09-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-09-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-07-01 2021-09-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001819928 2021-04-01 2021-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001819928 2021-01-01 2021-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-07-01 2020-09-30 0001819928 2020-07-01 2020-09-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001819928 2020-04-01 2020-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-03-31 0001819928 2020-01-01 2020-03-31 0001819928 dvh:MeetricsGmbhMember 2021-09-30 2021-09-30 0001819928 us-gaap:TreasuryStockCommonMember 2021-07-01 2021-09-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember us-gaap:IPOMember 2021-07-01 2021-09-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember us-gaap:IPOMember 2021-01-01 2021-09-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-09-30 0001819928 dvh:OmnibusEquityIncentivePlan2021Member 2021-04-19 2021-04-19 0001819928 dvh:EmployeeStockPurchasePlan2021Member 2021-03-01 2021-03-31 0001819928 dvh:TigerGlobalManagementLlcMember us-gaap:PrivatePlacementMember 2021-04-09 2021-04-09 0001819928 srt:MinimumMember dvh:ZentrickNVMember 2021-09-30 0001819928 srt:MaximumMember dvh:ZentrickNVMember 2021-09-30 0001819928 us-gaap:IPOMember 2021-04-23 2021-04-23 0001819928 dvh:ZentrickNVMember 2021-07-01 2021-09-30 0001819928 srt:MaximumMember dvh:ZentrickNVMember 2021-01-01 2021-09-30 0001819928 srt:MaximumMember dvh:ZentrickNVMember 2020-07-01 2020-09-30 0001819928 dvh:ZentrickNVMember 2020-01-01 2020-09-30 0001819928 us-gaap:OtherCurrentLiabilitiesMember dvh:ZentrickNVMember 2021-09-30 0001819928 dvh:ZentrickNVMember 2021-09-30 0001819928 dvh:BusinessCombinationSecondTrancheOfHoldbackPaymentsMember dvh:ZentrickNVMember 2019-02-15 2019-02-15 0001819928 dvh:BusinessCombinationFirstTrancheOfHoldbackPaymentsMember dvh:ZentrickNVMember 2019-02-15 2019-02-15 0001819928 dvh:MeetricsGmbhMember 2021-08-31 0001819928 dvh:ZentrickNVMember 2019-02-15 2019-02-15 0001819928 dvh:ZentrickNVMember 2019-02-15 0001819928 2021-07-01 2021-09-30 0001819928 2020-01-01 2020-09-30 0001819928 2021-09-30 0001819928 2020-12-31 0001819928 2021-11-05 0001819928 2021-01-01 2021-09-30 shares iso4217:USD pure dvh:Milestone dvh:component dvh:agreement iso4217:USD shares dvh:segment 0001819928 --12-31 2021 Q3 false New York 0 61006000 61006000 0.333 1 10-Q true 2021-09-30 false 001-40349 DoubleVerify Holdings, Inc. DE 82-2714562 233 Spring Street NY 10013 212 631-2111 Common Stock, par value $0.001 per share DV NYSE Yes Yes Non-accelerated Filer false true false false 158638068 319825000 33354000 5246000 7049000 95509000 94677000 9326000 13904000 424660000 141935000 16693000 18107000 244672000 227349000 117705000 121710000 82000 82000 2185000 2151000 805997000 511334000 4105000 3495000 25127000 25419000 540000 1277000 2140000 1515000 1717000 1198000 3986000 1116000 37615000 34020000 22000000 3106000 3447000 29732000 31418000 2788000 3292000 462000 73241000 94639000 0.001 0.001 1000000000 158524000 158474000 700000000 140222000 125074000 159000 140000 0.01 0.01 100000000 0 61006000 350000000 610000 677588000 620679000 50000 15146000 1802000 260686000 55941000 54941000 870000 1011000 732756000 416695000 805997000 511334000 83098000 61037000 227208000 165276000 13435000 8998000 35929000 23963000 16359000 13087000 45658000 34324000 19539000 16728000 54653000 41880000 14465000 10369000 58317000 29327000 7492000 6087000 21989000 18167000 11808000 5768000 10662000 17615000 249000 858000 936000 2958000 -365000 -481000 -365000 -359000 11194000 4429000 9361000 14298000 3270000 -1376000 8361000 1975000 7924000 5805000 1000000 12323000 0.05 0.04 0.01 0.09 0.05 0.04 0.01 0.08 158045000 139841000 144305000 139779000 167045000 146554000 153547000 146843000 7924000 5805000 1000000 12323000 303000 410000 -141000 488000 8227000 6215000 859000 12811000 140222000 140000 61006000 610000 15146000 -260686000 620679000 54941000 1011000 416695000 -799000 -799000 2538000 2538000 180000 538000 538000 5644000 5644000 140402000 140000 61006000 610000 15146000 -260686000 623755000 60585000 212000 424616000 355000 355000 4714000 4714000 871000 2000 2907000 2909000 217000 5190000 5000 -61006000 -610000 -15146000 260686000 -260081000 9977000 10000 269380000 269390000 1111000 1000 29999000 30000000 -12568000 -12568000 157768000 158000 670674000 48017000 567000 719416000 303000 303000 50000 1802000 1802000 4848000 4848000 651000 1000 2066000 2067000 105000 7924000 7924000 158524000 159000 50000 -1802000 677588000 55941000 870000 732756000 139721000 140000 283457000 34488000 -67000 318018000 -153000 -153000 802000 802000 32000 70000 70000 2440000 2440000 139753000 140000 284329000 36928000 -220000 321177000 231000 231000 1140000 1140000 58000 51000 51000 4078000 4078000 139811000 140000 285520000 41006000 11000 326677000 410000 410000 1619000 1619000 61000 423000 423000 44000 263000 263000 19000 5805000 5805000 139935000 140000 287825000 46811000 421000 335197000 1000000 12323000 -1186000 3041000 21989000 18167000 221000 211000 36000 -4572000 -3912000 12100000 3561000 -130000 36000 57000 -949000 21797000 1852000 661000 742000 -690000 11633000 -4590000 3457000 162000 9000 425000 1881000 -684000 2081000 2747000 -7143000 -1369000 1082000 58434000 17838000 5499000 6545000 24323000 -29822000 -6545000 22000000 563000 2033000 50000 50000 601000 5514000 383000 425000 269390000 30000000 21797000 1230000 1222000 1242000 1802000 258033000 -4911000 -173000 -38000 286472000 6344000 33395000 11342000 319867000 17686000 319825000 17289000 42000 397000 319867000 17686000 5586000 14901000 580000 2692000 610000 260686000 1518000 973000 41000 1313000 772000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1.    Description of Business</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">DoubleVerify is a software platform for digital media measurement, data and analytics. The Company’s solutions provide advertisers with a single measure of digital ad quality and effectiveness, the DV Authentic Ad, which ensures that a digital ad was delivered in a brand-safe environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, provides customers with access to data on all of their digital ads and enables them to make changes to their ad strategies on a real-time basis. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, Connected TV (“CTV”), social media channels and digital publishers. The Company’s solutions are accredited by the Media Rating Council, which allows the Company’s data to be used as a single-source standard in the evaluation and measurement of digital ads. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company was incorporated on August 16, 2017, is registered in the state of Delaware and is the parent company of DoubleVerify Midco, Inc. (“MidCo”), which is in turn the parent company of DoubleVerify Inc.  On August 18, 2017, DoubleVerify Inc. entered into an agreement and plan of merger (the “Agreement”), whereby the Company, formerly known as Pixel Group Holdings, Inc. and Pixel Merger Sub, Inc. (“Merger Sub”), a wholly owned subsidiary of the Company, agreed to provide for the merger of the Merger Sub with DoubleVerify Inc. pursuant to the terms and conditions of the Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On the effective date, Merger Sub was merged with and into DoubleVerify Inc. whereupon the separate corporate existence of Merger Sub ceased and DoubleVerify Inc. continued as the surviving corporation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc. resulting in a change of control at the parent level.  The merger resulted in the application of acquisition accounting under the provisions of Financial Accounting Standards Board (“FASB”) Topic Accounting Standards Codification (“ASC”) 805<i style="font-style:italic;">, Business Combinations.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company has wholly owned subsidiaries in numerous jurisdictions including Israel, the United Kingdom, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, and Finland, and operates in one reportable segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On April 23, 2021, the Company completed an initial public offering of its common stock (“IPO”). See Footnote 12, Stockholders’ Equity.    </p> 1 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2.     Basis of Presentation and Summary of Significant Accounting Policies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Basis of Preparation and Principles of Consolidation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The accompanying Condensed Consolidated Balance Sheets as of September 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 29, 2021, the Company effected a <span style="-sec-ix-hidden:Hidden_PuGeFaNzZEW-dKQBOKI2xw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">1</span></span>-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items including, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements<i style="font-style:italic;">.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments - Credit Losses</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, <i style="font-style:italic;">Financial Instruments-Credit Losses (Topic 326)</i>: <i style="font-style:italic;">Measurement of Credit Losses on Financial Instruments </i>(“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cloud Computing</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2018, the FASB issued ASU No. 2018-15, <i style="font-style:italic;">Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That is a Service Contract </i>(“ASU 2018-15”). This update was issued to align the requirements for<i style="font-style:italic;"> </i>capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs<i style="font-style:italic;"> </i>incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company intends to adopt amendment ASU No. 2018-15 on December 31, 2021 using a prospective approach. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2016, the FASB issued ASU No. 2016-02, <i style="font-style:italic;">Leases Topic 842</i> (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018- 10, <i style="font-style:italic;">Codification Improvements to Topic 842, Leases</i>, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018- 11, <i style="font-style:italic;">Leases: Targeted Improvements</i> ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Simplifying the Accounting for Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In December 2019, the FASB issued ASU No. 2019-12, <i style="font-style:italic;">Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”)</i>. ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective method of adoption. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Basis of Preparation and Principles of Consolidation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The accompanying Condensed Consolidated Balance Sheets as of September 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 29, 2021, the Company effected a <span style="-sec-ix-hidden:Hidden_PuGeFaNzZEW-dKQBOKI2xw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">1</span></span>-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.</p> 0.001 0.01 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items including, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements<i style="font-style:italic;">.</i></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments - Credit Losses</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, <i style="font-style:italic;">Financial Instruments-Credit Losses (Topic 326)</i>: <i style="font-style:italic;">Measurement of Credit Losses on Financial Instruments </i>(“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cloud Computing</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2018, the FASB issued ASU No. 2018-15, <i style="font-style:italic;">Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That is a Service Contract </i>(“ASU 2018-15”). This update was issued to align the requirements for<i style="font-style:italic;"> </i>capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs<i style="font-style:italic;"> </i>incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company intends to adopt amendment ASU No. 2018-15 on December 31, 2021 using a prospective approach. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2016, the FASB issued ASU No. 2016-02, <i style="font-style:italic;">Leases Topic 842</i> (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018- 10, <i style="font-style:italic;">Codification Improvements to Topic 842, Leases</i>, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018- 11, <i style="font-style:italic;">Leases: Targeted Improvements</i> ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Simplifying the Accounting for Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In December 2019, the FASB issued ASU No. 2019-12, <i style="font-style:italic;">Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”)</i>. ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective method of adoption. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">3.     Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Direct or measured and purchased for Programmatic, and supply-side customers, where revenue is generated based on contracts with minimum guarantees or contracts that contain overages after minimum guarantees are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Disaggregated revenue by customer type is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - direct</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 34,057</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27,582</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 93,260</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 73,476</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - programmatic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 41,902</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 113,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 76,023</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supply-side customer</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,139</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,411</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 20,254</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,777</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 83,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 61,037</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 227,208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 165,276</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Contract assets relate to the Company’s conditional right to consideration for completed performance under the contract (e.g., unbilled receivables). Trade receivables, net of allowance for doubtful accounts, include unbilled receivable balances of $36.1 million and $44.9 million as of September 30, 2021 and December 31, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - direct</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 34,057</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27,582</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 93,260</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 73,476</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - programmatic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 41,902</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 113,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 76,023</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supply-side customer</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,139</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,411</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 20,254</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,777</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 83,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 61,037</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 227,208</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 165,276</p></td></tr></table> 34057000 27582000 93260000 73476000 41902000 28044000 113694000 76023000 7139000 5411000 20254000 15777000 83098000 61037000 227208000 165276000 36100000 44900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">4.<b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b>Business Combinations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Meetrics GmbH</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 31, 2021, the Company acquired all of the outstanding stock of Meetrics GmbH (“Meetrics”). Meetrics was founded in 2008 in Berlin, Germany and is a European-based ad verification provider – offering comprehensive media quality measurement solutions across viewability, fraud, brand safety and suitability. The aggregate net cash purchase price was $24.3 million. This acquisition expands DoubleVerify’s international presence as substantially all of Meetrics’ customer base and business operations are based in Europe, the Middle East, and Africa.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table summarizes the preliminary fair value of assets acquired and liabilities assumed as of the acquisition date:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquisition Date</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,007</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade receivables</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 948</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 96</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,245</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7,208</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 47</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 71</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9,571</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 17,057</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total assets acquired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 28,706</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 145</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 345</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,886</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total liabilities assumed</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,376</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,330</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Cash acquired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,007)</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Net cash purchase price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 24,323</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The acquired intangible assets of Meetrics will be amortized over their estimated useful lives. Accordingly, customer relationships will be amortized over fourteen years, developed technology will be amortized over four years, non-compete agreements will be amortized over two years, and trademarks will be amortized over one year. The total weighted-average useful life of the acquired intangible assets as of September 30, 2021 is 11.4 years. The Company recognized a deferred tax liability of $2.9 million in relation to the intangible assets acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The goodwill and identified intangible assets are not deductible for tax purposes. The Company incurred acquisition-related transaction costs of $0.7 million included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The goodwill associated with Meetrics includes the acquired assembled work force, the value associated with the opportunity to leverage the work force to continue to develop the future generations of verification technology assets, as well as the ability to grow the Company through adding additional customer relationships or new solutions in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The preliminary allocations of the purchase price for Meetrics are subject to revisions as additional information is obtained about the facts and circumstances that existed as of the acquisition date. The revisions may have a significant impact on the accompanying condensed consolidated financial statements. The allocations of the purchase price will be finalized once all information is obtained and assessed, not to exceed one year from the acquisition date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The acquisition of Meetrics was immaterial to the Company's Condensed Consolidated Financial Statements for the three and nine months ended September 30, 2021 and 2020, and therefore, supplemental information disclosure on an unaudited pro forma basis is not presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Zentrick NV</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On February 15, 2019, the Company acquired all of the outstanding stock of Zentrick NV (“Zentrick”). Zentrick, headquartered in Ghent, Belgium is a digital video technology company that provides middleware solutions that increase the performance of online video advertising for brand advertisers, advertising platforms and publishers. This acquisition integrates technology into the Company’s suite of products related to advertising viewability specifically on video formats, a growing segment of the advertising market and critical for the delivery of verification services to social platforms and CTV. The aggregate purchase price consists of 1) $23.2 million paid in cash at closing, which excluded closing adjustments of approximately $0.2 million paid in April 2019 2) $0.1 million in holdback payment of which 50% was payable 12 months after the closing date, and the remaining 50% was payable 24 months after the closing date and 3) up to $17.3 million of performance-based deferred payments that comprises two components (the “Zentrick Deferred Payment Terms”). The first component has a $4.0 million maximum payment related to four milestone tranches of $1.0 million each based on achievement of certain product milestones (“technical milestones”). The second component has a total maximum payment of $13.0 million and varies based upon certain revenue targets in fiscal 2019, 2020, and 2021 (“revenue targets”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under the Zentrick Deferred Payment Terms, a portion of the technical milestones and revenue targets have been accounted at fair value as contingent consideration in the business combination with the remaining portion being accounted for as compensation expense under ASC 710, <i style="font-style:italic;">Compensation - General</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of September 30, 2021, the technical milestone and revenue target components of the contingent consideration had a fair value of $1.2 million and $0.5 million, respectively, and is recorded in Contingent Considerations Current in the Condensed Consolidated Balance Sheets. There was no<span style="font-size:12pt;"> </span>change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three months ended September 30, 2021. For the nine months ended September 30, 2021, the Company recorded a $0.1 million unrealized loss for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income. The Company recorded less than $0.1 million unrealized gain and $0.9 million unrealized gain for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021, the technical milestone and revenue target components treated as compensation cost total $1.1 million and is included in Other Current Liabilities in the Condensed Consolidated Balance Sheets. For the three months ended September 30, 2021, there were no charges to the Condensed Consolidated Statements of Operations and Comprehensive Income. For the nine months ended September 30, 2021, less than $0.1 million was charged to the Condensed Consolidated Statements of Operations and Comprehensive Income. Less than $0.1 million and $0.2 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2020, respectively.</p> 24300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquisition Date</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,007</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade receivables</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 948</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 96</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,245</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7,208</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 47</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:2.9pt;margin:0pt 0pt 0.05pt 0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 71</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9,571</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 17,057</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total assets acquired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 28,706</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 145</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 345</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,886</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total liabilities assumed</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,376</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,330</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Cash acquired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,007)</p></td></tr><tr><td style="vertical-align:bottom;width:83.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Net cash purchase price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 24,323</p></td></tr></table> 1007000 948000 96000 27000 2245000 7208000 47000 71000 9571000 17057000 28706000 145000 345000 2886000 3376000 25330000 1007000 24323000 P14Y P4Y P2Y P1Y P11Y4M24D 2900000 700000 23200000 200000 100000 0.50 P12M 0.50 P24M 17300000 2 4000000.0 4 1000000.0 13000000.0 1200000 500000 0 100000 100000 900000 1100000 0 100000 100000 200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">5.<span style="font-family:'Arial','Helvetica','sans-serif';font-weight:normal;">    </span>Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021 and December 31, 2020, the carrying value of goodwill was $244.7 million and $227.3 million, respectively. The total change in the carrying value of goodwill was primarily related to $17.1 million from the Meetrics acquisition. The remaining change in goodwill was deemed immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the Company’s intangible assets and related accumulated amortization:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,736</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,200)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,536</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,690</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,562)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,128</p></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 109,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (34,194)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 75,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 102,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,720)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 74,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 65,599</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,604)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 33,995</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 63,210</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,128)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 38,082</p></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 186,705</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (69,000)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 117,705</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 177,120</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (55,410)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 121,710</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Amortization expense for the three months ended September 30, 2021 and September 30, 2020 is $4.6 million and $4.4 million, respectively. Amortization expense related to intangible assets amounted to $13.5 million and $13.4 million for the nine months ended September 30, 2021 and September 30, 2020, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;">Estimated future expected amortization expense of intangible assets as of September 30, 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,755</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,001</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,929</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,303</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,146</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,283</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 32,288</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 117,705</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;">The weighted-average remaining useful life by major asset classes as of September 30, 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(In years)</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">There were no impairments identified during the nine months ended September 30, 2021 or September 30, 2020.</p> 244700000 227300000 17100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,736</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,200)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,536</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,690</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,562)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,128</p></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 109,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (34,194)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 75,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 102,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,720)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 74,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 65,599</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,604)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 33,995</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 63,210</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,128)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 38,082</p></td></tr><tr><td style="vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 186,705</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (69,000)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 117,705</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 177,120</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (55,410)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 121,710</p></td></tr></table> 11736000 3200000 8536000 11690000 2562000 9128000 109301000 34194000 75107000 102220000 27720000 74500000 65599000 31604000 33995000 63210000 25128000 38082000 69000 2000 67000 186705000 69000000 117705000 177120000 55410000 121710000 4600000 4400000 13500000 13400000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,755</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 19,001</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,929</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,303</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 15,146</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,283</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 32,288</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 117,705</p></td></tr></table> 4755000 19001000 18929000 17303000 15146000 10283000 32288000 117705000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(In years)</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2</p></td></tr></table> P11Y P8Y P4Y P2Y 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">6.<span style="font-family:'Arial','Helvetica','sans-serif';font-weight:normal;">     </span>Property, Plant and Equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Property, plant and equipment, including equipment under capital lease obligations and capitalized software development costs, consists of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computers and peripheral equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,738</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,577</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,267</p></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized software development costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,382</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Less accumulated depreciation and amortization</i></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,700)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,243)</p></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,107</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">For the three months ended September 30, 2021 and 2020, total depreciation expense was $2.9 million and $1.6 million, respectively. For the nine months ended September 30, 2021 and 2020, total depreciation expense was $8.5 million and $4.7 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Property and equipment financed through capital lease obligations, consisting of computer equipment, totaled $12.3 million and $10.7 million on September 30, 2021 and December 31, 2020, respectively. As of September 30, 2021 and December 31, 2020, accumulated depreciation related to property and equipment financed through capital leases totaled $9.4 million and $7.6 million, respectively. Refer to Note 13, Commitments and Contingencies.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computers and peripheral equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,738</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,577</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,315</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,267</p></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized software development costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,382</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Less accumulated depreciation and amortization</i></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,700)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,243)</p></td></tr><tr><td style="vertical-align:bottom;width:68.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,693</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,107</p></td></tr></table> 16738000 14577000 1104000 1124000 9315000 9267000 13236000 8382000 23700000 15243000 16693000 18107000 2900000 1600000 8500000 4700000 12300000 10700000 9400000 7600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7.     Fair Value Measurement</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following tables present the Company’s financial instruments that are measured at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,725</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,725</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Tota1 Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Cash equivalents consisting of money market funds of $11.7 million and money market funds and time deposits of $2.5 million as of September 30, 2021 and December 31, 2020, respectively, were classified as Level 1 of the fair value hierarchy and valued using quoted market prices in active markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Contingent consideration relates to potential payments that the Company may be required to make associated with a business combination. To the extent that the valuations of these liabilities are based on inputs that are less observable or not observable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised in determining fair value is greatest for measures categorized in Level 3.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Rollforward of the fair value measurements of the contingent consideration categorized with Level 3 inputs as of September 30, 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fair value adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payments during the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,717</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fair value of the component of contingent consideration related to achievement of revenue targets have been estimated using a Monte Carlo model to simulate future performance of the acquired business under a risk-neutral framework; significant assumptions include a risk-adjusted discount rate of 13.5% and revenue volatility of 29.0%. The fair value of the component of contingent consideration related to achievement of four technical milestones have been estimated using situation-based modeling, which considers the probability-weighted present value of the expected payout amount.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,725</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,725</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Tota1 Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 11725000 11725000 1717000 1717000 1717000 1717000 2474000 2474000 1198000 1198000 462000 462000 1660000 1660000 11700000 2500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fair value adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payments during the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,717</p></td></tr></table> 1660000 57000 1717000 13.5 29.0 4 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8.     Long-term Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On October 1, 2020, DoubleVerify Inc., as borrower (the “Borrower”), and MidCo, as guarantor, entered into an amendment and restatement agreement with the banks and other financial institutions party thereto, as lenders, and Capital One, National Association, as administrative agent, letter of credit issuer and swing lender, and others, to (i) amend and restate the Prior Credit Agreement as defined in the Prospectus (the Prior Credit Agreement, as amended and restated on October 1, 2020, the “Credit Agreement”) and (ii) replace the Prior Credit Facilities (as defined in the Prospectus) with a new senior secured revolving credit facility (the “New Revolving Credit Facility”) in an aggregate principal amount of $150.0 million (with a letter of credit facility of up to $15.0 million as a sublimit). Subject to certain terms and conditions, the Borrower is entitled to request additional term loan facilities or increases in the revolving credit commitments under the New Revolving Credit Facility. The New Revolving Credit Facility is payable in quarterly installments for interest, with the principal balance due in full at maturity on October 1, 2025. Additional fees paid quarterly include fees for the unused revolving facility and unused letter of credit. The commitment fee on any unused balance is payable periodically and may range from 0.25% to 0.40% based upon the total net leverage ratio. The New Revolving Credit Facility bears interest at LIBOR plus 2.25%, which may vary from time to time based on the Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The New Revolving Credit Facility contains a number of significant negative covenants. Subject to certain exceptions, these covenants require the Borrower to comply with certain requirements and restrictions to, among other things: incur indebtedness; create liens; engage in mergers or consolidations; make investments, loans and advances; pay dividends or other distributions and repurchase capital stock; sell assets; engage in certain transactions with affiliates; enter into sale and leaseback transactions; and make certain accounting changes. As a result of these restrictions, substantially all of the net assets of the Borrower are restricted from distribution to the Company or any of its holders of equity.   </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The New Revolving Credit Facility has a first priority lien on substantially all of the assets of MidCo, the Borrower and Ad-Juster, Inc., the Company’s indirect subsidiary. The New Revolving Credit Facility requires the Borrower to remain in compliance with a maximum total net leverage ratio and a minimum fixed charge coverage ratio as defined in the Credit Agreement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of September 30, 2021, the maximum total net leverage ratio and minimum fixed charge coverage ratio is 3.5x and 1.25x, respectively. The Borrower is in compliance with all covenants under the New Revolving Credit Facility as of September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 30, 2021 the Company used a portion of the proceeds from the IPO and the concurrent private placement to pay the outstanding balance. As of September 30, 2021 and December 31, 2020, there was $0 outstanding and $22.0 million outstanding under the New Revolving Credit Facility, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 150000000.0 15000000.0 0.0025 0.0040 0.0225 3.5 1.25 0 22000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9.     Income Tax</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate ("ETR") based on actual historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, changes in the jurisdictional mix of forecasted pre-tax income, and changes to actual or forecasted permanent book to tax differences (e.g., non-deductible expenses). In addition, the Company’s ETR for a particular reporting period may fluctuate as the result of changes to the valuation allowance for net deferred tax assets, the impact of anticipated tax settlements with federal, state, or foreign tax authorities, or the impact of tax law changes. The Company identifies items that are unusual and non-recurring in nature and treat these as discrete events. The tax effect of these discrete events is booked entirely in the quarter in which they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">During the three and nine months ended September 30, 2021, the Company recorded an income tax provision of $3.3 million and $8.4 million, respectively, resulting in an effective tax rate of 29.2% and 89.3%, which includes an annualized effective tax provision of $3.3 million and $2.7 million (representing an effective tax rate of 29.2% and 29.1%) and discrete items relating primarily to transaction costs and state tax refunds of $0 and $5.6 million (representing an effective tax rate of 0.0% and 60.2%), respectively. During the three and nine months ended September 30, 2020, the Company recorded an income tax benefit of $1.4 million and an income tax provision of $2.0 million, respectively, resulting in an effective tax rate of (31.1%) and 13.8%, respectively. These effective tax rates differ from the U.S. federal statutory rate primarily due to the effects of differing treatment of transaction costs between book and tax, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The COVID-19 (as defined herein) pandemic has a global reach, and many countries are introducing measures that provide relief to taxpayers in a variety of ways. In March 2020, the U.S. government enacted tax legislation containing provisions to support businesses during the COVID-19 pandemic (the “CARES Act”), including deferment of the employer portion of certain payroll taxes, refundable payroll tax credits, and technical amendments to tax depreciation methods for qualified improvement property. The CARES Act did not have a material impact on the Company’s income tax provision for the three and nine months ended September 30, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">A valuation allowance has been established against a non-material amount of certain net foreign deferred tax assets and US tax loss carryforward. All other net deferred tax assets have been determined to be more likely than not realizable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) and various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2016-2018 tax years. This examination may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from this, the Company is not currently under audit in any other jurisdiction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 31, 2021, the Company acquired all of the outstanding stock of Meetrics, a German corporation, in a sale treated as a non-taxable event at the corporate level. The Company has calculated a preliminary tax basis balance sheet and deferred tax impact of the acquisition. The Company has recorded a deferred tax liability of $2.9 million relating to varying tax and book basis differences of intangible assets and goodwill. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In addition, Meetrics maintains net operating loss carryforwards of approximately $5.0 million through December 31, 2020. Based on a preliminary review of all positive and negative evidence, it appears to not be more likely than not that Meetrics will be able to utilize these loss carryforwards. Therefore, a deferred tax asset of $1.5 million has been recorded, which is fully offset by a valuation allowance.</p> 3300000 8400000 0.292 0.893 -3300000 -2700000 0.292 0.291 0 5600000 0.000 0.602 -1400000 2000000.0 0.311 0.138 2900000 5000000.0 1500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10.   Earnings Per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table reconciles the numerators and denominators used in computations of the basic and diluted EPS for the three and nine months ended September 30:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net Income (basic and diluted)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,924</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,805</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,323</p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average common shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158,045</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,841</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,305</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,779</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive effect of share-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,242</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,064</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average dilutive shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 167,045</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 146,554</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 153,547</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 146,843</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.01</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.09</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.01</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Approximately 4.6 million, and 4.3 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and nine months ended September 30, 2021, respectively, because they were antidilutive. Approximately 9.2 million, and 7.5 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and nine months ended September 30, 2020, respectively, because they were also antidilutive.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net Income (basic and diluted)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,924</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,805</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,323</p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average common shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 158,045</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,841</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,305</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,779</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive effect of share-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,242</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,064</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average dilutive shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 167,045</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 146,554</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 153,547</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 146,843</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.01</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.09</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.01</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td></tr></table> 7924000 5805000 1000000 12323000 158045000 139841000 144305000 139779000 9000000 6713000 9242000 7064000 167045000 146554000 153547000 146843000 0.05 0.04 0.01 0.09 0.05 0.04 0.01 0.08 4600000 4300000 9200000 7500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">11.   Stock-Based Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Equity Incentive Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">On September 20, 2017, the Company established its 2017 Omnibus Equity Incentive Program (the “2017 Plan”) which provides for the granting of equity based awards to certain employees, directors, independent contractors, consultants and agents. Under the 2017 Plan, the Company may grant non-qualified stock options, stock appreciation rights, restricted stock units, and other stock-based awards for up to 22,182 shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">On April 19, 2021 the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). The maximum number of shares of common stock available for issuance under the 2021 Equity Plan is equal to the sum of (i) 30,000 shares of common stock and (ii) an annual increase on the first day of each year beginning in 2022 and ending in and including 2031, equal to the lesser of (A) five percent (5%) of the outstanding shares of common stock on the last day of the immediately preceding fiscal year and (B) such lesser amount as determined by the Board’s compensation committee. The 2021 Equity Plan provides for the grant of stock options (including qualified incentive stock options and nonqualified stock options), stock appreciation rights, restricted stock, restricted stock units, dividend equivalents, and other stock or cash settled incentive awards. Any shares covered by an award, or portion of an award, granted under the 2021 Equity Plan that expires or is forfeited, canceled, cash-settled, or otherwise terminated for any reason will again be available for the grant of awards under the 2021 Equity Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Options become exercisable subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation of service and no later than 10 years after the grant date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Restricted stock units are subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;">A summary of stock option activity as of and for the nine months ended September 30, 2021 and December 31, 2020 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:58.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Option</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,713</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4.47</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.79</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 181,914</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 30.95</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,710)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (271)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.70</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.41</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 383,974</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options expected to vest as of September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 16.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 75,637</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercisable as of September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,404</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6.70</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 195,205</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;">Stock options include grants to executives that contain both market-based and performance-based vesting conditions. There were no stock options granted that contain both market-based and performance-based vesting conditions during the nine months ended September 30, 2021. As of September 30, 2021, 3,433 market-based and performance-based awards were outstanding. As of September 30, 2021, the Company did not consider the performance condition to be probable and did not recognize any expense associated with these options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The weighted average grant date fair value of options granted during the nine months ended September 30, 2021 and 2020 was $12.85 and $2.40, respectively. The total intrinsic value of options exercised during the nine months ended September 30, 2021 and 2020 was $50.5 million and $0.5 million, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The fair market value of each option granted during the nine months ended September 30, 2021 has been estimated on the grant date using the Black-Scholes-Merton option-pricing model with the following assumptions:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk - free interest rate (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">0.6. - 1.1</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">5.9 - 6.1</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility (percentage)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">42.1 - 43.6</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company’s board of directors (the “Board”) did not declare or pay dividends of the Company’s common or preferred stock during the nine months ended September 30, 2021 or during the nine months ended September 30, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A summary of restricted stock unit activity as of and for the nine months ended September 30, 2021 and December 31, 2020 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:29.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.74</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 30.88</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (322)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8.97</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 35.54</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,655</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 22.54</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected to vest as of September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background-color:#ffff00;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The total grant date fair value of restricted stock units that vested during the nine months ended September 30, 2021 was $2.9 million. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021, unrecognized stock-based compensation expense was $68.9 million, which is expected to be recognized over a weighted-average period of 1.6 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product development</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,239</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,953</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 465</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales, marketing and customer support</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 869</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,186</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,102</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,404</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,227</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,561</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Employee Stock Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In March 2021, the Board approved the Company’s 2021 Employee Stock Purchase Plan (“ESPP”), and employees became eligible to enroll in August 2021. The ESPP qualifies as an “employee stock purchase plan” under Section 423 of the U.S. Internal Revenue Code of 1986, as amended. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company reserved 3,000 shares of common stock for sale under the ESPP. The share reserve increases on the first day of each calendar year beginning on January 1, 2022 and ending on and including January 1, 2031, equal to the lesser of (i) one percent (1%) of the aggregate number of shares of common stock outstanding on the final day of the immediately preceding calendar year and (ii) such smaller number of shares of common stock as is determined by the Board.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Purchases are accomplished through participation in discrete offering periods. Currently, the ESPP is available only to U.S. based employees; the Company is reviewing offering the ESPP program to employees in non-U.S. jurisdictions. The first offering and purchase period began on September 1, 2021 and will end on November 30, 2021. The Company expects the program to continue consecutively for six-month offering periods (commencing on December 1, 2021) for the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Under the ESPP, eligible employees are able to acquire shares of the Company’s common stock by accumulating funds through payroll deductions. Company employees in the United States generally are eligible to participate in the ESPP if they are a full-time employee and have completed six months of continuous service with the Company as of the last day of the enrollment period. Eligible employees are able to select a rate of payroll deduction between 1% and 15% of their compensation, up to a $25 annual contribution limit. The purchase price for shares of common stock purchased under the ESPP is 85% of the lesser of the fair market value of the common stock on (i) the first trading day of the applicable offering period and (ii) the last trading day of the applicable offering period. An employee’s participation automatically ends upon termination of employment for any reason. A participant may cancel enrollment or lower their contributions once during an offering period, but no later than 30 days before the end of an offering period. Upon the termination of an employee’s participation in the ESPP, payroll deductions will be stopped and refunded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Stock-based compensation expense for the ESPP is recognized on a straight-line basis over the requisite service period of each award. The ESPP also has a six-month holding period after the purchase date of the offering period. Stock-based compensation expense related to ESPP totaled less than $0.1 million for the three and nine months ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 22182000 30000000 0.05 P4Y P10Y P4Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:58.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Option</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,713</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4.47</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.79</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 181,914</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 30.95</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,710)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (271)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.70</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.41</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 383,974</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options expected to vest as of September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 16.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.05%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 75,637</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercisable as of September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,404</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.68</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6.70</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 195,205</p></td></tr></table> 14713000 4.47 P7Y9M14D 181914000 1707000 30.95 1710000 3.28 271000 7.15 14439000 7.70 P7Y4M28D 383974000 4136000 16.20 P8Y10M24D 75637000 6404000 3.68 P6Y8M12D 195205000 0 3433000 12.85 2.40 50500000 500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk - free interest rate (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">0.6. - 1.1</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">5.9 - 6.1</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility (percentage)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">42.1 - 43.6</p></td></tr></table> 0.006 0.011 P5Y10M24D P6Y1M6D 0.421 0.436 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:29.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.74</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 30.88</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (322)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8.97</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 35.54</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,655</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 22.54</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected to vest as of September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,330</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 1261000 7.74 1720000 30.88 322000 8.97 4000 35.54 2655000 22.54 2330000 2900000 68900000 P1Y7M6D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product development</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,239</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,953</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 465</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales, marketing and customer support</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 869</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,186</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,102</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,404</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,227</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,561</p></td></tr></table> 1239000 212000 1953000 465000 1423000 305000 3743000 869000 2186000 1102000 6404000 2227000 4848000 1619000 12100000 3561000 3000000 0.01 100000 100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"> 12. Stockholders’ Equity<span style="background-color:#ffff00;font-weight:normal;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 9, 2021, the Company entered into an arrangement with an affiliate of Tiger Global Management, LLC (the ‘‘Tiger Investor’’) whereby the Tiger Investor purchased $30.0 million of the Company’s common stock in a private placement (‘‘concurrent private placement’’) concurrent with the completion of the IPO. The price per share was equal to the IPO price of $27.00, for a total of 1,111 shares. The Company received total aggregate net proceeds of $29.0 million, after deducting underwriting fees of $1.0 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 23, 2021, the Company completed its IPO in which the Company issued and sold 9,977 shares of common stock at a public offering price of $27.00 per share, which included the full exercise of the underwriters’ option to purchase 1,350 additional shares of common stock. The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company incurred offering costs of approximately $26.8 million for the concurrent private placement and IPO, of which $0 and $21.8 million were included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2021, respectively. The IPO offering also included 5,356 shares sold by Providence VII U.S. Holdings L.P. (“Providence”) and other existing stockholders, which included the full exercise of the underwriters’ option to purchase 650 additional shares from Providence, in which the Company did not receive any proceeds from the shares sold.<span style="background-color:#ffff00;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In connection with the Company’s IPO, all shares of the Company’s outstanding preferred stock automatically converted into 20,335 shares of common stock on a one for one-third basis. The Company’s treasury stock, consisting of 15,146 shares of common stock, was reissued in the preferred stock conversion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In conjunction with the IPO, the Company increased the authorized shares of its capital stock. The Company’s capital stock consists of 1,000,000 shares of common stock, par value $0.001 per share and 100,000 shares of undesignated preferred stock, par value $0.01 per share. Further, the Company amended and restated its existing amended and restated certificate of incorporation and its existing bylaws of the Company, as previously reported in the Prospectus, which incorporates material modifications to rights of security holders.</p> 30000000.0 27.00 1111000 29000000.0 1000000.0 9977000 27.00 1350000 253200000 16200000 26800000 0 21800000 5356000 650000 20335000 1 15146000 1000000000 1000000000 0.001 100000000 100000000 0.01 0.01 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13.   Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accrued Expense</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accrued expenses as of September 30, 2021 and December 31, 2020 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vendor payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 5,254</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,896</p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee commissions and bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 11,344</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payroll and other employee related expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8,810</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,957</p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">401k and pension expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,358</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,232</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,864</p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total accrued expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,419</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt;">Operating Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The Company and its subsidiaries have entered into operating lease agreements for certain of its office space and data centers. The offices are located in the United States, Israel, Belgium, Finland, France, Japan, Singapore, the United Kingdom, Germany, Poland and the United Arab Emirates. The data centers are premises used to house computing and networking equipment. The data centers are located in the United States, Netherlands, Germany and Singapore.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">For the three months ended September 30, 2021 and September 30, 2020, office and data center rent expense was $1.5 million and $1.8 million, respectively. For the nine months ended September 30, 2021 and September 30, 2020, office and data center rent expense was $3.9 million and $5.3 million, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">For the three and nine months ended September 30, 2021, the Company recorded expense of $0.8 million in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income upon triggering the recognition of a cease-use liability related to unoccupied leased office space; whereby, the Company no longer receives any economic benefit from the rights conveyed by the lease. The cease-use liability was determined based on the remaining lease rentals, adjusted for the effects of any prepaid or deferred items recognized under the lease as required by ASC 420, <i style="font-style:italic;">Exit or Disposal Cost Obligations</i>. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Future minimum lease obligations are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021(for remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,550</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,347</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,880</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 981</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 368</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 76</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;width:272.25pt;"/><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Capital Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021, the Company had seven lease agreements for certain equipment which provide for the transfer of ownership at the end of the lease term or are for underlying assets that will have an insignificant fair value at the end of the lease term. The Company has classified these agreements as capital leases and recognized the corresponding assets and liabilities within the Condensed Consolidated Balance Sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following is a schedule of future minimum lease payments under these agreements (including interest) as of September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021 (for remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 674</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,144</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,937</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 598</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 170</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,523</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Amount representing interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (277)</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Present Value of net minimum capital lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,246</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases short term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,140</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases long term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,106</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,246</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company is subject to various legal proceedings and claims, either asserted or unasserted, that arise in the ordinary course of business. The Company records liabilities for contingencies including legal costs when it is probable that a liability has been incurred and when the amount can be reasonably estimated. Legal costs are expensed as incurred. Although the outcome of the various legal proceedings and claims cannot be predicted with certainty, management does not believe that any of these proceedings or other claims will have a material effect on the Company’s business, financial condition, results of operations or cash flows. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">With respect to potential payments due related to the Zentrick acquisition, discussed in Footnote 4, Business Combinations, the Company and the Zentrick selling stockholders are currently in discussions to negotiate the early termination of the Zentrick Deferred Payment Terms and resolution of the contingent payments due for both the technical milestones and revenue targets. The Company believes the total of approximately $2.8 million for these potential payments reflected in the Condensed Consolidated Balance Sheet as contingent consideration current and other current liabilities reflect the Company’s estimated obligations under the stock purchase agreement entered into in connection with the transaction, as of September 30, 2021. In efforts to terminate early the Zentrick Deferred Payment Terms, the Company believes payment between $2.8 million and $5.5 million is possible, with no amount within the range being a better estimate than the amount recorded on the Condensed Consolidated Balance Sheets.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vendor payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 5,254</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,896</p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee commissions and bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 11,344</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payroll and other employee related expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8,810</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,957</p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">401k and pension expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,358</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,232</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,864</p></td></tr><tr><td style="vertical-align:bottom;width:69.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total accrued expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,419</p></td></tr></table> 5254000 3896000 8372000 11344000 8810000 6957000 1459000 1358000 1232000 1864000 25127000 25419000 1500000 1800000 3900000 5300000 800000 800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021(for remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,550</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,347</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,880</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 981</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 368</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 76</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;width:272.25pt;"/><span style="visibility:hidden;">​</span></p> 1550000 5347000 4880000 1015000 981000 368000 76000 14217000 7 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021 (for remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 674</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,144</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,937</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 598</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 170</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,523</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Amount representing interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (277)</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Present Value of net minimum capital lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,246</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases short term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,140</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases long term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,106</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,246</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 674000 2144000 1937000 598000 170000 5523000 277000 5246000 2140000 3106000 5246000 2800000 2800000 5500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">14.    Segment Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The Company has determined that it operates as one operating and <span style="-sec-ix-hidden:Hidden_WEgZCsjQzUaAd6Sk0PHKmQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">reportable</span></span> segment. The Company’s chief operating decision maker reviews financial information on a consolidated basis, together with certain operating and performance measures principally to make decisions about how to allocate resources and measure performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has not disclosed certain geographic information pertaining to revenues and total assets as it is impracticable to disclose, is not utilized by the Company’s chief operating decision maker to review operating results or make decisions about how to allocate resources, and would not be useful to users of the Condensed Consolidated Financial Statements to disclose such information.</p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">15.   Subsequent Events</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt;">On October 6, 2021, the Company approved 13 restricted stock units to be granted under the 2021 Equity Plan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;">On October 27, 2021, the Company approved 11 stock options and 36 restricted stock units to be granted to employees under the 2021 Equity Plan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;">On November 9, 2021, the Company announced an agreement to acquire Outrigger Media, Inc. d/b/a OpenSlate (“OpenSlate”) for $150 million, consisting of $125 million in cash and $25 million in DoubleVerify common stock. OpenSlate is a leading independent pre-campaign contextual targeting platform for social video and CTV. OpenSlate’s technology provides insight into the nature and quality of ad-supported content on large, video-driven social platforms, such as Facebook, TikTok and YouTube.  </p> 13000 11000 36000 150000000 125000000 25000000 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.21.2
Document and Entity Information - shares
9 Months Ended
Sep. 30, 2021
Nov. 05, 2021
Document and Entity Information [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Sep. 30, 2021  
Entity File Number 001-40349  
Entity Registrant Name DoubleVerify Holdings, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 82-2714562  
Entity Address, Address Line One 233 Spring Street  
Entity Address, City or Town New York  
Entity Address State Or Province NY  
Entity Address, Postal Zip Code 10013  
City Area Code 212  
Local Phone Number 631-2111  
Title of 12(b) Security Common Stock, par value $0.001 per share  
Trading Symbol DV  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company true  
Entity Ex Transition Period false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   158,638,068
Entity Central Index Key 0001819928  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2021  
Document Fiscal Period Focus Q3  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Current assets    
Cash and cash equivalents $ 319,825 $ 33,354
Trade receivables, net of allowances for doubtful accounts of $5,246 and $7,049 as of September 30, 2021 and December 31, 2020 respectively 95,509 94,677
Prepaid expenses and other current assets 9,326 13,904
Total current assets 424,660 141,935
Property, plant and equipment, net 16,693 18,107
Goodwill 244,672 227,349
Intangible assets, net 117,705 121,710
Deferred tax assets 82 82
Other non-current assets 2,185 2,151
Total assets 805,997 511,334
Current liabilities    
Trade payables 4,105 3,495
Accrued expense 25,127 25,419
Income tax liabilities 540 1,277
Current portion of capital lease obligations 2,140 1,515
Contingent considerations current 1,717 1,198
Other current liabilities 3,986 1,116
Total current liabilities 37,615 34,020
Long-term debt   22,000
Capital lease obligations 3,106 3,447
Deferred tax liabilities 29,732 31,418
Other non-current liabilities 2,788 3,292
Contingent considerations non-current   462
Total liabilities 73,241 94,639
Commitments and contingencies (Note 13)
Stockholders' equity    
Common stock, $0.001 par value, 1,000,000 shares authorized, 158,524 shares issued and 158,474 outstanding as of September 30, 2021; 700,000 shares authorized, 140,222 shares issued and 125,074 shares outstanding as of December 31, 2020 159 140
Preferred stock, $0.01 par value, 100,000 shares authorized and zero shares issued and outstanding as of September 30, 2021 and 61,006 shares authorized, issued, and outstanding as of December 31, 2020. Liquidation preference: $350,000 as of December 31, 2020   610
Additional paid-in capital 677,588 620,679
Treasury stock, at cost, 50 shares and 15,146 shares as of September 30, 2021 and December 31, 2020, respectively (1,802) (260,686)
Retained earnings 55,941 54,941
Accumulated other comprehensive income, net of income taxes 870 1,011
Total stockholders' equity 732,756 416,695
Total liabilities and stockholders' equity $ 805,997 $ 511,334
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Sep. 30, 2021
Dec. 31, 2020
CONDENSED CONSOLIDATED BALANCE SHEETS    
Trade Receivables, net of allowances $ 5,246 $ 7,049
Common stock, par value $ 0.001 $ 0.001
Common stock, shares authorized 1,000,000 700,000
Common stock, shares issued 158,524 140,222
Common stock, shares outstanding 158,474 125,074
Preferred stock, par value $ 0.01 $ 0.01
Preferred stock, shares authorized 100,000 61,006
Preferred stock, shares issued 0 61,006
Preferred stock, shares outstanding 0 61,006
Preferred stock, liquidation value   $ 350,000
Treasury stock, shares 50 15,146
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME        
Revenue $ 83,098 $ 61,037 $ 227,208 $ 165,276
Cost of revenue (exclusive of depreciation and amortization shown separately below) 13,435 8,998 35,929 23,963
Product development 16,359 13,087 45,658 34,324
Sales, marketing and customer support 19,539 16,728 54,653 41,880
General and administrative 14,465 10,369 58,317 29,327
Depreciation and amortization 7,492 6,087 21,989 18,167
Income from operations 11,808 5,768 10,662 17,615
Interest expense 249 858 936 2,958
Other expense, net 365 481 365 359
Income before income taxes 11,194 4,429 9,361 14,298
Income tax expense (benefit) 3,270 (1,376) 8,361 1,975
Net income $ 7,924 $ 5,805 $ 1,000 $ 12,323
Earnings per share:        
Basic $ 0.05 $ 0.04 $ 0.01 $ 0.09
Diluted $ 0.05 $ 0.04 $ 0.01 $ 0.08
Weighted-average common stock outstanding:        
Basic 158,045 139,841 144,305 139,779
Diluted 167,045 146,554 153,547 146,843
Comprehensive income:        
Net income $ 7,924 $ 5,805 $ 1,000 $ 12,323
Other comprehensive income:        
Foreign currency cumulative translation adjustment 303 410 (141) 488
Total comprehensive income $ 8,227 $ 6,215 $ 859 $ 12,811
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
IPO
Common Stock
Private Placement
Common Stock
Preferred Stock
Treasury Stock
Additional Paid-in Capital
IPO
Additional Paid-in Capital
Private Placement
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive (Income) Loss Net of Income Taxes
IPO
Private Placement
Total
Balance at Dec. 31, 2019     $ 140         $ 283,457 $ 34,488 $ (67)     $ 318,018
Balance (in shares) at Dec. 31, 2019     139,721                    
Foreign currency translation adjustment                   (153)     (153)
Stock-based compensation expense               802         802
Common stock issued upon exercise of stock options               70         70
Common stock issued upon exercise of stock options (in shares)     32                    
Net income (loss)                 2,440       2,440
Balance at Mar. 31, 2020     $ 140         284,329 36,928 (220)     321,177
Balance (in shares) at Mar. 31, 2020     139,753                    
Balance at Dec. 31, 2019     $ 140         283,457 34,488 (67)     318,018
Balance (in shares) at Dec. 31, 2019     139,721                    
Foreign currency translation adjustment                         488
Net income (loss)                         12,323
Balance at Sep. 30, 2020     $ 140         287,825 46,811 421     335,197
Balance (in shares) at Sep. 30, 2020     139,935                    
Balance at Mar. 31, 2020     $ 140         284,329 36,928 (220)     321,177
Balance (in shares) at Mar. 31, 2020     139,753                    
Foreign currency translation adjustment                   231     231
Stock-based compensation expense               1,140         1,140
Common stock issued upon exercise of stock options               51         51
Common stock issued upon exercise of stock options (in shares)     58                    
Net income (loss)                 4,078       4,078
Balance at Jun. 30, 2020     $ 140         285,520 41,006 11     326,677
Balance (in shares) at Jun. 30, 2020     139,811                    
Foreign currency translation adjustment                   410     410
Stock-based compensation expense               1,619         1,619
Common stock issued under employee purchase plan               423         423
Common stock issued under employee purchase plan (in shares)     61                    
Common stock issued upon exercise of stock options               263         263
Common stock issued upon exercise of stock options (in shares)     44                    
Common stock issued upon vesting of restricted stock units (in shares)     19                    
Net income (loss)                 5,805       5,805
Balance at Sep. 30, 2020     $ 140         287,825 46,811 421     335,197
Balance (in shares) at Sep. 30, 2020     139,935                    
Balance at Dec. 31, 2020     $ 140 $ 610 $ (260,686)     620,679 54,941 1,011     416,695
Balance (in shares) at Dec. 31, 2020     140,222 61,006 15,146                
Foreign currency translation adjustment                   (799)     (799)
Stock-based compensation expense               2,538         2,538
Common stock issued upon exercise of stock options               538         538
Common stock issued upon exercise of stock options (in shares)     180                    
Net income (loss)                 5,644       5,644
Balance at Mar. 31, 2021     $ 140 $ 610 $ (260,686)     623,755 60,585 212     424,616
Balance (in shares) at Mar. 31, 2021     140,402 61,006 15,146                
Balance at Dec. 31, 2020     $ 140 $ 610 $ (260,686)     620,679 54,941 1,011     416,695
Balance (in shares) at Dec. 31, 2020     140,222 61,006 15,146                
Foreign currency translation adjustment                         $ (141)
Common stock issued upon exercise of stock options (in shares)                         1,710
Net income (loss)                         $ 1,000
Balance at Sep. 30, 2021     $ 159   $ (1,802)     677,588 55,941 870     732,756
Balance (in shares) at Sep. 30, 2021     158,524   50                
Balance at Mar. 31, 2021     $ 140 $ 610 $ (260,686)     623,755 60,585 212     424,616
Balance (in shares) at Mar. 31, 2021     140,402 61,006 15,146                
Foreign currency translation adjustment                   355     355
Stock-based compensation expense               4,714         4,714
Common stock issued upon exercise of stock options     $ 2         2,907         2,909
Common stock issued upon exercise of stock options (in shares)     871                    
Common stock issued upon vesting of restricted stock units (in shares)     217                    
Conversion of Series A preferred stock to common stock in connection with initial public offering     $ 5 $ (610) $ 260,686     (260,081)          
Conversion of Series A preferred stock to common stock (in shares)     5,190 (61,006) (15,146)                
Issuance of stock $ 10 $ 1       $ 269,380 $ 29,999       $ 269,390 $ 30,000  
Issuance of stock (in shares) 9,977 1,111                      
Net income (loss)                 (12,568)       (12,568)
Balance at Jun. 30, 2021     $ 158         670,674 48,017 567     719,416
Balance (in shares) at Jun. 30, 2021     157,768                    
Foreign currency translation adjustment                   303     303
Shares repurchased for settlement of employee tax withholdings         $ (1,802)               (1,802)
Shares repurchased for settlement of employee tax withholdings (in shares)         50                
Stock-based compensation expense               4,848         4,848
Common stock issued upon exercise of stock options     $ 1         2,066         2,067
Common stock issued upon exercise of stock options (in shares)     651                    
Common stock issued upon vesting of restricted stock units (in shares)     105                    
Net income (loss)                 7,924       7,924
Balance at Sep. 30, 2021     $ 159   $ (1,802)     $ 677,588 $ 55,941 $ 870     $ 732,756
Balance (in shares) at Sep. 30, 2021     158,524   50                
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Operating activities:    
Net income $ 1,000 $ 12,323
Adjustments to reconcile net income to net cash provided by operating activities    
Bad debt (recovery) expense (1,186) 3,041
Depreciation and amortization expense 21,989 18,167
Amortization of debt issuance costs 221 211
Accretion of acquisition liabilities   36
Deferred taxes (4,572) (3,912)
Stock-based compensation expense 12,100 3,561
Interest expense (income) 130 (36)
Change in fair value of contingent consideration 57 (949)
Offering costs 21,797 1,852
Other 661 742
Changes in operating assets and liabilities net of effect of business combinations    
Trade receivables 690 (11,633)
Prepaid expenses and other current assets 4,590 (3,457)
Other non-current assets (162) (9)
Trade payables 425 1,881
Accrued expenses (684) 2,081
Other current liabilities 2,747 (7,143)
Other non-current liabilities (1,369) 1,082
Net cash provided by operating activities 58,434 17,838
Investing activities:    
Purchase of property, plant and equipment (5,499) (6,545)
Acquisition of businesses, net of cash acquired (24,323)  
Net cash (used in) investing activities (29,822) (6,545)
Financing activities:    
Payments of long-term debt (22,000) (563)
Payment of contingent consideration related to Zentrick acquisition   (601)
Proceeds from common stock issued upon exercise of stock options 5,514 383
Proceeds from common stock issued under employee purchase plan   425
Proceeds from issuance of common stock upon initial public offering 269,390  
Proceeds from issuance of common stock in connection with concurrent private placement 30,000  
Payments related to offering costs (21,797) (1,230)
Capital lease payments (1,222) (1,242)
Shares repurchased for settlement of employee tax withholdings (1,802)  
Net cash provided by (used in) financing activities 258,033 (4,911)
Effect of exchange rate changes on cash and cash equivalents and restricted cash (173) (38)
Net increase in cash, cash equivalents, and restricted cash 286,472 6,344
Cash, cash equivalents, and restricted cash - Beginning of period 33,395 11,342
Cash, cash equivalents, and restricted cash - End of period 319,867 17,686
Supplemental cash flow information:    
Cash paid for taxes 5,586 14,901
Cash paid for interest 580 2,692
Non-cash investing and financing activities:    
Conversion of Series A preferred stock to common stock in connection with the initial public offering 610  
Treasury stock reissued upon the conversion of Series A preferred stock to common stock 260,686  
Acquisition of equipment under capital lease 1,518 973
Capital assets financed by accounts payable 41 1,313
Offering costs included in accounts payable and accrued expense   772
Leiki    
Financing activities:    
Deferred payment related to acquisition   (2,033)
Zentrick    
Financing activities:    
Deferred payment related to acquisition $ (50) $ (50)
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows - USD ($)
$ in Thousands
Sep. 30, 2021
Sep. 30, 2020
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS    
Cash and cash equivalents $ 319,825 $ 17,289
Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets) 42 397
Total cash and cash equivalents and restricted cash $ 319,867 $ 17,686
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business
9 Months Ended
Sep. 30, 2021
Description of Business  
Description of Business

1.    Description of Business

DoubleVerify is a software platform for digital media measurement, data and analytics. The Company’s solutions provide advertisers with a single measure of digital ad quality and effectiveness, the DV Authentic Ad, which ensures that a digital ad was delivered in a brand-safe environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, provides customers with access to data on all of their digital ads and enables them to make changes to their ad strategies on a real-time basis. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, Connected TV (“CTV”), social media channels and digital publishers. The Company’s solutions are accredited by the Media Rating Council, which allows the Company’s data to be used as a single-source standard in the evaluation and measurement of digital ads.

The Company was incorporated on August 16, 2017, is registered in the state of Delaware and is the parent company of DoubleVerify Midco, Inc. (“MidCo”), which is in turn the parent company of DoubleVerify Inc.  On August 18, 2017, DoubleVerify Inc. entered into an agreement and plan of merger (the “Agreement”), whereby the Company, formerly known as Pixel Group Holdings, Inc. and Pixel Merger Sub, Inc. (“Merger Sub”), a wholly owned subsidiary of the Company, agreed to provide for the merger of the Merger Sub with DoubleVerify Inc. pursuant to the terms and conditions of the Agreement.

On the effective date, Merger Sub was merged with and into DoubleVerify Inc. whereupon the separate corporate existence of Merger Sub ceased and DoubleVerify Inc. continued as the surviving corporation.

Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc. resulting in a change of control at the parent level.  The merger resulted in the application of acquisition accounting under the provisions of Financial Accounting Standards Board (“FASB”) Topic Accounting Standards Codification (“ASC”) 805, Business Combinations.

The Company has wholly owned subsidiaries in numerous jurisdictions including Israel, the United Kingdom, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, and Finland, and operates in one reportable segment.

On April 23, 2021, the Company completed an initial public offering of its common stock (“IPO”). See Footnote 12, Stockholders’ Equity.    

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies
9 Months Ended
Sep. 30, 2021
Basis of Presentation and Summary of Significant Accounting Policies  
Basis of Presentation and Summary of Significant Accounting Policies

2.     Basis of Presentation and Summary of Significant Accounting Policies

Basis of Preparation and Principles of Consolidation

The accompanying Condensed Consolidated Balance Sheets as of September 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.

On March 29, 2021, the Company effected a 1-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items including, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements.

Recently Issued Accounting Pronouncements

The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.

Financial Instruments - Credit Losses    

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  

Cloud Computing    

In August 2018, the FASB issued ASU No. 2018-15, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That is a Service Contract (“ASU 2018-15”). This update was issued to align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption.

The Company intends to adopt amendment ASU No. 2018-15 on December 31, 2021 using a prospective approach. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

Leases

In February 2016, the FASB issued ASU No. 2016-02, Leases Topic 842 (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018- 10, Codification Improvements to Topic 842, Leases, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018- 11, Leases: Targeted Improvements ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Simplifying the Accounting for Income Taxes

In December 2019, the FASB issued ASU No. 2019-12, Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”). ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective method of adoption. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue
9 Months Ended
Sep. 30, 2021
Revenue  
Revenue

3.     Revenue

The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Direct or measured and purchased for Programmatic, and supply-side customers, where revenue is generated based on contracts with minimum guarantees or contracts that contain overages after minimum guarantees are achieved.

Disaggregated revenue by customer type is as follows:

Three Months Ended

    

Nine Months Ended

September 30, 

September 30, 

(in thousands)

    

2021

    

2020

    

2021

    

2020

Advertiser - direct

$

34,057

$

27,582

$

93,260

$

73,476

Advertiser - programmatic

 

41,902

 

28,044

 

113,694

 

76,023

Supply-side customer

 

7,139

 

5,411

 

20,254

 

15,777

Total revenue

$

83,098

$

61,037

$

227,208

$

165,276

Contract assets relate to the Company’s conditional right to consideration for completed performance under the contract (e.g., unbilled receivables). Trade receivables, net of allowance for doubtful accounts, include unbilled receivable balances of $36.1 million and $44.9 million as of September 30, 2021 and December 31, 2020, respectively.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.21.2
Business Combinations
9 Months Ended
Sep. 30, 2021
Business Combinations  
Business Combinations

4.    Business Combinations

Meetrics GmbH

On August 31, 2021, the Company acquired all of the outstanding stock of Meetrics GmbH (“Meetrics”). Meetrics was founded in 2008 in Berlin, Germany and is a European-based ad verification provider – offering comprehensive media quality measurement solutions across viewability, fraud, brand safety and suitability. The aggregate net cash purchase price was $24.3 million. This acquisition expands DoubleVerify’s international presence as substantially all of Meetrics’ customer base and business operations are based in Europe, the Middle East, and Africa.

The following table summarizes the preliminary fair value of assets acquired and liabilities assumed as of the acquisition date:

(in thousands)

    

Acquisition Date

Assets:

 

  

Cash and cash equivalents

$

1,007

Trade receivables

 

948

Other assets

 

96

Property, plant and equipment

27

Intangible assets:

 

Technology

 

2,245

Customer relationships

 

7,208

Trademarks

47

Non-compete agreements

71

Total intangible assets

 

9,571

Goodwill

 

17,057

Total assets acquired

$

28,706

Liabilities:

 

  

Trade payables

$

145

Other current liabilities

 

345

Deferred tax liability

2,886

Total liabilities assumed

 

3,376

Total purchase consideration

$

25,330

Cash acquired

(1,007)

Net cash purchase price

24,323

The acquired intangible assets of Meetrics will be amortized over their estimated useful lives. Accordingly, customer relationships will be amortized over fourteen years, developed technology will be amortized over four years, non-compete agreements will be amortized over two years, and trademarks will be amortized over one year. The total weighted-average useful life of the acquired intangible assets as of September 30, 2021 is 11.4 years. The Company recognized a deferred tax liability of $2.9 million in relation to the intangible assets acquired.

The goodwill and identified intangible assets are not deductible for tax purposes. The Company incurred acquisition-related transaction costs of $0.7 million included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2021.

The goodwill associated with Meetrics includes the acquired assembled work force, the value associated with the opportunity to leverage the work force to continue to develop the future generations of verification technology assets, as well as the ability to grow the Company through adding additional customer relationships or new solutions in the future.

The preliminary allocations of the purchase price for Meetrics are subject to revisions as additional information is obtained about the facts and circumstances that existed as of the acquisition date. The revisions may have a significant impact on the accompanying condensed consolidated financial statements. The allocations of the purchase price will be finalized once all information is obtained and assessed, not to exceed one year from the acquisition date.

The acquisition of Meetrics was immaterial to the Company's Condensed Consolidated Financial Statements for the three and nine months ended September 30, 2021 and 2020, and therefore, supplemental information disclosure on an unaudited pro forma basis is not presented.

Zentrick NV

On February 15, 2019, the Company acquired all of the outstanding stock of Zentrick NV (“Zentrick”). Zentrick, headquartered in Ghent, Belgium is a digital video technology company that provides middleware solutions that increase the performance of online video advertising for brand advertisers, advertising platforms and publishers. This acquisition integrates technology into the Company’s suite of products related to advertising viewability specifically on video formats, a growing segment of the advertising market and critical for the delivery of verification services to social platforms and CTV. The aggregate purchase price consists of 1) $23.2 million paid in cash at closing, which excluded closing adjustments of approximately $0.2 million paid in April 2019 2) $0.1 million in holdback payment of which 50% was payable 12 months after the closing date, and the remaining 50% was payable 24 months after the closing date and 3) up to $17.3 million of performance-based deferred payments that comprises two components (the “Zentrick Deferred Payment Terms”). The first component has a $4.0 million maximum payment related to four milestone tranches of $1.0 million each based on achievement of certain product milestones (“technical milestones”). The second component has a total maximum payment of $13.0 million and varies based upon certain revenue targets in fiscal 2019, 2020, and 2021 (“revenue targets”).

Under the Zentrick Deferred Payment Terms, a portion of the technical milestones and revenue targets have been accounted at fair value as contingent consideration in the business combination with the remaining portion being accounted for as compensation expense under ASC 710, Compensation - General.

As of September 30, 2021, the technical milestone and revenue target components of the contingent consideration had a fair value of $1.2 million and $0.5 million, respectively, and is recorded in Contingent Considerations Current in the Condensed Consolidated Balance Sheets. There was no change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three months ended September 30, 2021. For the nine months ended September 30, 2021, the Company recorded a $0.1 million unrealized loss for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income. The Company recorded less than $0.1 million unrealized gain and $0.9 million unrealized gain for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2020, respectively.

As of September 30, 2021, the technical milestone and revenue target components treated as compensation cost total $1.1 million and is included in Other Current Liabilities in the Condensed Consolidated Balance Sheets. For the three months ended September 30, 2021, there were no charges to the Condensed Consolidated Statements of Operations and Comprehensive Income. For the nine months ended September 30, 2021, less than $0.1 million was charged to the Condensed Consolidated Statements of Operations and Comprehensive Income. Less than $0.1 million and $0.2 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2020, respectively.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets
9 Months Ended
Sep. 30, 2021
Goodwill and Intangible Assets  
Goodwill and Intangible Assets

5.    Goodwill and Intangible Assets

As of September 30, 2021 and December 31, 2020, the carrying value of goodwill was $244.7 million and $227.3 million, respectively. The total change in the carrying value of goodwill was primarily related to $17.1 million from the Meetrics acquisition. The remaining change in goodwill was deemed immaterial.

The following table summarizes the Company’s intangible assets and related accumulated amortization:

(in thousands)

September 30, 2021

    

December 31, 2020

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

11,736

(3,200)

8,536

11,690

(2,562)

9,128

Customer relationships

 

109,301

(34,194)

 

75,107

 

102,220

 

(27,720)

 

74,500

Developed technology

 

65,599

(31,604)

 

33,995

 

63,210

 

(25,128)

 

38,082

Non-compete agreements

69

(2)

67

Total intangible assets

$

186,705

$

(69,000)

$

117,705

$

177,120

$

(55,410)

$

121,710

Amortization expense for the three months ended September 30, 2021 and September 30, 2020 is $4.6 million and $4.4 million, respectively. Amortization expense related to intangible assets amounted to $13.5 million and $13.4 million for the nine months ended September 30, 2021 and September 30, 2020, respectively.

Estimated future expected amortization expense of intangible assets as of September 30, 2021 is as follows:

(in thousands)

    

    

2021

$

4,755

2022

19,001

2023

18,929

2024

17,303

2025

15,146

2026

10,283

Thereafter

 

32,288

Total

$

117,705

The weighted-average remaining useful life by major asset classes as of September 30, 2021 is as follows:

    

(In years)

Trademarks and brands

 

11

Customer relationships

 

8

Developed technology

4

Non-compete agreements

 

2

There were no impairments identified during the nine months ended September 30, 2021 or September 30, 2020.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.21.2
Property, Plant and Equipment
9 Months Ended
Sep. 30, 2021
Property, Plant and Equipment  
Property, Plant and Equipment

6.     Property, Plant and Equipment

Property, plant and equipment, including equipment under capital lease obligations and capitalized software development costs, consists of the following:

As of

(in thousands)

September 30, 2021

December 31, 2020

Computers and peripheral equipment

    

$

16,738

    

$

14,577

Office furniture and equipment

 

1,104

 

1,124

Leasehold improvements

 

9,315

 

9,267

Capitalized software development costs

 

13,236

 

8,382

Less accumulated depreciation and amortization

 

(23,700)

 

(15,243)

Total property, plant and equipment, net

$

16,693

$

18,107

For the three months ended September 30, 2021 and 2020, total depreciation expense was $2.9 million and $1.6 million, respectively. For the nine months ended September 30, 2021 and 2020, total depreciation expense was $8.5 million and $4.7 million, respectively.

Property and equipment financed through capital lease obligations, consisting of computer equipment, totaled $12.3 million and $10.7 million on September 30, 2021 and December 31, 2020, respectively. As of September 30, 2021 and December 31, 2020, accumulated depreciation related to property and equipment financed through capital leases totaled $9.4 million and $7.6 million, respectively. Refer to Note 13, Commitments and Contingencies.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement
9 Months Ended
Sep. 30, 2021
Fair Value Measurement  
Fair Value Measurement

7.     Fair Value Measurement

The following tables present the Company’s financial instruments that are measured at fair value on a recurring basis:

As of September 30, 2021

Quoted Market

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents

$

11,725

11,725

Liabilities:

Contingent consideration current

 

1,717

 

1,717

Contingent consideration non-current

 

 

Total contingent consideration

$

$

$

1,717

$

1,717

As of December 31, 2020

Quoted Market

 

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents

 

$

2,474

 

$

 

$

 

$

2,474

Liabilities:

Contingent consideration current

1,198

1,198

Contingent consideration non-current

 

462

 

462

Total contingent consideration

$

 

$

 

$

1,660

 

$

1,660

 

Cash equivalents consisting of money market funds of $11.7 million and money market funds and time deposits of $2.5 million as of September 30, 2021 and December 31, 2020, respectively, were classified as Level 1 of the fair value hierarchy and valued using quoted market prices in active markets.

Contingent consideration relates to potential payments that the Company may be required to make associated with a business combination. To the extent that the valuations of these liabilities are based on inputs that are less observable or not observable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised in determining fair value is greatest for measures categorized in Level 3.

Rollforward of the fair value measurements of the contingent consideration categorized with Level 3 inputs as of September 30, 2021 is as follows:

(in thousands)

Balance at January 1, 2021

$

1,660

Fair value adjustments

 

57

Payments during the year

 

Balance at September 30, 2021

$

1,717

The fair value of the component of contingent consideration related to achievement of revenue targets have been estimated using a Monte Carlo model to simulate future performance of the acquired business under a risk-neutral framework; significant assumptions include a risk-adjusted discount rate of 13.5% and revenue volatility of 29.0%. The fair value of the component of contingent consideration related to achievement of four technical milestones have been estimated using situation-based modeling, which considers the probability-weighted present value of the expected payout amount.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.21.2
Long-term Debt
9 Months Ended
Sep. 30, 2021
Long-term Debt.  
Long-term Debt

8.     Long-term Debt

On October 1, 2020, DoubleVerify Inc., as borrower (the “Borrower”), and MidCo, as guarantor, entered into an amendment and restatement agreement with the banks and other financial institutions party thereto, as lenders, and Capital One, National Association, as administrative agent, letter of credit issuer and swing lender, and others, to (i) amend and restate the Prior Credit Agreement as defined in the Prospectus (the Prior Credit Agreement, as amended and restated on October 1, 2020, the “Credit Agreement”) and (ii) replace the Prior Credit Facilities (as defined in the Prospectus) with a new senior secured revolving credit facility (the “New Revolving Credit Facility”) in an aggregate principal amount of $150.0 million (with a letter of credit facility of up to $15.0 million as a sublimit). Subject to certain terms and conditions, the Borrower is entitled to request additional term loan facilities or increases in the revolving credit commitments under the New Revolving Credit Facility. The New Revolving Credit Facility is payable in quarterly installments for interest, with the principal balance due in full at maturity on October 1, 2025. Additional fees paid quarterly include fees for the unused revolving facility and unused letter of credit. The commitment fee on any unused balance is payable periodically and may range from 0.25% to 0.40% based upon the total net leverage ratio. The New Revolving Credit Facility bears interest at LIBOR plus 2.25%, which may vary from time to time based on the Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.  

The New Revolving Credit Facility contains a number of significant negative covenants. Subject to certain exceptions, these covenants require the Borrower to comply with certain requirements and restrictions to, among other things: incur indebtedness; create liens; engage in mergers or consolidations; make investments, loans and advances; pay dividends or other distributions and repurchase capital stock; sell assets; engage in certain transactions with affiliates; enter into sale and leaseback transactions; and make certain accounting changes. As a result of these restrictions, substantially all of the net assets of the Borrower are restricted from distribution to the Company or any of its holders of equity.  

The New Revolving Credit Facility has a first priority lien on substantially all of the assets of MidCo, the Borrower and Ad-Juster, Inc., the Company’s indirect subsidiary. The New Revolving Credit Facility requires the Borrower to remain in compliance with a maximum total net leverage ratio and a minimum fixed charge coverage ratio as defined in the Credit Agreement.

As of September 30, 2021, the maximum total net leverage ratio and minimum fixed charge coverage ratio is 3.5x and 1.25x, respectively. The Borrower is in compliance with all covenants under the New Revolving Credit Facility as of September 30, 2021.

On April 30, 2021 the Company used a portion of the proceeds from the IPO and the concurrent private placement to pay the outstanding balance. As of September 30, 2021 and December 31, 2020, there was $0 outstanding and $22.0 million outstanding under the New Revolving Credit Facility, respectively.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.21.2
Income Tax
9 Months Ended
Sep. 30, 2021
Income Tax  
Income Tax

9.     Income Tax

The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate ("ETR") based on actual historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, changes in the jurisdictional mix of forecasted pre-tax income, and changes to actual or forecasted permanent book to tax differences (e.g., non-deductible expenses). In addition, the Company’s ETR for a particular reporting period may fluctuate as the result of changes to the valuation allowance for net deferred tax assets, the impact of anticipated tax settlements with federal, state, or foreign tax authorities, or the impact of tax law changes. The Company identifies items that are unusual and non-recurring in nature and treat these as discrete events. The tax effect of these discrete events is booked entirely in the quarter in which they occur.

During the three and nine months ended September 30, 2021, the Company recorded an income tax provision of $3.3 million and $8.4 million, respectively, resulting in an effective tax rate of 29.2% and 89.3%, which includes an annualized effective tax provision of $3.3 million and $2.7 million (representing an effective tax rate of 29.2% and 29.1%) and discrete items relating primarily to transaction costs and state tax refunds of $0 and $5.6 million (representing an effective tax rate of 0.0% and 60.2%), respectively. During the three and nine months ended September 30, 2020, the Company recorded an income tax benefit of $1.4 million and an income tax provision of $2.0 million, respectively, resulting in an effective tax rate of (31.1%) and 13.8%, respectively. These effective tax rates differ from the U.S. federal statutory rate primarily due to the effects of differing treatment of transaction costs between book and tax, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes.

The COVID-19 (as defined herein) pandemic has a global reach, and many countries are introducing measures that provide relief to taxpayers in a variety of ways. In March 2020, the U.S. government enacted tax legislation containing provisions to support businesses during the COVID-19 pandemic (the “CARES Act”), including deferment of the employer portion of certain payroll taxes, refundable payroll tax credits, and technical amendments to tax depreciation methods for qualified improvement property. The CARES Act did not have a material impact on the Company’s income tax provision for the three and nine months ended September 30, 2021.

A valuation allowance has been established against a non-material amount of certain net foreign deferred tax assets and US tax loss carryforward. All other net deferred tax assets have been determined to be more likely than not realizable.

The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) and various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2016-2018 tax years. This examination may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from this, the Company is not currently under audit in any other jurisdiction.

On August 31, 2021, the Company acquired all of the outstanding stock of Meetrics, a German corporation, in a sale treated as a non-taxable event at the corporate level. The Company has calculated a preliminary tax basis balance sheet and deferred tax impact of the acquisition. The Company has recorded a deferred tax liability of $2.9 million relating to varying tax and book basis differences of intangible assets and goodwill.

In addition, Meetrics maintains net operating loss carryforwards of approximately $5.0 million through December 31, 2020. Based on a preliminary review of all positive and negative evidence, it appears to not be more likely than not that Meetrics will be able to utilize these loss carryforwards. Therefore, a deferred tax asset of $1.5 million has been recorded, which is fully offset by a valuation allowance.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.21.2
Earnings Per Share
9 Months Ended
Sep. 30, 2021
Earnings Per Share  
Earnings Per Share

10.   Earnings Per Share

The following table reconciles the numerators and denominators used in computations of the basic and diluted EPS for the three and nine months ended September 30:

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

2021

2020

2021

2020

Numerator:

    

  

    

  

    

Net Income (basic and diluted)

$

7,924

$

5,805

$

1,000

$

12,323

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

158,045

 

139,841

 

144,305

 

139,779

Dilutive effect of share-based awards

 

9,000

 

6,713

 

9,242

 

7,064

Weighted-average dilutive shares outstanding

 

167,045

 

146,554

 

153,547

 

146,843

Basic earnings per share

$

0.05

$

0.04

$

0.01

$

0.09

Diluted earnings per share

$

0.05

$

0.04

$

0.01

$

0.08

Approximately 4.6 million, and 4.3 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and nine months ended September 30, 2021, respectively, because they were antidilutive. Approximately 9.2 million, and 7.5 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and nine months ended September 30, 2020, respectively, because they were also antidilutive.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation
9 Months Ended
Sep. 30, 2021
Stock-Based Compensation  
Stock-Based Compensation

11.   Stock-Based Compensation

Employee Equity Incentive Plan

On September 20, 2017, the Company established its 2017 Omnibus Equity Incentive Program (the “2017 Plan”) which provides for the granting of equity based awards to certain employees, directors, independent contractors, consultants and agents. Under the 2017 Plan, the Company may grant non-qualified stock options, stock appreciation rights, restricted stock units, and other stock-based awards for up to 22,182 shares of common stock.

On April 19, 2021 the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). The maximum number of shares of common stock available for issuance under the 2021 Equity Plan is equal to the sum of (i) 30,000 shares of common stock and (ii) an annual increase on the first day of each year beginning in 2022 and ending in and including 2031, equal to the lesser of (A) five percent (5%) of the outstanding shares of common stock on the last day of the immediately preceding fiscal year and (B) such lesser amount as determined by the Board’s compensation committee. The 2021 Equity Plan provides for the grant of stock options (including qualified incentive stock options and nonqualified stock options), stock appreciation rights, restricted stock, restricted stock units, dividend equivalents, and other stock or cash settled incentive awards. Any shares covered by an award, or portion of an award, granted under the 2021 Equity Plan that expires or is forfeited, canceled, cash-settled, or otherwise terminated for any reason will again be available for the grant of awards under the 2021 Equity Plan.

Options become exercisable subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation of service and no later than 10 years after the grant date.

Restricted stock units are subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation.

A summary of stock option activity as of and for the nine months ended September 30, 2021 and December 31, 2020 is as follows:

Stock Option

Weighted Average

Remaining

Number of

Weighted Average

Contractual Life

Aggregate

Options

Exercise Price

(Years)

Intrinsic Value

Outstanding as of December 31, 2020

    

14,713

$

4.47

7.79

$

181,914

Options granted

 

1,707

30.95

Options exercised

 

(1,710)

3.28

Options forfeited

 

(271)

7.15

Outstanding as of September 30, 2021

 

14,439

$

7.70

7.41

$

383,974

Options expected to vest as of September 30, 2021

 

4,136

$

16.20

8.90

$

75,637

Options exercisable as of September 30, 2021

 

6,404

$

3.68

6.70

$

195,205

Stock options include grants to executives that contain both market-based and performance-based vesting conditions. There were no stock options granted that contain both market-based and performance-based vesting conditions during the nine months ended September 30, 2021. As of September 30, 2021, 3,433 market-based and performance-based awards were outstanding. As of September 30, 2021, the Company did not consider the performance condition to be probable and did not recognize any expense associated with these options.

The weighted average grant date fair value of options granted during the nine months ended September 30, 2021 and 2020 was $12.85 and $2.40, respectively. The total intrinsic value of options exercised during the nine months ended September 30, 2021 and 2020 was $50.5 million and $0.5 million, respectively.

The fair market value of each option granted during the nine months ended September 30, 2021 has been estimated on the grant date using the Black-Scholes-Merton option-pricing model with the following assumptions:

2021

Risk - free interest rate (percentage)

 

0.6. - 1.1

Expected term (years)

 

5.9 - 6.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

42.1 - 43.6

The Company’s board of directors (the “Board”) did not declare or pay dividends of the Company’s common or preferred stock during the nine months ended September 30, 2021 or during the nine months ended September 30, 2020.

A summary of restricted stock unit activity as of and for the nine months ended September 30, 2021 and December 31, 2020 is as follows:

    

Restricted Stock

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2020

1,261

$

7.74

Granted

 

1,720

30.88

Vested

 

(322)

8.97

Forfeited

 

(4)

35.54

Outstanding as of September 30, 2021

 

2,655

$

22.54

Expected to vest as of September 30, 2021

 

2,330

The total grant date fair value of restricted stock units that vested during the nine months ended September 30, 2021 was $2.9 million.

As of September 30, 2021, unrecognized stock-based compensation expense was $68.9 million, which is expected to be recognized over a weighted-average period of 1.6 years.

Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income as follows:

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

(in thousands)

 

2021

 

2020

 

2021

 

2020

Product development

$

1,239

$

212

$

1,953

$

465

Sales, marketing and customer support

 

1,423

 

305

 

3,743

 

869

General and administrative

 

2,186

 

1,102

 

6,404

 

2,227

Total stock-based compensation

$

4,848

$

1,619

$

12,100

$

3,561

Employee Stock Purchase Plan

In March 2021, the Board approved the Company’s 2021 Employee Stock Purchase Plan (“ESPP”), and employees became eligible to enroll in August 2021. The ESPP qualifies as an “employee stock purchase plan” under Section 423 of the U.S. Internal Revenue Code of 1986, as amended.

The Company reserved 3,000 shares of common stock for sale under the ESPP. The share reserve increases on the first day of each calendar year beginning on January 1, 2022 and ending on and including January 1, 2031, equal to the lesser of (i) one percent (1%) of the aggregate number of shares of common stock outstanding on the final day of the immediately preceding calendar year and (ii) such smaller number of shares of common stock as is determined by the Board.

Purchases are accomplished through participation in discrete offering periods. Currently, the ESPP is available only to U.S. based employees; the Company is reviewing offering the ESPP program to employees in non-U.S. jurisdictions. The first offering and purchase period began on September 1, 2021 and will end on November 30, 2021. The Company expects the program to continue consecutively for six-month offering periods (commencing on December 1, 2021) for the foreseeable future.

Under the ESPP, eligible employees are able to acquire shares of the Company’s common stock by accumulating funds through payroll deductions. Company employees in the United States generally are eligible to participate in the ESPP if they are a full-time employee and have completed six months of continuous service with the Company as of the last day of the enrollment period. Eligible employees are able to select a rate of payroll deduction between 1% and 15% of their compensation, up to a $25 annual contribution limit. The purchase price for shares of common stock purchased under the ESPP is 85% of the lesser of the fair market value of the common stock on (i) the first trading day of the applicable offering period and (ii) the last trading day of the applicable offering period. An employee’s participation automatically ends upon termination of employment for any reason. A participant may cancel enrollment or lower their contributions once during an offering period, but no later than 30 days before the end of an offering period. Upon the termination of an employee’s participation in the ESPP, payroll deductions will be stopped and refunded.

Stock-based compensation expense for the ESPP is recognized on a straight-line basis over the requisite service period of each award. The ESPP also has a six-month holding period after the purchase date of the offering period. Stock-based compensation expense related to ESPP totaled less than $0.1 million for the three and nine months ended September 30, 2021.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.21.2
Stockholders' Equity
9 Months Ended
Sep. 30, 2021
Stockholders' Equity  
Stockholders' Equity

12. Stockholders’ Equity

On April 9, 2021, the Company entered into an arrangement with an affiliate of Tiger Global Management, LLC (the ‘‘Tiger Investor’’) whereby the Tiger Investor purchased $30.0 million of the Company’s common stock in a private placement (‘‘concurrent private placement’’) concurrent with the completion of the IPO. The price per share was equal to the IPO price of $27.00, for a total of 1,111 shares. The Company received total aggregate net proceeds of $29.0 million, after deducting underwriting fees of $1.0 million.

On April 23, 2021, the Company completed its IPO in which the Company issued and sold 9,977 shares of common stock at a public offering price of $27.00 per share, which included the full exercise of the underwriters’ option to purchase 1,350 additional shares of common stock. The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company incurred offering costs of approximately $26.8 million for the concurrent private placement and IPO, of which $0 and $21.8 million were included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income for the three and nine months ended September 30, 2021, respectively. The IPO offering also included 5,356 shares sold by Providence VII U.S. Holdings L.P. (“Providence”) and other existing stockholders, which included the full exercise of the underwriters’ option to purchase 650 additional shares from Providence, in which the Company did not receive any proceeds from the shares sold.

In connection with the Company’s IPO, all shares of the Company’s outstanding preferred stock automatically converted into 20,335 shares of common stock on a one for one-third basis. The Company’s treasury stock, consisting of 15,146 shares of common stock, was reissued in the preferred stock conversion.

In conjunction with the IPO, the Company increased the authorized shares of its capital stock. The Company’s capital stock consists of 1,000,000 shares of common stock, par value $0.001 per share and 100,000 shares of undesignated preferred stock, par value $0.01 per share. Further, the Company amended and restated its existing amended and restated certificate of incorporation and its existing bylaws of the Company, as previously reported in the Prospectus, which incorporates material modifications to rights of security holders.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies
9 Months Ended
Sep. 30, 2021
Commitments and Contingencies  
Commitments and Contingencies

13.   Commitments and Contingencies

Accrued Expense

Accrued expenses as of September 30, 2021 and December 31, 2020 were as follows:

    

As of

(in thousands)

September 30, 2021

    

December 31, 2020

Vendor payments

$

5,254

$

3,896

Employee commissions and bonuses

 

8,372

 

11,344

Payroll and other employee related expense

 

8,810

 

6,957

401k and pension expense

 

1,459

 

1,358

Other taxes

 

1,232

 

1,864

Total accrued expense

$

25,127

$

25,419

Operating Leases

The Company and its subsidiaries have entered into operating lease agreements for certain of its office space and data centers. The offices are located in the United States, Israel, Belgium, Finland, France, Japan, Singapore, the United Kingdom, Germany, Poland and the United Arab Emirates. The data centers are premises used to house computing and networking equipment. The data centers are located in the United States, Netherlands, Germany and Singapore.

For the three months ended September 30, 2021 and September 30, 2020, office and data center rent expense was $1.5 million and $1.8 million, respectively. For the nine months ended September 30, 2021 and September 30, 2020, office and data center rent expense was $3.9 million and $5.3 million, respectively.

For the three and nine months ended September 30, 2021, the Company recorded expense of $0.8 million in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive Income upon triggering the recognition of a cease-use liability related to unoccupied leased office space; whereby, the Company no longer receives any economic benefit from the rights conveyed by the lease. The cease-use liability was determined based on the remaining lease rentals, adjusted for the effects of any prepaid or deferred items recognized under the lease as required by ASC 420, Exit or Disposal Cost Obligations.

Future minimum lease obligations are as follows:

    

Year Ending

(in thousands)

December 31, 

2021(for remaining three months)

$

1,550

2022

 

5,347

2023

 

4,880

2024

 

1,015

2025

981

2026

368

Thereafter

76

$

14,217

Capital Leases

As of September 30, 2021, the Company had seven lease agreements for certain equipment which provide for the transfer of ownership at the end of the lease term or are for underlying assets that will have an insignificant fair value at the end of the lease term. The Company has classified these agreements as capital leases and recognized the corresponding assets and liabilities within the Condensed Consolidated Balance Sheet.

The following is a schedule of future minimum lease payments under these agreements (including interest) as of September 30, 2021.

    

Year Ending

(in thousands)

December 31, 

2021 (for remaining three months)

$

674

2022

 

2,144

2023

 

1,937

2024

 

598

2025

 

170

Total

 

5,523

Less: Amount representing interest

 

(277)

Present Value of net minimum capital lease payments

$

5,246

Capital leases short term

$

2,140

Capital leases long term

 

3,106

Total

$

5,246

Contingencies

From time to time, the Company is subject to various legal proceedings and claims, either asserted or unasserted, that arise in the ordinary course of business. The Company records liabilities for contingencies including legal costs when it is probable that a liability has been incurred and when the amount can be reasonably estimated. Legal costs are expensed as incurred. Although the outcome of the various legal proceedings and claims cannot be predicted with certainty, management does not believe that any of these proceedings or other claims will have a material effect on the Company’s business, financial condition, results of operations or cash flows.

With respect to potential payments due related to the Zentrick acquisition, discussed in Footnote 4, Business Combinations, the Company and the Zentrick selling stockholders are currently in discussions to negotiate the early termination of the Zentrick Deferred Payment Terms and resolution of the contingent payments due for both the technical milestones and revenue targets. The Company believes the total of approximately $2.8 million for these potential payments reflected in the Condensed Consolidated Balance Sheet as contingent consideration current and other current liabilities reflect the Company’s estimated obligations under the stock purchase agreement entered into in connection with the transaction, as of September 30, 2021. In efforts to terminate early the Zentrick Deferred Payment Terms, the Company believes payment between $2.8 million and $5.5 million is possible, with no amount within the range being a better estimate than the amount recorded on the Condensed Consolidated Balance Sheets.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.21.2
Segment Information
9 Months Ended
Sep. 30, 2021
Segment Information  
Segment Information

14.    Segment Information

The Company has determined that it operates as one operating and reportable segment. The Company’s chief operating decision maker reviews financial information on a consolidated basis, together with certain operating and performance measures principally to make decisions about how to allocate resources and measure performance.

The Company has not disclosed certain geographic information pertaining to revenues and total assets as it is impracticable to disclose, is not utilized by the Company’s chief operating decision maker to review operating results or make decisions about how to allocate resources, and would not be useful to users of the Condensed Consolidated Financial Statements to disclose such information.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Events
9 Months Ended
Sep. 30, 2021
Subsequent Events  
Subsequent Events

15.   Subsequent Events

On October 6, 2021, the Company approved 13 restricted stock units to be granted under the 2021 Equity Plan.

On October 27, 2021, the Company approved 11 stock options and 36 restricted stock units to be granted to employees under the 2021 Equity Plan.

On November 9, 2021, the Company announced an agreement to acquire Outrigger Media, Inc. d/b/a OpenSlate (“OpenSlate”) for $150 million, consisting of $125 million in cash and $25 million in DoubleVerify common stock. OpenSlate is a leading independent pre-campaign contextual targeting platform for social video and CTV. OpenSlate’s technology provides insight into the nature and quality of ad-supported content on large, video-driven social platforms, such as Facebook, TikTok and YouTube. 

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2021
Basis of Presentation and Summary of Significant Accounting Policies  
Basis of Preparation and Principles of Consolidation

Basis of Preparation and Principles of Consolidation

The accompanying Condensed Consolidated Balance Sheets as of September 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and nine months ended September 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.

On March 29, 2021, the Company effected a 1-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items including, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.

Financial Instruments - Credit Losses    

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  

Cloud Computing    

In August 2018, the FASB issued ASU No. 2018-15, Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That is a Service Contract (“ASU 2018-15”). This update was issued to align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption.

The Company intends to adopt amendment ASU No. 2018-15 on December 31, 2021 using a prospective approach. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

Leases

In February 2016, the FASB issued ASU No. 2016-02, Leases Topic 842 (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018- 10, Codification Improvements to Topic 842, Leases, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018- 11, Leases: Targeted Improvements ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Simplifying the Accounting for Income Taxes

In December 2019, the FASB issued ASU No. 2019-12, Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”). ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective method of adoption. The Company is currently in the process of evaluating the impact of this standard and its adoption is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue (Tables)
9 Months Ended
Sep. 30, 2021
Revenue  
Schedule of disaggregated revenue

Three Months Ended

    

Nine Months Ended

September 30, 

September 30, 

(in thousands)

    

2021

    

2020

    

2021

    

2020

Advertiser - direct

$

34,057

$

27,582

$

93,260

$

73,476

Advertiser - programmatic

 

41,902

 

28,044

 

113,694

 

76,023

Supply-side customer

 

7,139

 

5,411

 

20,254

 

15,777

Total revenue

$

83,098

$

61,037

$

227,208

$

165,276

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.21.2
Business Combinations - (Tables)
9 Months Ended
Sep. 30, 2021
Business Combinations  
Schedule of fair value of assets acquired and liabilities assumed as of the acquisition date

(in thousands)

    

Acquisition Date

Assets:

 

  

Cash and cash equivalents

$

1,007

Trade receivables

 

948

Other assets

 

96

Property, plant and equipment

27

Intangible assets:

 

Technology

 

2,245

Customer relationships

 

7,208

Trademarks

47

Non-compete agreements

71

Total intangible assets

 

9,571

Goodwill

 

17,057

Total assets acquired

$

28,706

Liabilities:

 

  

Trade payables

$

145

Other current liabilities

 

345

Deferred tax liability

2,886

Total liabilities assumed

 

3,376

Total purchase consideration

$

25,330

Cash acquired

(1,007)

Net cash purchase price

24,323

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets (Tables)
9 Months Ended
Sep. 30, 2021
Goodwill and Intangible Assets  
Schedule of intangible assets and related accumulated amortization

(in thousands)

September 30, 2021

    

December 31, 2020

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

11,736

(3,200)

8,536

11,690

(2,562)

9,128

Customer relationships

 

109,301

(34,194)

 

75,107

 

102,220

 

(27,720)

 

74,500

Developed technology

 

65,599

(31,604)

 

33,995

 

63,210

 

(25,128)

 

38,082

Non-compete agreements

69

(2)

67

Total intangible assets

$

186,705

$

(69,000)

$

117,705

$

177,120

$

(55,410)

$

121,710

Schedule of Estimated future expected amortization expense of intangible assets

(in thousands)

    

    

2021

$

4,755

2022

19,001

2023

18,929

2024

17,303

2025

15,146

2026

10,283

Thereafter

 

32,288

Total

$

117,705

Schedule of weighted-average remaining useful life

    

(In years)

Trademarks and brands

 

11

Customer relationships

 

8

Developed technology

4

Non-compete agreements

 

2

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.21.2
Property, Plant and Equipment (Tables)
9 Months Ended
Sep. 30, 2021
Property, Plant and Equipment  
Schedule of Property, Plant and Equipment

As of

(in thousands)

September 30, 2021

December 31, 2020

Computers and peripheral equipment

    

$

16,738

    

$

14,577

Office furniture and equipment

 

1,104

 

1,124

Leasehold improvements

 

9,315

 

9,267

Capitalized software development costs

 

13,236

 

8,382

Less accumulated depreciation and amortization

 

(23,700)

 

(15,243)

Total property, plant and equipment, net

$

16,693

$

18,107

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement (Tables)
9 Months Ended
Sep. 30, 2021
Fair Value Measurement  
Schedule of financial instruments measured at fair value on recurring basis

As of September 30, 2021

Quoted Market

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents

$

11,725

11,725

Liabilities:

Contingent consideration current

 

1,717

 

1,717

Contingent consideration non-current

 

 

Total contingent consideration

$

$

$

1,717

$

1,717

As of December 31, 2020

Quoted Market

 

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents

 

$

2,474

 

$

 

$

 

$

2,474

Liabilities:

Contingent consideration current

1,198

1,198

Contingent consideration non-current

 

462

 

462

Total contingent consideration

$

 

$

 

$

1,660

 

$

1,660

 

Schedule of rollforward of fair value measurements of contingent consideration

(in thousands)

Balance at January 1, 2021

$

1,660

Fair value adjustments

 

57

Payments during the year

 

Balance at September 30, 2021

$

1,717

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.21.2
Earnings Per Share (Tables)
9 Months Ended
Sep. 30, 2021
Earnings Per Share  
Schedule of computations of the basic and diluted EPS

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

2021

2020

2021

2020

Numerator:

    

  

    

  

    

Net Income (basic and diluted)

$

7,924

$

5,805

$

1,000

$

12,323

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

158,045

 

139,841

 

144,305

 

139,779

Dilutive effect of share-based awards

 

9,000

 

6,713

 

9,242

 

7,064

Weighted-average dilutive shares outstanding

 

167,045

 

146,554

 

153,547

 

146,843

Basic earnings per share

$

0.05

$

0.04

$

0.01

$

0.09

Diluted earnings per share

$

0.05

$

0.04

$

0.01

$

0.08

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation (Tables)
9 Months Ended
Sep. 30, 2021
Stock-Based Compensation  
Schedule of stock option activity

Stock Option

Weighted Average

Remaining

Number of

Weighted Average

Contractual Life

Aggregate

Options

Exercise Price

(Years)

Intrinsic Value

Outstanding as of December 31, 2020

    

14,713

$

4.47

7.79

$

181,914

Options granted

 

1,707

30.95

Options exercised

 

(1,710)

3.28

Options forfeited

 

(271)

7.15

Outstanding as of September 30, 2021

 

14,439

$

7.70

7.41

$

383,974

Options expected to vest as of September 30, 2021

 

4,136

$

16.20

8.90

$

75,637

Options exercisable as of September 30, 2021

 

6,404

$

3.68

6.70

$

195,205

Schedule of Black-Scholes-Merton option-pricing model

2021

Risk - free interest rate (percentage)

 

0.6. - 1.1

Expected term (years)

 

5.9 - 6.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

42.1 - 43.6

Schedule of restricted stock activity

    

Restricted Stock

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2020

1,261

$

7.74

Granted

 

1,720

30.88

Vested

 

(322)

8.97

Forfeited

 

(4)

35.54

Outstanding as of September 30, 2021

 

2,655

$

22.54

Expected to vest as of September 30, 2021

 

2,330

Schedule of stock-based compensation expense

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

(in thousands)

 

2021

 

2020

 

2021

 

2020

Product development

$

1,239

$

212

$

1,953

$

465

Sales, marketing and customer support

 

1,423

 

305

 

3,743

 

869

General and administrative

 

2,186

 

1,102

 

6,404

 

2,227

Total stock-based compensation

$

4,848

$

1,619

$

12,100

$

3,561

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 30, 2021
Commitments and Contingencies  
Schedule of accrued expenses

    

As of

(in thousands)

September 30, 2021

    

December 31, 2020

Vendor payments

$

5,254

$

3,896

Employee commissions and bonuses

 

8,372

 

11,344

Payroll and other employee related expense

 

8,810

 

6,957

401k and pension expense

 

1,459

 

1,358

Other taxes

 

1,232

 

1,864

Total accrued expense

$

25,127

$

25,419

Schedule of future minimum lease obligations

    

Year Ending

(in thousands)

December 31, 

2021(for remaining three months)

$

1,550

2022

 

5,347

2023

 

4,880

2024

 

1,015

2025

981

2026

368

Thereafter

76

$

14,217

Schedule of future minimum lease payments under agreement (including interest)

    

Year Ending

(in thousands)

December 31, 

2021 (for remaining three months)

$

674

2022

 

2,144

2023

 

1,937

2024

 

598

2025

 

170

Total

 

5,523

Less: Amount representing interest

 

(277)

Present Value of net minimum capital lease payments

$

5,246

Capital leases short term

$

2,140

Capital leases long term

 

3,106

Total

$

5,246

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business (Details) - segment
9 Months Ended
Sep. 30, 2021
Aug. 18, 2017
Description of Business    
Number of reportable segments 1  
DoubleVerify Inc.    
Description of Business    
Ownership percentage acquired   100.00%
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies (Details)
Mar. 29, 2021
$ / shares
Sep. 30, 2021
$ / shares
Dec. 31, 2020
$ / shares
Basis of Presentation and Summary of Significant Accounting Policies      
Stock split, conversion ratio 0.333    
Common stock, par value $ 0.001 $ 0.001 $ 0.001
Preferred stock, par value $ 0.01 $ 0.01 $ 0.01
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Disaggregation of revenue          
Total revenue $ 83,098 $ 61,037 $ 227,208 $ 165,276  
Unbilled receivable 36,100   36,100   $ 44,900
Advertiser - direct          
Disaggregation of revenue          
Total revenue 34,057 27,582 93,260 73,476  
Advertiser - programmatic          
Disaggregation of revenue          
Total revenue 41,902 28,044 113,694 76,023  
Supply - side customer          
Disaggregation of revenue          
Total revenue $ 7,139 $ 5,411 $ 20,254 $ 15,777  
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Business Combinations - Meetrics GmbH (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Aug. 31, 2021
Sep. 30, 2021
Dec. 31, 2020
Intangible assets:        
Goodwill $ 244,672   $ 244,672 $ 227,349
Liabilities:        
Aggregate net cash purchase price     $ 24,323  
Meetrics GmbH        
Assets:        
Cash and cash equivalents   $ 1,007    
Trade receivables   948    
Other assets   96    
Property, plant and equipment   27    
Intangible assets:        
Total intangible assets   9,571    
Goodwill   17,057    
Total assets acquired   28,706    
Liabilities:        
Trade payables   145    
Other current liabilities   345    
Deferred tax liability   2,886    
Total liabilities assumed   3,376    
Total purchase consideration   25,330    
Net cash purchase price   24,323    
Aggregate net cash purchase price   24,300    
Weighted-average useful life 11 years 4 months 24 days      
Acquisition cost   700    
Meetrics GmbH | Developed Technology        
Intangible assets:        
Total intangible assets   $ 2,245    
Liabilities:        
Estimated useful life   4 years    
Meetrics GmbH | Customer relationships        
Intangible assets:        
Total intangible assets   $ 7,208    
Liabilities:        
Estimated useful life   14 years    
Meetrics GmbH | Trademarks        
Intangible assets:        
Total intangible assets   $ 47    
Liabilities:        
Estimated useful life   1 year    
Meetrics GmbH | Non-compete agreements        
Intangible assets:        
Total intangible assets   $ 71    
Liabilities:        
Estimated useful life   2 years    
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.21.2
Business Combinations (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Feb. 15, 2019
USD ($)
Milestone
component
Sep. 30, 2021
USD ($)
Sep. 30, 2020
USD ($)
Sep. 30, 2021
USD ($)
Sep. 30, 2020
USD ($)
Dec. 31, 2020
USD ($)
Description of Business            
Contingent considerations current   $ 1,717   $ 1,717   $ 1,198
Contingent considerations non-current           $ 462
Change in fair value of contingent consideration       57 $ (949)  
Zentrick N V            
Description of Business            
Purchase Price $ 23,200          
Closing adjustments 200          
Consideration held back 100          
Performance based deferred payment $ 17,300          
Number of component | component 2          
Performance based deferred payment, First component $ 4,000          
Number of milestone | Milestone 4          
Amount per milestone $ 1,000          
Performance based deferred payment, Second component $ 13,000          
Contingent consideration   1,200   1,200    
Contingent considerations current   500   500    
Change in fair value of contingent consideration   0   100 900  
Technical milestone and revenue target   2,800   2,800    
Business combination performance based deferred payment   0     $ 200  
Zentrick N V | Tranche one            
Description of Business            
Percentage of holdback payments 50.00%          
Holdback payments payable period 12 months          
Zentrick N V | Tranche two            
Description of Business            
Percentage of holdback payments 50.00%          
Holdback payments payable period 24 months          
Zentrick N V | Maximum            
Description of Business            
Change in fair value of contingent consideration     $ 100      
Business combination performance based deferred payment     $ 100 100    
Zentrick N V | Other Current Liabilities            
Description of Business            
Technical milestone and revenue target   $ 1,100   $ 1,100    
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Goodwill (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Dec. 31, 2020
Goodwill and Intangible Assets    
Goodwill $ 244,672 $ 227,349
Change in goodwill $ 17,100  
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount $ 186,705   $ 186,705   $ 177,120
Accumulated Amortization (69,000)   (69,000)   (55,410)
Total 117,705   117,705   121,710
Amortization expense 4,600 $ 4,400 13,500 $ 13,400  
Trademarks and brands          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 11,736   11,736   11,690
Accumulated Amortization (3,200)   (3,200)   (2,562)
Total 8,536   8,536   9,128
Customer relationships          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 109,301   109,301   102,220
Accumulated Amortization (34,194)   (34,194)   (27,720)
Total 75,107   75,107   74,500
Developed Technology          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 65,599   65,599   63,210
Accumulated Amortization (31,604)   (31,604)   (25,128)
Total 33,995   33,995   $ 38,082
Non-compete agreements          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 69   69    
Accumulated Amortization (2)   (2)    
Total $ 67   $ 67    
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2021 $ 4,755  
2022 19,001  
2023 18,929  
2024 17,303  
2025 15,146  
2026 10,283  
Thereafter 32,288  
Total $ 117,705 $ 121,710
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Finite-Lived Intangible Assets [Line Items]    
Impairment of intangible assets $ 0 $ 0
Trademarks and brands    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 11 years  
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 8 years  
Developed Technology    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 4 years  
Non-compete agreements    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 2 years  
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.21.2
Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Property, Plant and Equipment [Line Items]          
Less: Accumulated Depreciation and Amortization $ (23,700)   $ (23,700)   $ (15,243)
Total property, plant and equipment, net 16,693   16,693   18,107
Depreciation expense 2,900 $ 1,600 8,500 $ 4,700  
Capital lease assets 12,300   12,300   10,700
Capital lease assets, accumulated depreciation 9,400   9,400   7,600
Computers and Peripheral Equipment          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 16,738   16,738   14,577
Office Furniture and Equipment          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 1,104   1,104   1,124
Leasehold Improvements          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 9,315   9,315   9,267
Capitalized software development costs          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross $ 13,236   $ 13,236   $ 8,382
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement - Fair value on a recurring basis (Details) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Liabilities:    
Contingent consideration current $ 1,717 $ 1,198
Contingent consideration non-current   462
Recurring    
Assets:    
Cash equivalents: 11,725 2,474
Liabilities:    
Contingent consideration current 1,717 1,198
Contingent consideration non-current   462
Total contingent consideration 1,717 1,660
Recurring | Level 1    
Assets:    
Cash equivalents: 11,725 2,474
Recurring | Level 3    
Liabilities:    
Contingent consideration current 1,717 1,198
Contingent consideration non-current   462
Total contingent consideration $ 1,717 $ 1,660
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement - Rollforward of the fair value measurements (Details) - Level 3 - Business Combination, Contingent Consideration Liability [Member]
$ in Thousands
9 Months Ended
Sep. 30, 2021
USD ($)
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Balance at January 1, 2021 $ 1,660
Fair value adjustments 57
Balance at September 30, 2021 $ 1,717
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement - Additional Information (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2021
USD ($)
Milestone
Dec. 31, 2020
USD ($)
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Business Combination, Contingent Consideration, Number Of Technical Milestone | Milestone 4  
Recurring    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 11,725 $ 2,474
Recurring | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 11,725 2,474
Recurring | Level 1 | Money market funds and time deposits    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 11,700 $ 2,500
Discount rate    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair value inputs 13.5  
Revenue Volatility    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair value inputs 29.0  
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.21.2
Long-term Debt (Details)
$ in Millions
Oct. 01, 2020
USD ($)
Sep. 30, 2021
USD ($)
Dec. 31, 2020
USD ($)
Debt Instrument [Line Items]      
Maximum total net leverage ratio   3.5  
Minimum fixed charge coverage ratio   1.25  
Minimum      
Debt Instrument [Line Items]      
Percentage of commitment fee payable periodically 0.25%    
Maximum      
Debt Instrument [Line Items]      
Percentage of commitment fee payable periodically 0.40%    
New Revolving Credit Facility      
Debt Instrument [Line Items]      
Aggregate principal amount $ 150.0    
Outstanding amount   $ 0.0 $ 22.0
New Revolving Credit Facility | LIBOR      
Debt Instrument [Line Items]      
Line of credit facility bears interest (as a percent) 2.25%    
Letter of Credit      
Debt Instrument [Line Items]      
Maximum borrowing capacity $ 15.0    
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Income Tax (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Aug. 31, 2021
Dec. 31, 2020
Income Tax [Line Items]            
Income tax provision $ 3,270 $ (1,376) $ 8,361 $ 1,975    
Effective tax rate 29.20% 31.10% 89.30% 13.80%    
Annualized effective tax benefit $ 3,300   $ 2,700      
Annualized effective tax rate 29.20%   29.10%      
Effective income tax reconciliation, state taxes $ 0   $ 5,600      
Effective income tax reconciliation, state taxes (as a percent) 0.00%   60.20%      
Meetrics GmbH            
Income Tax [Line Items]            
Deferred tax liability         $ 2,886  
Net operating loss carryforwards           $ 5,000
Deferred tax asset           $ 1,500
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.21.2
Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Sep. 30, 2020
Jun. 30, 2020
Mar. 31, 2020
Sep. 30, 2021
Sep. 30, 2020
Numerator:                
Net income $ 7,924 $ (12,568) $ 5,644 $ 5,805 $ 4,078 $ 2,440 $ 1,000 $ 12,323
Denominator:                
Weighted-average common shares outstanding 158,045     139,841     144,305 139,779
Dilutive effect of share-based awards 9,000     6,713     9,242 7,064
Weighted-average dilutive shares outstanding 167,045     146,554     153,547 146,843
Basic earnings per share $ 0.05     $ 0.04     $ 0.01 $ 0.09
Diluted earnings per share $ 0.05     $ 0.04     $ 0.01 $ 0.08
Weighted average shares issuable under stock-based awards, excluded from diluted EPS calculation 4,600     9,200     4,300 7,500
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation (Details) - shares
shares in Thousands
9 Months Ended
Apr. 19, 2021
Sep. 30, 2021
Sep. 20, 2017
2021 Omnibus Equity Incentive Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of shares authorized 30,000    
Share-based compensation arrangement by share-based payment award, annual increase in shares authorized as a percentage of outstanding common shares 5.00%    
2017 Equity Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of shares authorized     22,182
Term of award   10 years  
Stock options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period   4 years  
Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period   4 years  
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Stock option activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
9 Months Ended 12 Months Ended
Sep. 30, 2021
USD ($)
$ / shares
shares
Dec. 31, 2020
USD ($)
$ / shares
shares
Number of Options    
Outstanding beginning balance | shares 14,713  
Options granted | shares 1,707  
Options exercised | shares (1,710)  
Options forfeited | shares (271)  
Outstanding Ending balance | shares 14,439 14,713
Options expected to vest | shares 4,136  
Options exercisable | shares 6,404  
Weighted Average Exercise Price    
Outstanding beginning balance (in dollars per share) | $ / shares $ 4.47  
Options granted (in dollars per share) | $ / shares 30.95  
Options exercised (in dollars per share) | $ / shares 3.28  
Options forfeited (in dollars per share) | $ / shares 7.15  
Outstanding ending balance (in dollars per share) | $ / shares 7.70 $ 4.47
Options expected to vest (in dollars per share) | $ / shares 16.20  
Options exercisable (in dollars per share) | $ / shares $ 3.68  
Additional disclosures    
Weighted Average Remaining Contractual Life (Years) 7 years 4 months 28 days 7 years 9 months 14 days
Options expected to vest (in years) 8 years 10 months 24 days  
Options exercisable (Years) 6 years 8 months 12 days  
Aggregate Intrinsic Value, outstanding (Beginning balance) | $ $ 181,914  
Aggregate Intrinsic Value, outstanding (ending balance) | $ 383,974 $ 181,914
Aggregate Intrinsic Value, expected to vest | $ 75,637  
Aggregate Intrinsic Value, exercisable | $ $ 195,205  
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Additional information (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Millions
9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding Ending balance 14,439  
Weighted average grant date fair value (in dollars per share) $ 12.85 $ 2.40
Intrinsic value $ 50.5 $ 0.5
Performance and Market Based Options    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Granted 0  
Outstanding Ending balance 3,433  
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details)
9 Months Ended
Sep. 30, 2021
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]  
Risk - free interest rate (percentage), minimum 0.60%
Risk - free interest rate (percentage), maximum 1.10%
Expected volatility (percentage), minimum 42.10%
Expected volatility (percentage), maximum 43.60%
Minimum  
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]  
Expected term (years) 5 years 10 months 24 days
Maximum  
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]  
Expected term (years) 6 years 1 month 6 days
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Restricted stock award activity (Details) - Restricted Stock Units (RSUs)
shares in Thousands
9 Months Ended
Sep. 30, 2021
$ / shares
shares
Number of Shares  
Outstanding beginning balance 1,261
Granted 1,720
Vested (322)
Forfeited (4)
Outstanding ending balance 2,655
Expected to vest 2,330
Weighted Average Grant Date Fair Value  
Outstanding beginning balance (in dollars per share) | $ / shares $ 7.74
Granted (in dollars per share) | $ / shares 30.88
Vested (in dollars per share) | $ / shares 8.97
Forfeited (in dollars per share) | $ / shares 35.54
Outstanding ending balance (in dollars per share) | $ / shares $ 22.54
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Stock-based compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Share-based payment arrangements information        
Total stock-based compensation expense $ 4,848 $ 1,619 $ 12,100 $ 3,561
Unrecognized stock-based compensation expense 68,900   $ 68,900  
Weighted-average period over which unrecognized stock-based compensation expense are expected to be recognized     1 year 7 months 6 days  
Restricted Stock Units (RSUs)        
Share-based payment arrangements information        
Share based compensation arrangement by share based payment award, equity instruments other options, vested in period, total grant date fair value     $ 2,900  
Product development        
Share-based payment arrangements information        
Total stock-based compensation expense 1,239 212 1,953 465
Sales, marketing and customer support        
Share-based payment arrangements information        
Total stock-based compensation expense 1,423 305 3,743 869
General and administrative        
Share-based payment arrangements information        
Total stock-based compensation expense $ 2,186 $ 1,102 $ 6,404 $ 2,227
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Employee Stock Purchase Plan (Details) - USD ($)
shares in Thousands, $ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Mar. 31, 2021
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock-based compensation expense   $ 4,848 $ 1,619 $ 12,100 $ 3,561
2021 Employee Stock Purchase Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Common Stock, Capital Shares Reserved for Future Issuance 3,000        
Share-based compensation arrangement by share-based payment award, annual increase in shares authorized as a percentage of outstanding common shares 1.00%        
Maximum | 2021 Employee Stock Purchase Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock-based compensation expense   $ 100   $ 100  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.21.2
Stockholders' Equity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Oct. 27, 2021
shares
Oct. 06, 2021
shares
Apr. 23, 2021
USD ($)
$ / shares
shares
Apr. 09, 2021
USD ($)
$ / shares
shares
Sep. 30, 2021
USD ($)
$ / shares
shares
Jun. 30, 2021
USD ($)
Sep. 30, 2021
USD ($)
$ / shares
shares
Sep. 30, 2020
USD ($)
Mar. 29, 2021
$ / shares
Dec. 31, 2020
$ / shares
shares
Granted             1,707      
Underwriting discount fees | $             $ 21,797 $ 1,230    
Stock offering cost | $             $ 21,797 $ 1,852    
Treasury stock, shares reissued | $     $ 15,146              
Common stock, par value | $ / shares         $ 0.001   $ 0.001   $ 0.001 $ 0.001
Preferred stock, par value | $ / shares         $ 0.01   $ 0.01   $ 0.01 $ 0.01
Common stock, shares authorized         1,000,000   1,000,000     700,000
Preferred stock, shares authorized         100,000   100,000     61,006
Stock options                    
Number of days option to purchase             4 years      
Stock options | 2021 Omnibus Equity Incentive Plan | Subsequent Event                    
Granted 11                  
Restricted Stock Units (RSUs)                    
Granted             1,720      
Number of days option to purchase             4 years      
Restricted Stock Units (RSUs) | 2021 Omnibus Equity Incentive Plan | Subsequent Event                    
Granted 36 13                
Private Placement                    
Purchase price | $           $ 30,000        
IPO                    
Number of shares issued     9,977              
Purchase price | $           $ 269,390        
Purchase price per share | $ / shares     $ 27.00              
Aggregate net proceeds | $     $ 253,200              
Underwriting discount fees | $     16,200              
Stock offering cost | $     $ 26,800              
Number of shares converted     20,335              
Convertible preferred stock, conversion ratio     1              
Common stock, par value | $ / shares         $ 0.001   $ 0.001      
Preferred stock, par value | $ / shares         $ 0.01   $ 0.01     $ 0.01
Common stock, shares authorized         1,000,000   1,000,000     1,000,000
Preferred stock, shares authorized         100,000   100,000     100,000
Underwriter Option                    
Number of shares issued     1,350              
Tiger Global Management, LLC | Private Placement                    
Number of shares issued       1,111            
Purchase price per share | $ / shares       $ 27.00            
Gross proceeds | $       $ 30,000            
Aggregate net proceeds | $       29,000            
Underwriting discount fees | $       $ 1,000            
Providence | Private Placement                    
Number of shares issued     5,356              
Providence | Underwriter Option                    
Number of shares issued     650              
General and administrative | IPO                    
Stock offering cost | $         $ 0   $ 21,800      
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies (Details) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Accrued Liabilities, Current [Abstract]    
Vendor payments $ 5,254 $ 3,896
Employee commissions and bonuses 8,372 11,344
Payroll and other employee related expense 8,810 6,957
401k and pension expense 1,459 1,358
Other taxes 1,232 1,864
Total accrued expense $ 25,127 $ 25,419
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Operating Leases (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Operating Leased Assets [Line Items]        
Expense on recognition of a cease use liability $ 800   $ 800  
Operating leases future minimum lease obligations        
2021(for remaining three months) 1,550   1,550  
2022 5,347   5,347  
2023 4,880   4,880  
2024 1,015   1,015  
2025 981   981  
2026 368   368  
Thereafter 76   76  
Total 14,217   14,217  
Office and data center        
Operating Leased Assets [Line Items]        
Rent expense $ 1,500 $ 1,800 $ 3,900 $ 5,300
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Capital Leases (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2021
USD ($)
agreement
Dec. 31, 2020
USD ($)
Commitments and Contingencies    
Number of lease agreement | agreement 7  
Future minimum capital lease payments    
2021 (for remaining three months) $ 674  
2022 2,144  
2023 1,937  
2024 598  
2025 170  
Total 5,523  
Less: Amount representing interest (277)  
Present Value of net minimum capital lease payments 5,246  
Capital leases short term 2,140 $ 1,515
Capital leases long term 3,106 $ 3,447
Total $ 5,246  
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Contingencies (Details) - Zentrick N V
$ in Millions
Sep. 30, 2021
USD ($)
Loss Contingencies [Line Items]  
Technical milestone and revenue target $ 2.8
Minimum  
Loss Contingencies [Line Items]  
Estimate of possible payment 2.8
Maximum  
Loss Contingencies [Line Items]  
Estimate of possible payment $ 5.5
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.21.2
Segment Information (Details)
9 Months Ended
Sep. 30, 2021
segment
Segment Information  
Number of operating segment 1
Number of reportable segments 1
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Events (Details) - USD ($)
shares in Thousands, $ in Millions
9 Months Ended
Nov. 09, 2021
Oct. 27, 2021
Oct. 06, 2021
Sep. 30, 2021
Subsequent Event [Line Items]        
Options granted       1,707
Stock options | Subsequent Event | 2021 Omnibus Equity Incentive Plan        
Subsequent Event [Line Items]        
Options granted   11    
Restricted Stock Units (RSUs)        
Subsequent Event [Line Items]        
Other than stock options granted       1,720
Restricted Stock Units (RSUs) | Subsequent Event | 2021 Omnibus Equity Incentive Plan        
Subsequent Event [Line Items]        
Other than stock options granted   36 13  
Open Slate | Subsequent Event        
Subsequent Event [Line Items]        
Cash portion of acquisition payment $ 125      
Equity portion of acquisition payment 25      
Total consideration $ 150      
EXCEL 73 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $2!: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 " !$@6E3P*6W:NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)O)^FJL*';B^))07!!\1:2V=U@DX9DI-VW-XV[740?P&-F_GSS M#4RK@]1#Q.X2&\UMP2,HH4C #J[ 06=<:+75$14,\X8U>\.$S]@5F-&"/#CTE$+4 ULT3 MPW'J6[@ 9AAA=.F[@&8AENJ?V-(!=DI.R2ZI<1SK<55R>0?)KZN[^^T#ZQK>B$J(BJ^WC9!\+6^NWV?7'WX783<8N[/_ MV/@LV+7PZRZZ+U!+ P04 " !$@6E3F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M $2!:5-;DFZK3@4 "D6 8 >&PO=V]R:W-H965T&UL MI5A1<^(V$'Z^_@H-TX=V)F!+!@(WA!E"DKM,[P@):3IIIP_"%N");;FR',*_ M[\H&FV3,VNV]@&5[/WW>E;[=U6@KU4NR$4*3MS"(DHO61NOXLV4E[D:$/.G( M6$3P9"55R#4,U=I*8B6XEQF%@<5LNV^%W(]:XU%V;Z[&(YGJP(_$7)$D#4.N M=I/RS!VT5 M.J#G1Y?23>%J&C"(X]<1]K7.W(; MYPM8%E39@>HE M0P$7(NX0QSXCS&:T@L\4-Y_)UPZQ>U7F[^@XA>><#,_YGY[[:[),M()E^C8K)M-UJV;['$7BZI8X.;4;M\C+'H%BUXS%O1"R5KF*$0VF5 M"H11OV#4;^@7Q4%:,L>?IH1CK7B08)S."T[GS3C-A?*E61L>@;U9&38Q-HW MFP6<-N-AI:=PG"N9+@/Q! Y?[23EM G)1_Y&;CU8@/[*=W,M.AWJ M&L@!:[-SVNWU&<:0E0Q9$X83SX.4 O'97Y!O\!ZYBZI]AT,RQR&+6$&\(1P* MTB!&M-1VZOPGHE,S@D _RFU421*'FT$Y\PSE#,:M3 44%_/WW/:+\$Z1N9*O M?N16.Q&'G#UCS,KT0'%1_^BUN4PT#\B??GQZ9^"(%,3&P;B5B8+BZIY%< *5 M[FDJ. "CZ!XHLP/%1?V;=,$G\XV,, FN >D[M,THQ5("+7,"Q07]T=>0#N2* M4/;+\E>R$&ZJP%N5M'"DJ0Q#D)N%EN[+&8FY(J\\2 7YV>Y ($DL5%Y.8K3+ MU$%QS8>4[V7;?A!W^1ZS=WPZ.U.)G#:H!FSPLL M$; R$;!&B6":*F7JD+P@RA62Z[2REJ]!?/[8 ;QG5B8 UB@!W$90/>8=G"F- M^(%J)3,*;R@CR.4CJ6JK*+5"#,Y-1F[LN]*E0)0@O!\08EKK/ M&NG^(N1!0"[3!!XGU;'$<>KJ7%;J/6ND]]>A4&NSO+X @MZ P(8QCZJ=]T-= M 2O5GN%B?6#V=MP8Y/5X):T?ZPQ8*?X,U^U###<"8HCY"8>I)51J/VO4$+P7 M[D76\I.[5$/^CHS(5K;;.7(O0S;'1:]CVAOTG8'='XRLURI:I;:S1GW!%#1! M0;:\C3SQ1GX3U;["H6S(/ ,Z'+(!UO27:N_@(GT0U1L_,7G\64"2PSJ\&KAV MF[*V@YY'E++OX")=-)['W&[@9J5*U(#5G9*4DN_@ OV1U;XK/LT+A[O'RD'G MZ/ &E^D)4/)R6@&O6MZ7-0 GMZ!U=!AGA#$[HTR(:UK$_%RNN%N<@TZRTS^K M?#T_1/W.C:XF)! K,+4[Y[#75'XNF0^TC+.CO:746H;9Y49P3RCS CQ?2:D/ M S-!<3H\_A=02P,$% @ 1(%I4Q8H ,+!P /!P !@ !X;"]W;W)K M3K>YZ+YZL)GNP>?,T>UTH_F%U?5NR1+[GZ7MU+ MN)MU6M*LX&6=B1))_G UN<'O%C34 UJ)OS/^7.]=(VW*2H@?^N9C>C7Q-"*> M\T1I%0Q^GOB"Y[G6!#C^W2J=='/J@?O7.^U_M,:#,2M6\X7(_\E2M;Z:S"M;]K18$U6ZC NE82W&8Q3 MUXLOGV_O/B_O;A%<+;]\^GA[\PUNWM]\NOF\N$/+#W=WWY;H''U?WJ(W9V_1 M&;^8C(_,M>76!J#=%Q"/8,GSA'G[+$QB. MV^'>X? 96-Z93SKS2:N/CIG?2,E+A5A=GU]G1-<3PGP>7L:=\E%C%* [^3.@#J=T!])]!ODJ4< M%F+" >$JY_44E;!KB ?$A9-/3\&#^KG$%[%BQ6778Q;&0C;]NDV=#!Q7?%V">>O-M=LP =[-L=!X,4# MSUBD_#"*[)X).L\$3L_<2UZQ+$7\!?;*&KR@+1!J#? 31[IL< @-,)IBV,P@HPYD=,2W0$!2O4Y1 ME3,-$URK%TD%S*#:#+1!CDPL81C3 6*+U!Q[(\DP[P#/G8#_%")]SO+=#3[IE#O'M$2!VXOO2KNQ2E.?' MU\Y6U4$L\7SH2:M4@$> ]E2%R0D+W &.F-[Q@CB.AO!,N0!C2D?V']Q3'Z8G MD6F>L5669RKC+D;%/5/A4ZBJ8J\M3UE--XG QT:&6Z1@&8[L:+BG"^SFBYLD MD0WO^,**S]SQ28")$1F;&.RZ(PA[9L!N:OA8)J+@[0(LF5+>@+8F$':+K'9M[K9-STL/B5M4),#J#8&\;3 M)N7[(PN=]#Q!W#W2045P+)S4]%8;S(5P+$Y%XI)0A/1,1-Q.-;T)[%EASTB0>/QR#T],..:4C.>8PDTP@O#X> M>LP4@U:/CE CZ4F''"$=4129TMW'IL]+=BY, "]Z\UDHCC!]:T7NU*S/W][5 M%4OXU:2";I?+)SZY1E;O_W]%A];WK$7FSHIMJ43R8RUR2)3ZM[814Z\NQ3VY M$#>Y:+<"A==:_Q2=>1>>AZ&"D^B)Y0V?(CR%'4__H7K-I.ZQ&[46,OO)4W@9 MS*OLKK6Y96.CG[C1SX2C:JA_4DA4J,'#[^CR#&%[TT)(;8I2##UHFYR MYY_]#Y8WYI'?"32V'QRRDN M;P5#'=O0YO2-MNF(.L.O%^A3!AF9MEL8JEJS8%WR=^B,!AL+3H_(@IJ$'XXU MM[2G>^JF^YLTS30\V.?TF=%Y5NYJ5NMYGTG]810%!CW8Y(@71B.['>UK!'JD MA910'#3R=9<:3!-%K:8HZ+.A7693[/G1HSUJ5A7G>.X-*=TF1D(O MG(_4DW3OB-9=?WSEBL$CZ-B8+"$![6>S9D41!+'!2S8Q?U_L$&-?>%!WX0%- M95,T.5.\.WL4!:R!M?Z"\L11UK9TW9EMUG5X=I:E9L$QCX:MD44(>WC,E+XJ MH>ZJ9%,&U$>I9HO4+$6@'HB"86UJD?/UJ>!()T?[JH7^8M72YOG)\$/CL-YZ M"&.1LQ["S/8^[>CO:G\Q^9A!09?S!QCH743@ +GY5+6Y4:)JO_:LA%*B:"_7 MG %L+0#O'P24--L;_0&I^V!X_1]02P,$% @ 1(%I4RALQO8'FC&ML$D!=VGWR2MM86"XGH!2?O_)U^.)^3TUXP_ MBPA HMPOR0)F(!^7 M4ZYF=ADEI FD@K(4<9@/K OG?.2TM<$H?E-8B\H8Z:T\,?:L)]?AP,*:"&(( MI Y!U-<*1A#'.I+B>"F"6N6:VE@=OT?_:3:O-O-$!(Q8_(>&,AI8/0N%,"=9 M+._9^@J*#?DZ7L!B83[1NM!B"P69D"PIS(H@H6G^35Z+1%0,CK?#X!8&]ZN& M=F$PF;-S,K.M,9%DV.=LC;A6JVAZ8')CW&HW--7_QIGDZBU5/CDS MR1BIT>SNYGI\\: FEQC"9I=328/,W0\)1Q2&8&D 8E/T _T.!NCXZ,3 M)"+U1B":HH>(98*DH3A%1[5YWY8*5"]G!P7490[E[H":P;*%VO@4N=AU&NRC M_?8Q!,KN&#NNVVV5GC)';IDCU\1K_T^.]JS3+M=IFW6\'>L\IV^O:JF;%O4Q=Y9*:H!>R6P MMQ=XQ))$'455I,'S*5H2CE8DSJ"),0_4K2R/6Q@[&Y"?J6J4?DGI'T!9%"S) M9,0X_0MA$VT>T*]P.-C\;?!NZ[IU60VX4P)W#@>F0F3-L)UM6+^G*F"#M4'F M8==UFUF[)6OW<%9U70BICCY-%TW W29@K[L)W"!S?5R1U8![)7!O+_!471/ M.81?*ML\5J]>D)M5^XFHAGE68IX=AOFENCW;4;<;P-NRCM)UFHD=_'&5X&\Q M[R[=(F"59).U0;(/MG+O.=^"_:1VBZA[B;RV B(R_E;/7V/.VEL)\;>2MJUQ?,?;3)I=Z71T MF_F+\ 5-!8IAKGRXU54!>-ZYY1/)EJ;Y>6)2M5)F&*EN%[@6J/=SQN3[1/=3 M9?\\_ =02P,$% @ 1(%I4_)*ACE%!@ JAD !@ !X;"]W;W)K-4)Y-F65YTSQ.B\GY:3-V M5YZ?BIW,TH+?E:3:Y7E<_KSDF7@YF]#)V\!]NM[(>F!Z?KJ-UWS!Y;?M70EO MTUY+DN:\J%)1D)*OSB87]"1B7BW0(+ZG_*7:>R8UE4\R>2]>OO".D%OK6XJL:C[)2X>U)F2YJZ3(.V&P($^+]CM^[1RQ)P!Z< '6 M"3!5P!D1L#L!^[TS.)V \]X9W$Z@H3YMN3>.F\3Z[O9E'-XMH3N!I%N3V,[F] MB^XO'JX 0"YN:N3UW7WT!<2NOD?DZ.OM8O&!7-W <$0^D6^+.3GZ[0.I-G') M*Y(6Y&$C=E5<)-5'\MO!^^E4 H7:D.FR,_>R-9>-F&N3:U'(346B(N$)(C\W MRX<&^2FXKO_/?)3,J7/#M,;&MCX19C"+VS-XO;F%T_MOLT;^>_< 9=A], M=J//_M^"J8TB@RE.;XK3F.*,F'+/GWFQXUB$M8)>(UCGT>?SP+;"X'3ZO+]N M.LJCENT?HN8ZBC&?68JR2(=1SV6^U\,..+H]1]?(<28J2<0*\G7#E1SQUV6V MJR#QUJ,)A\JQ3.,V'Q<)B7-1RO2O=J#:B!?XY-NXC"7/?I+'NF9\P/S5&N'N M&V\[MJOX2T<%H>K4N0ZRW9"%BK=T%+-#S\:=Y?7.\HS.NBM%LEM*<,LS,-U" MK9,864\GZX&-"ED$95N!&APZRG$]5XT-'07>90[.UN_9^D:VBSCCD&ZA]C]Q MF1;K)@#:XQUJ5OA.R!3:.LC30UT',1H&ZL;6432 P,%94VMH M82PC[ZMB"6%-5J7("7309<,7;RXLW0(:J.EZAL!9[BOPB#^1YU M1UCO-6[T%ZPEAP9+$OX*IX8*#>Q.Q<&Z..IF1D"!FJ7F""BT/94J,EVXI^J0 M*1N8,B/36[F!I-71_$@*CF:N3LE!(M7V, )R JIR?8>F" /MU8E#JD,#1>WW MA/(CAR,@AUZY>9/Q*\?#V4;"F8:.2EJ'.8Y:=><("E:8JK21*4'7V!H/[1HU M]VM7/=6WA29'CY#$5ZE$FY).W8'[F6^IS'74)VK[GDI=AP4(=1U%0W]L'P]- M'#5W<3=<=@N-\G2UUM$/F;;".LH-+%>EJ:.H95DJ303%;#;2?M&A_Z*>\7 0 MQ64!G4A%MG4'4A\.3PQ]/ATZ'6IN=2[C*EVBKFOE@CTBUK'JE!F.AEJ;F;F:;:3Z&GWLI/\%4<4I7%$41I'%#6V_X?6A8;&Z/C1W.CP MY%/\# 5\S0ELB+P^ITBQ?")B)RL)'0W$CREHV- R,'/+,!HT#*G6L)410P>\J:\QG]^JIS%>AKK,S'79G*0[X5\D:02% M)&D$A21I##6>I-E0AIEC]&#;:BW_J1^'8L?,Q>XSM#7INH"C:%GR8OD3'O)= MUAS,"!S0BBKK3B_)'W!8'3ND,^0>P;)5=^L@AUJJMW70)ZINX@A3%8RD/#84 M1&:^D7@0$DZHF*]1SIY^;<68KY+641ZC6HPANM0[C@@!4190JM">[MT]Y[Q< M-Y?^%=#:%;*].>Q'^S\6+IKK=&7\DI[,*#(^IR=1^[?!H+[]%^,Z+M=I49&, MKV JZ]B'!2K;/P;:%RFVSR)FM?60DV.)& M(C4D92=_OZ!$"R+0 !G9\;[8NAPT&PVPST$#U.%#7GPK9U)6P??%/"O?'LRJ M:OG'<%A.9G*1E&_RIX .'C_XG-[-JOJ#X='A,KF38UE] M65X7ZMUP:V6:+F16IGD6%/+V[<$[],=(L+K!&O%W*A_*G==!W96O>?ZM?G,^ M?7L0UA[)N9Q4M8E$_;N7QW(^KRTI/_YIC!YLKUDWW'W]:/ULW7G5F:])*8_S M^;_3:35[>Q =!%-YFZSFU>?\X8-L.K1V<)+/R_7?X*'!A@?!9%56^:)IK#Q8 MI-GF?_*]"<1. \0=#7#3 !L-B.L*I&E S"L01P/:-*!]76)- V8V8(X&O&G M^_9!- V$T8!21X.H:1 9#;!P-(B;!K'9A\@U<.'CR(5&$^Z*$]H.MC7:KK% MC\.-S/%V._8XX*CWB*/'(4?K,1]NIN]Z[I\D57)T6.0/05'CE;WZQ?H&6K=7 M4S[-ZGM]7!7JVU2UJXZ.KT8GIZ/QZ4F@7HVO/IZ?O+M1;\8WZM^GT]'-.+@Z M4^^NCB\_7'T\.?T\_E=P^M>7\YO_!(/@R_@D>/7;ZZ"<)84L@S0+;F;YJDRR M:?E[\%OK_>&P4L[6EQQ.&L?>;QS#+L?RQ4+E@G&53[Z=7U\!!H[[&[@NTOND MDL'U/)E(E:DJP-Q)?W- ZU-_ZVN5P611R*G3P)G?P(U*Y.6J^.%L_Z>__;OI M-*V3:S(/KI-T.E"#&V'.NR\ M3^9)-I%!4@4GZ[$5D7193,[F,.D M M[^*M=W'?!/@I*1[O;AQ"L8E[),#8]C&B!,=& K1AA,?83( V:H"Q&17 %$9( M"#@N*-1Z,]PG!W9&J3%K)D%70D$[ A@]&U2H'Y/_+&4U9OMR%M(4BOP34=(C\?[DS>L5RJ(0D]=Q#K,WEM)L21B# S)Z^-HSQ"R)R\ PC<_+: M($(8BEVY1C,P\E.P8_)V1\JF5#5Y8\(<#FE>17YB_1E::$QU#)=-K" Q #B( M&0 80 V0,1\W:$I'?D[?FQML"O=R@V9QY*?Q)TAD!% VL6:^']1>>VF*Q7Z* MW4K>DVZD*U'=84C/T4_#Q2&=LREF#'!D*"(SC!VHMH>:2K&?2G?2X\4J\^?HQE1'W<"F71PQ9F:T M"P!'41ARLW( L+@UPVP,P9R[DB/65(_[4;V1'+L#9;.K2HZ[5-UV2+,K]K/K M$Y(CM@E6Q=N,I!_4]EI3,/93\%[)T28\Q%%L^MN!:CNL21'[21',+ME4%H%< M+.?Y#RF#Y:J8S%2/@J6:(F ';(*DV*S7=(#:[FL*Q7X*_5GW.U.C39G<,96) M9DSB9\SG(2!BLR/F9I0[0.T.: 8ES\V@77$F-E-2ZG!3,R79DRGO95FEV5WM MI7*H*M))76W?X%996G6["ZPW';<>V2G7/@-C$IL+610R<]@[4&T/-6.2WHS9 MN:HA?1B30(P)K/\ '+3^@V#6^@\ ^=9_1%,FV8LRNR,%4J9S_4KE, Q$TB/0- \Q#'G%S\&W&Y3CDPEQ- CA&8VH-/K",#BW!!* H MXCQV!5LS/>FWV':7KAR!!WBZ@% >VW@6L4I1 8 M(](C?P,@.W\#(#A_4UMD<$P$,\D;PH4L,F"7 PC<^<4 %%,.7+D-[JS.]U/ MVGB*@7#<@44Z#:FYY7L*X*#T#9ESIV^JM0GM7;GO9"3:HW)_"H" J62#'%/) MED"@% !PD!0 8( 4 % ^*4"U[J)[;01T!QY0,) 4 '#@7 +,>>:25CK4KW2> ML"=&[5V& :*NDR5:G- ]BA9/H9P1!6K\PE4.HEJ-4+\:Z;5[1X$M^C!T7)MI M8<'Z;84;2Q(PJS6F6BXPXV8\ T #9!UV.6>VRN!",'/G^0+ ,6;?VP LL@ZI M "!!L&".N<^TN&']MN\]:SPXH("$412(J1E38,? -?):Z;#>Y^,Z^8SU."!W M"H#LY ^ X.3/;/4$Z@@(!^@( &;K" #DTQ%,:S:VUZ&[[K@#I^X@'0'@H-P/ MF7/G?J9E$OMEI_@84'1\8Y5B;,RTDV$L?_&-V]2,2#GG!M+Q@>\J+)]>1&7 : M$#D*D4RK#-:U"9+=RV+]?)3R;"R+5);!NV"Y?2I@XV&5US?#3L_4;9UG6?-8 MU$-:S=1':94F\V"Y^CI/)\J:,J Z#';%5BW,S%TV9 #PAHV":0,Z6,C#,'*, M-]=*B7>58/:*7\=8*X5#OC$!F#%@ )I)8VKIM5"QO^Y%,: M<*2 @D3PCE<.T\A_+)3&MP6&20T][,[0&VOM1#A':L%P(@J%X(P,!Z(8"#ZH4 S*X7 B!? MO5!H@A9//A,"!Q0B:*!>"."L5#S<>5Z__D6-3TEQEZK[="YO5:/P36VCV/Q( MQ>9-E2_7C_!_S:LJ7ZQ?SF0RE44-4-_?YGGU^*;^58#M3X4<_0]02P,$% M @ 1(%I4X4GAWY("0 J"< !@ !X;"]W;W)KQ#"]2U>)/E(@V0."FV0-L$Z^Q9X+PI,AWK5!:]E)S+ M?OHSE&11%B].]Z&-+R/ZS^%P?C.4SI^E^EEMA*C1R[8HJ\]GF[K>?9I.JVPC MMFGU4>Y$"=^LI=JF-;Q5C]-JIT2Z:B[:%E,21?%TF^;EV<5Y\]F=NCB7^[K( M2W&G4+7?;E/U>B4*^?SY#)\=/O@C?]S4^H/IQ?DN?11+4?^YNU/P;MJ/LLJW MHJQR62(EUI_/+O&G!4_T!8W%?W+Q7 U>(SV5!RE_ZC=?5Y_/(JU(%"*K]1 I M_'D2"U$4>B30\7O#Z%^:R<-D'M)*+&3Q5[ZJ-Y_/DC.T$NMT M7]1_R.??13.;YFJ835[J95S6"K[- MX;KZ8G'[X_KFQ_+F&L&KY>VWK]>7]_!F>0]_OM_\N%^BVR]H<;G\'7WY=OO7 M$DW0G\MK].ZW]^@WE)?H?B/W55JNJO-I#6KTF-.L^^6K]I>)YY?GZ+LLZTV% M;LJ56!U?/X59]%,AAZE" 2['[B&CT 9&(8(>>Q=LOCP)R:.]9VHQ'/>/= M[H1*Z[Q\;$,UKW-1?0J,R_IQ63,N\XS[ _9V7F9R*UP^;Z^-FVOU%GZZP%$$ MTWD:.L)A1"BAO=61+M[KXL'Y7J[^!^$*.[RN4"UABV>RS/)"H+(7K#_7[[*T MVJ"=DD\YK#QZ>$72X:N J^)>4AQTU56Z@BW]4*-W6LV34*_OD7B!#%@Y?=<. MQ@=NF6"BT@!V=YVF:VDU)T'-ET.)[7SL-HL4^(@-*9784JDEU#::>)?> M, '3H,[%)BT?A2;G.LT5>DJ+O= 1";E2IS](GOIE!7E1-1YWRJ>6,CX;J[=M M)G,V]\@WZ,%A]MRN(7)UFO9N[VZ X[T[FUOZ;#.<<%_@&@1A'M97;X1RRN+6 M[\7Q..TXC&;,I\DP",=!+K9+7NDU'V"NJ@1P4J?Z00)JX C1(,#-6?/J85_! M<%6EM^%#7C8Q$2(C-L3!8>3-&)#&QS& M31.(J)3EY U*;<9,<&SE>H>59S\30R(2)E$;!+OTU1L!Q$8,(WRDS6&$D\23 MU(G!$ EC2#-[+\SZ._79/)G$"1L+M*U(Y!5HJ$/"U+D]BL5P)7%%;*"0&1LG M1H?59(:99R\1 QX2!H\=D*?D.@B":3PN+1UF.$H\29,8T)#33,*H%10.!LT2FGBT&PB1<"/TM7R"2N3MC1\Q*"'A?N9NK[(-5&6:#. 8<$?] M^@'MBE3G%\B- LK:G>[ G%YQM#>P V47TX M4*]9[Z8T5^/S@&X&#M 0YFUUWRYN5[^&=@?CSWF]T>\/G-\I*/#KQM69\,&!VJT/C8:[]W@&AECT M!+$.262P^>3))I(Z&.3J(EUVF%"?:L,J&F;5(MWE-:Q](9H8[>;@5.KJ?8B5 M_=UFOMZ2&G#1,+B6FU0)[=S#AEJAM50(.HVZ$(>$V.^Z.GUIHF,CBQ7XWSTA M!Z=P$OF4&D[1<$/D+.@,;M<.C#GEV5T0X4DTZ#4[ASNZ)3;W'2(R T46AN)- MWYF+EZP]RU%ZO17T]\XC? 5KW9EAJ,LS-'NYH)J C]O)_/!FLF'-T_%T7)_$XU3KL\"Q./ >B;' SBP7KU^5^MVM3%>3;1O2Z@#'R MLKU##4 +WC,S*&5AE"Z:W*-/DW2"]!Z\,YN#G%NW@!Q6F,U]=2$SM&1A6AZ+ MS+LS;:=.FWR0!L9*X<&U,Y1C8H[KHS^#9NVX(DS3*YUZCNCD2=TFU6L?&=!(<- MIMBGW/",GSAO/*J<-:B+_:JIH"SE[5WDXP-45Z/%;4S-9IX4P0VD>!A2WT3^ M,P_L?6[XP,-\^-7S#3YX7"%,A/XN;%??#UN4$\<"W,[_$Q+Y;GAPD_]Y./\? MCB5"\S-IFH?3]"][SN1C'L['_]YS5]W(PT=/)GS,K1-&K>KIX)FGK5"/S:-@ M^CX9[(+VF:'^T_YQL\OF(:O1YU?XTZ)]:,P,TS[#]CU54!%6D,76,&3T<08+ MKMK'PMHWM=PU3U8]R+J6V^;E1J20 +4!?+^6LCZ\T3_0/YQW\7]02P,$% M @ 1(%I4YOK\UJB @ ;P8 !@ !X;"]W;W)KZEG['DS[XW=R60KU;,N 0QYK;C04Z\TIC[U?9V54%%]+&L0>%)(55&# MKEKYNE9

JN!\&P="O*!->/'%[]RJ>R+7A3,"](GI=553]/06>\T&=AX%_"'P5;OV,0J M>9+RV3K7^=0++"'@D!F;@>*R@00XMXF0QDN;T^M*6N"N_9;]TFE'+4]40R+Y M(\M-.?7&'LFAH&MN%G)[!:T>1S"37+M?LFUC X]D:VUDU8*10<5$L]+7M@\[ M@%[_"T#8 L*? J(6$#FA#3,G:T8-C2=*;HFRT9C-&JXW#HUJF+"WF!J%IPQQ M)D[F=[.+N_1B1M!*YS?7L[,E.ND2E]N+NV5*YI'!$#@@39%G*M:8BUQ/?(%=;T<]:7N<-K_ + M7BG4QR0*?I$P"'M[X,G/X<%[N(\=ZMH4=FT*7;[H_[3IFXI15S%R%?M?5<2F M$NP=R:P!+VNVH1R$V=O+)M70I;+_VTT<]4[&X6#B;W9[]CFL-PK')UW4.Z+] MCFC_6Z(+T$:QS$!+]9")C*]S=/$%X&2I**"XQ&F4>/,$K\(H&P GA=2FC?'#IWN&Q/_ M U!+ P04 " !$@6E3>(8E2FH& #'#@ & 'AL+W=O;*R[]RNB(!Y*;?QI;Q5"]7XX M]-F*2ND'MB*#-TOK2AEPZXJAKQS)/!J5>C@9C=X.2ZE,[^PD/KMQ9R>V#EH9 MNG'"UV4IW?:G52RH#F%+]6-P]VP0\E52<8K:X2C MY6EO.GY_?LCKXX([11N_=RTXDX6U]WQSE9_V1AP0:QU+MEP_[I%OXRY(Y>%]#2S^B^5A]5I[Z@G,%YFM8^_ M8I/63@Y[(JM]L&5CC A*9=)_^=#PL&=P-'K!8-(83&+7;B[$8X M7@TTOHBI1FL$IPP791X2[@'.J!N)@U!>3T63\';R#+M.# MB'?P(YD^0C[LD \C\N&/<_A=(&[ ][Z2&9WVT&&>W)IZ9^.!>,&!N+#U0M,= M.;7<"N6%%-XNPT8Z$I66@5M6X$?DJE!!:E%2KB1^I:\=H;-"7^00C9 FQY_4 MVZ R/Q"W*Q(S6U;2;'_YZ6@R?G?L :QK]N]%Y>Q:Y21DOB87%*+TT&Q8L7=E M"DVM PZU]2QS\;666H5M=$;+)<5VY#3Z(L#AQ9V8UK@PB$%,\[[8K%2V$FA_ M0'DLD0$>]O VTJ/]-$ ])9"MI"HH@R0I\^.!D MH$+A,6/&_%X'#%">6NK%LC99[.K;YE0P''21.>NC>\&UP'8 @&/907E*XP]]Y]ZY7S .42BV"5JS[E<1^C/" V!SFQM,J5;S:$> M=I-2_A8VE@RL+TC4GMGQG>Q?>UN[#$P&Q"E=)RA:2UW+M 4A@;WN>]P@2(3= MC Z.]Q.*,@>EUE4V%00XT[J IL3X+0_'\;L^][Y#Z5& IA?8,0()L0DO2,M8 MY"CSE%B%>T20-5YXU?XPN59Y9OOBRF2#KD)X-K.[&B6NE(_N:F?^#VS$^[1+ MX*A-X.DJ,FTRH%N"N\)18HVS@)KB*$1;%>3$*_;=A#EM%^Z'"JBF\ VO?1Z, ML,9[L7.L81KR[,' M'I"+KQ=>07=NV_3[+IJ87L[2:NTJ38&.R\I&GRE+BJ=KZ6X"D-!P$: MR]0[F37H@=@4#5K'U4Y[GQK5MA.:)8]IMN\75,6@\F:@F:9*3V.)Q->5;01) MD =KLE.SH <6K8^=2!C.V9KK\\\K&1H6/0;:( MVU&:TKR4(W;XML,>MM-^/)BW/+4ZJ5[^5T?MX*5]S:BG?AYZQF-E?+ M-J;6>#J?=;9'HS>BO_M& D&IR06=(S7 M&D(EX2KPU@W9%T]:;%HYI<7D('W=/I8C#T]-<>\U@$.YV_TN0U67T!M21GD5 M9(BU)>J #XSLOJO&UX>+*%,^0K%G2".=,[JGW2EMF@XGN^7IB'. M3>DFV"H>518VX),I7JYPTB3'"_!^B43:&W;0G5W/_@502P,$% @ 1(%I M4W-5>LEU" #18 !@ !X;"]W;W)K?;LDF=KZ[[[0JD@'JK2^/->$4)].ASZK%"5] -;*X.=A765 M#'ATRZ&OG9(Y7ZK*X60T>CNLI#:]BS->NW,79[8)I3;JS@G?5)5TFRM5VO5Y M;]QK%[[H91%H87AQ5LNEFJGPM;YS>!IV4G)=*>.U-<*IQ7GO;O+SWH@,4J7* DF0^+=24U66) AF_)%D]CJ5=''W=RO] MFGV'+W/IU=26_])Y*,Y[QSV1JX5LRO#%KO^NDC]O2%YF2\]_Q3J>?7O2$UGC M@ZW295A0:1/_RX<4AYT+QZ,G+DS2A0G;'16QE1]DD!=GSJZ%H].01C_85;X- MX[2AI,R"PZ[&O7!Q);WVPB[$G5->F2!CK$PN9C%-M#?32Z,7.I,FB,LLLXT) MVBS%G2UUII4_&P980O*&6=)Z%;5.GM!Z(CY;$PHO/II5;@3-4#<3CJB\EH,GY&WF$7ED.6=_BGA67/C*/.C",VX^A/SL[S6B<#\?]0 MO">DEFXKX\YID^FZ5+P[M<;C2A[W[PN%4LUL54NS(7'8SD$"*M\YB(4+R#-XJ\$Y@D;>UBI9[%C6% M84X5Q$HK)6X,#%4"W,@"0^&4XF,&(155Q+@BC#]EV@NMF06;?2]LF2OG__J7 MX\GXW7OQ\8]&A\W_;@3]^F5#IM(7XAJ4[CO%+U)'A$[,+&19"IE_ ]-%V:&0 M6'2*E$AAB'E+',X:YP@-1H;&J61K.IG!3(V(0*-!IKTG?))54BRD=J+>Q3#$ MDK%8 F]OC4>6MCNZAQQ"XKJ,BD>$5YFXS>_W9Y><<_Q^]?=[&7=8WBD?,2%C:D@#:<6C9E MPF R?_9QRJ9K$R"U$@MM8*KF4-7613.C2P.N39=CJ=ST1:9<0*_&S=C1VYI< M6!N,#4KDVF>E]8BR%X4$R.=*&8IQ @6TVDH'U;4HZ M"[72:<1G3C$'4BE+#60Y00%@)ZC82P756R]\![8!,8)7N".;7,< 1Y^?P.EU M)V0'L4@KV<-&2,X1'/K6F#@:<((Y_$G%?Q88^>8G8DGX'I^DF$9P;91T%!?$ M,19&E^Y=HJ/H\RFG$$] K&SR+9ZF\6 J>@\.M;Y& 36($"V.#M^+6R,^2Y<5 M8G(2RZV_>U6HQ0(72+T8BZ^>2^RC#[IBB))-GYI\&?U+6G>9.T'O)6$G,J_W M13R6XY0/ B0Q&:>#T9$0XS'Q&(R(=)BP5LGO2J@]RZ7'6%G'&HG$P,ZF6J>2 M(+\K*F'.',YSV\#54LNY+G702=135YQ:*=-$[E$/-<5 Y VSTO;*7N'M-LA] M<[]U@28"TX:2CD,IZG"VW%#OI*.5DE2,[#NL #XKG] !97TQ;P)!!VY4C-U@ M3SM3P9L6)G#L,Z>I;N3V+NO*47@(N^D2E-@-"5JAR30P8DFJ6Y$MV48^ZI,T M:H%!/B@?X;:29;/E%3(!@F*(>6Q86INO-=&^X6*69JF)\&)*H@SZ[7WK6VF8=%4[;,[?L_ :7QL;[:&+0Q MX:Y!;G")>.JY!S3ZYTQ52#R[-T"Q=:BD;:0%"7T:EXA(H2&-VD#)$'):D;ET M$)LK,*5%P"UQ (S(<'2G( MM@0SWXBL0%Y5(A+K=^JU9?2=0)%W'%]KDK$[S6DE=2DC0%H.(LKY;_AH(+Z ML4U /[I!8G!L=VYUUEB*SI:[6N;D4A38<$LZN<08#XI*W-TGP_ BB/&G8^M/ M2#JRX(*X;9RX:CPV@=P9+36UA]K0#0*?;J]FM- . P/,#FT^V[W^$\J)LT O M4%\B!3*W-;MB\#:,$D#-:@K,SNQ"T,BE0\YT#(!OYAXLFYB5="J#Q+>EMVN$ M(!G@[08=!JGCA,3<;J72 +,A2:"1%66ILW.P%]$"=_G5/.(9E0A1"+-Z"+%% M!B=!-(R B++MJ,#=DIM$.\S\@K_;+KE%QHWQP34QW0=BBM%$!_&[)>[!'I*( M@1;-_&VDE^O+V54;MM3,>6O%,K]S>]6$V7KAN:ZJAN] MI]8'"BS-\K%4Y$^>7#I'O,%QN2?FH]+#BX1;Z8QK';@ $MM [!6I(>AX@A,7 M GHWGEG2#_Y3@'\E R M5>J J9MH7,I2,>%FB\C8_F@"X*J%2=BD1DZ-H:T+'L"E()IT!(96UN,SX0NH M<%L.ORN9\'ZMYJZA=Z=?P/QHTF]O1E0?'TV@->=QA[U!\ATZ?WJKL]MCW<7X M[U3<2[=49.C>E=:^&7PN]6+3AO-'C,7YXY[F#W*BRRM-X<\Z<7(PABTO$9\* M^!U@W[$W"4S"6@)_[,//<.<3'3$Y?X@$C$A7_%K7K7;?.B_C)[[M\?BA%",^ M&H$7I5K@ZFCP[DU/N/CQ,3Z@/OF#W]P&%";_+/#6HQP=P#Z]ZK4/I*#[ GSQ M;U!+ P04 " !$@6E3FPACV_ # !W"0 &0 'AL+W=O> /DJ2\2.9PYG!F>X7"SE^J;;@ ,^=YRH6^\QICN.@QU MT4!+=2 [$+A22=52@U-5A[I30$MGU/(PB:)EV%(FO.W&R1[5=B-[PYF 1T5T MW[94'>Z R_V-%WLGP1.K&V,%X7;3T1J>P?S5/2J^#< J$;_QXQO7%+ M:S@?G]!_=[%C+#NJX5[R?UAIFAMOY9$2*MIS\R3W?\ QGH7%*R37[DOV@VZ< M>J3HM9'MT1@]:)D8_O3[,0\S@U7T$X/D:) XOX>-G)S MA>JLT3DF[*$\&X6K#.W,]@E>0?2P"0V"65%8' WO!L/D)X9K\D4*TVCRFRBA M/+.D:4.+WU/9&=(V8B4.:3L_3EZ MVS -R-&6O#1 *LFQ!IBHB:$[#J1DFM:U@IH:T,CP07,'9@^ ?"U?01FF01UY M $K[9-^ @E&7:5*# (4 I2-G29#IHF]W:"4KQ-"D!:I[A2M8P>2!*2P'@J-1 M3$5)NEX5C3.W2H]*UHIBD1I6^&Y=]UW'#Y\T*^&]SA3($H6UIY'8IK$49FW? MDKJGB@H#&#CN."F9AAHWQ?N$2,P W@R:T,I@0!=L*>Y/BX:A"V6 T4T)+:>$ M'D:?B3ETSE&JCZ>AK\FOOZR2*/W\O_U?&@5P5DWD*Q+I7/*C$5:+ 7?,MF0N M2S\0S*%I9*_Q#/5'5UCV$\U&MQ/+/B$A'3M.:%XO5LE,L$[] M9!G-!'GJ9_GR'+>;$6I4S6)_'4U0RC43+&,_2L\2@9E(HKE* MO%SX"49^DMP?.8UVH.%CE./^L+>5+9ON4]<=V$JN( M0ALI5I1M8)4KE+;C8-G=@7(M611 >J2(5&TA+G,)P(? /;&L$7A0.UVI>QWINHYUE@A>V%0CXF"]R5<0L:BY]94 M6Z"K=!G$6+**TS@GK:&E5'Q!SD,9.BFL*= >NA?-#<$KR MI<#BG MB9&=:ZT[:9"*;MC@RPB45<#U2DISFM@-QK?6]C]02P,$% @ 1(%I4RE8 MN]&>"@ 4AT !D !X;"]W;W)K&ULM5G[;]LX M$OY7B%SNK@%4QY:=.MVF!9+TL06V#VRR/>!^HR7:YE8259**D_WK[YLA]; 3 MIWN]/2"(;8D'. MTMA2>ORTJV-76R5SWE06Q^EX_.RXE+HZ>'7&US[;5V>F\86NU&G$]^ MNIC1>E[P1:N-&WP79,G"F*_TXWW^\F!,"JE"99XD2'SB"RQGE3QLW0H-15^)2W$8?!AM/QG@UIW)"RWN$@UO*U]/+5F34;86DU MI-$7-I5W0SE=D5.NO,5=C7W^U47C<,4Y<6G*A:XD0>7.CCU$TX+C+(JY"&+2 M/6*>BP^F\FLGWE2YRK?W'T.E3J^TU>LB?53@E:I'8CI.1#I.)X_(FW9V3EG> M],?MW)([Z^3.6.[L?\7O<3&SD?@ %UJ=.?&N7/PL_O&WTW0\?2$^5>*\62$. MQ'02P$B$7RLZKI;5':+Z6Z.MRH4L"F&6? ^YY[RL'H\2E]7B@+Y1/Q3B$G2($*MYV0XDUC42ID M]922!/KDXD99O=098R)J:VYTKBQ;-IF\@$Y+W(>*&4RQ:DV)?J-$J7(MQ;=& M%MK?X9=TC56H EXX4S0,+XRV!I#?($7E0M/"1"RM;/)$+"PIY.12^:";:[2/ MBT;B&NC(UZ%IHE!G49[&4VHH;632*E)3.*>\&\0;!A0[(:NS& M_::DZZX-PR%<.?#^J0OJ[WT^@45^;1I'$!^)\X&@U^2X<]:EEW=)3B2%V)L* MJZ$V0L9U*P[%)!F/Y^+:RERAF60*2V!_O^+Y[%1\@MJVM;2[\4Q\)G M15E= MP'E\%)U29)BD1D.^"XK^Z>X-E+\N;]R/A'7QB-"]:ZZO?') M"5:],R;?(!6ZRY-Y,CZ9Q]V[D=%CGIXF\_&S[[K[ESZ,>IR"IVIYM^TF.!(8 M!4=EC;7D@&$8MNNF6/5:H<*01E[>=HON[OLK.3U]%FUY**([D2+/NX?V=ONJQZ.Y'WF;$R[D5+4]TFR9X.I%&\( MM=&S:S=,Y%3^5&(%>&D/RE)ME;:'40_U#_3%JW*!(UH.0TUR,AG-@H+AP+:) MHQZ95<5J2:*4#T4MA!ZFH^=M2Z*BWWH"BK-6#R@3]0S'K=HTYIZ= TFTYX>- M0&^IC(0/:3'? _UDCA&AMG-JQ0%>4HO< ,T7; $10TVDB"PDXI:(+Z!'NB4A M'P6$IEFAYN5,/^DCTJ ]!0305YC=>G(7?1LT#1@/60DXD\EZU9FT;%=-\F8' M/D4R2-?O& ))7ZMNM O!X(;*Z2K,MQR,$+SPF&?)2PN0Z: / CB$4*9MUI1$ MXS)VJO0(3 3IH^0G&-(?7\H[L4:%0<([C=PG^!&P&BA"4U-%(5F -=#D-MBS M8; O 4N%0"E ]6/8Q]S\/E)M52091:B*S%.+1P"I0NCB+T^X1@!5=9LIWARJ M*;BX*?>@<*]WQ;M;S0HPZI(ZDB6[8G6+$?9/MR_MWW9(= 7 _6!J\T)\&<=& M K:A( D)ZIJZ+ECV3M3DVF6%H6&%O"<6E7_C-R#X*CY^&4Z ;]7"-A3\DQ/2;_+\!V? H?AV FRO]1-@>R41:R5S M3&+HY#;69A1.#!47JECII@QS7ZY7FL"@ZJL@P9Q2,T-SPQQS-DCH+E$3FPC?P;9K[VJN+V/U@"SNY)5LC> M&O.:=G"H>V"JH\%MA<)(>=T;@JM;(=C->31;LGJPCAJE$UW+V]9R,*D*5ZN, MTYTF0)P9;(J/UZ YUU1VFUJU38QS:2"/2(T**Z)O]NY>80 2(]HR61(A]:F MR!<2T8VAH04N''TR_CL7E3A-B$G:%@"Y]($&=UI1+>FR'OZD!YMT?5=&.GM< M!HN8'HFF)KP/)_/^<0)'3!_?\8%)Q_NB^C$K^.F()M)#[)9^H M$[?+UBI0NLE A)( /EC&#U_7&C2D=4N&2 :N;=[T\EQ7ESC_.+#[F]MV.$4M M\9XA@<7O6L#J30?ZD7MNI*5!+VC9U$1/HV)HU(KID[0K(L2XM$2!ET4LOWUO MX';1*KVSK=?WMRJ/,?(=5U$!()(7PX1;UP-(\-&[2C*?6-#41<2AJ9B1^.%S M' 4F.&*#MR>72/OZAXU9?T#S9Z!]OG0*KE0G,O=@52&^)B2N+IL'Y91OQ8- MHW!^=2GF$\!W.5SSM"/^YWLFJ&0?&@^ ,4R4".->P]>2QJ[MIUT(Y70K5%!L M3MH+"0ZC*DXS"8W&\1$H37$V#C&7_6&7P\- 7N)#B\='F M9<.N[H@?[@<_9 M\&"R,ATS^*N!\FB_D<5NN8]FMIA6P&6RA8MV6\-;>##3VCAXL/-?VOMVB[9] MAZTE@:!A1N&Q5:!CP337$\?'IT3W)\?$7JL_0R$3C&>.:WBUW:G(B4'#_*_7 M\)>'SXP1W(*W>12L*#WAE5=WM7MA M>![>D_7+P]O&#S!=PXA"+;%U/)J?' @;WN"%'][4_-9L83S&5OY*=%A96H#[ M2V-\^X,.Z%ZCOOH/4$L#!!0 ( $2!:5,U&.QTX00 )T. 9 >&PO M=V]R:W-H965T<;X7\IM:4 M:O14\DI=3-9:;]Y-IRI;TY(H5VQH!9Q"R))H^)6KJ=I(2G*K5/(I]KS9M"2L MFBSFEG8G%W-1:\XJ>B>1JLN2R-T5Y6)[,?$G+>$K6ZVU(4P7\PU9T7NJ?]_< M2?B;=B@Y*VFEF*B0I,7%Y-)_=Q4:>2OP!Z-;U?M&)I*E$-_,STU^,?&,0Y33 M3!L$ J]'>DTY-T#@QO<]YJ0S:13[WRWZ)QL[Q+(DBEX+_B?+]?IBDDQ03@M2 M<_U5;'^C^W@B@Y<)KNP3;1O9 "QFM=*BW"O#?\FJYDV>]GGH*23>"06\5\#6 M[\:0]?(#T60QEV*+I)$&-/-A0[7:X!RKS*+<:PE%<-'CZ!EZ);4>FU0A^KG.;'^E/PK7,0MPY> MX1B2\ID9_U3JV)0J=X3!T8]A1G-OB M * SC&,W:$D.E)S:4%LT?.>B!\#40A..LC6$1!&K7F-G(QD4.^,[@.-$TQQ MT)D?NWYGNY"BM%"WL(DERQ24ZO>:*6;*MC$LJ>DOQLK!^)&9G-(2L!ET%DTE M([S1*P2'KF/T-#%KT+0>]H,J:_!:E!M2[7[])<%^_%X!:K=:Q*Z6S4OK.,FR MNJSWWZ60FOT@QL5WR !XP?O_[?N\62Q1*XA'O>GH(SMJL)L&8)^E4 I=M\O> MDB][V6EI7V"H# 3_K?YE*>I*FU>W CW:*=:#)#EL(AAU=DV7TF1B$)OO.W$P M&^8O<&#(O1G0$R<:D0:063K,VSEVHAD>@J2.CQ-T;5L]Y-WN-G!A8Z?A@?4.')\+^[I80?W%O$Z'$H1-Y'BP[5#E,>BA/FJTK MP<5JU\G,(B=*TQ';$*C7LQT$3II&!S7(FM\W'9E(>^*)XR48?1'5VPP*D6JH MNI4TA5SIX=+,1AP8R>8L'I!L>>/QZGB)_F"[W; GM')GR$]F3NQ%/;FC[!H4R9_B9M(]-KR!LJF\E+ MS>0]-2T&9 \QF :A.SN>!:$;GIH$HY[TNOM(%[4UV/;^P(V.;0$E/$R#?4C0 M[?]I1,\=_J@T*ZUW1:UK2:W3V?,VWH4"(VPDA%,CF%E>,VC4ZT?!^7A'MI"' M31 Z<109(AYV&;/1?,,+AKS$27%J>.&0%T,C"0PO&O*@0L.9X8UT-<_!26"F M*IS]"QBRASJ&%I,D^W(YO>_-/-[:0S+-WY)'*N',WQOLM:)%S1%G!47+'1QQ M_X*-8)./,F[>_\$:W%1H1XF$_(^/!]\_U9>3ESMF>*JKX7XZI$D(/"JH&3B( M,-G(L!Q>K& G=?2'EY>6P^0LF$YN&.'VFGOR@#AK>S%2*',%&IS>^BHW=WK MLKER',2;B]LMD2M6*<1I :J>&T<3))O+4/.CQ<9>0)9"0R[MYQKNCU0: > 7 M0NCVQQCH;J2+OP%02P,$% @ 1(%I4TECR9^T P V0D !D !X;"]W M;W)K&ULK59I;^,V$/TKA!H464#0[2NU#23>+;9 MMS62'I]I:6012Y%:DHJ3_?4=4K)DI^M@BP8P+%[SYLWC#,GE0:K/N@(PY*GF M0J^\RICF)@QU7D%-=2 ;$#A32E53@UVU#W6C@!;.J.9A$D73L*9,>.NE&]NJ M]5*VAC,!6T5T6]=4/=\!EX>5%WO'@7NVKXP="-?+AN[A ;?QS5UFU[L%?S$XZ),VL9'LI/QL.[\4*R^RA(!#;BP"Q<\C;(!S M"X0TOO28WN#2&IZVC^@_N]@QEAW5L)'\;U:8:N7-/5) 25MN[N7A(_3Q3"Q> M+KEV_^30K4TCC^2M-K+NC9%!S43WI4^]#B<&\TL&26^0.-Z=(\?R/35TO53R M0)1=C6BVX4)UUDB.";LI#T;A+$,[L]XJW%]EGGVRY5080D5!/GQI68/"FV5H MT(5=&.8]W%T'EUR 6Y!/4IA*DP^B@.+17P 9J I)%/DBB) M7\%+AWA3AY?^_WC/\+,!/W/XV5OI^3K<-" C8C,@PA'1)TSDO"V8V(^#I$7Q M%.K/TKEM9/YD-B._ER7+,=[6+:<&@0K DSEGM#OPD#ZMI3+L:S=P-+Y.4G\6 M1:.VU_'$3[+T'?E#VH1I7L\X :,83L7I(CT=F*- LV$ STZ7-Z92 *3N3@>P MI\.WMM2ZLCOH$^.HG 4$3W@582H?J"972;# \Y#S8Z17<3 ]#OAX7>@&W('/ MGX.!@\#J>D,*\V!R3B$+9IHUT$ MV7FPL\NI< \E\D.GOTD#MJKL65$STQ6LM=Y@?J#&('(&.OC6E1">7+&PO=V]R:W-H965TO0HEG3=I]IZ6RQH4B5I.)XOWYWI"0K?DF;%DGWQ99( MWG,OO'MTY-%"FRN; SAV4TAECWNY<^6+P<"F.13<1KH$A3,S;0KN\-7,![8T MP#,O5,A!,AP># HN5._DR(]=F),C73DI%%P89JNBX&9Y!E(OCGMQKQEX+^:Y MHX'!R5')YW )[F-Y8?!MT*)DH@!EA5;,P.RX=QJ_.!O3>K_@DX"%[3PS\F2J M]16]O,Z.>T,R""2DCA X_EW#.4A)0&C&EQJSUZHDP>YS@_[*^XZ^3+F%+/Z'V9Y_P4BVM_V6+L#89]5A:6:>+6A@M*(0*__RF MCD-'X'"X0R"I!1)O=U#DK?R=.WYR9/2"&5J-:/3@7?72:)Q0M"F7SN"L0#EW M\HH+PSYQ60%["]Q6!C#B[FC@$)M6#-(:YRS@)#MPGK.W6KG@MXW *//?#XAR-X-\XD M8MNAV(<WW%PAESV4.1=&I!A]H=BIYY.O"ER*N1(SD7*U MVZC?",_ENK)<9?99.QY\P?W49BO>.]S\U+?">JW*JC.S]OI!.Y3NI.Z&=V_@&B2+GZV/)!LCHX[OJP*PM6U?3\9S M;G,&7RJ!&>T%FXDG+([[DV1_JV2<;$?<-E[#O!%\*J1P AZA1,Z16;$BJ=I3 MC9_## SWGS0J55C+JWLYTY_$D[6WG^QW2FL9B3V/#1Z:QAZ&O1V>O#=:Z%UO%W\M6W\A2&RSTA"7]\63< MR=;N4YC[_S+*]S%+_/QPQ^B#,LSX(+GU?&]FZ3[%_8.#8?O_6$RQD3[>9$L. M$(446L$2CP">'V85EAR-/HGC:(('!"G]64=EV];1L,,C%1Y;2FV%"Y))M+\2 MW-5MD>@&>?6Q7;0E>":1RSY; ':7J>368HU3?VE974V$2IUJI]W,!6Z"2?.E MQ_9C&:LL>?DE<&!M>]ER5CC"U>,VVIU)!B1W*.,T*Q$*5V$2E'S9:80[?3," M+MD44 J#3GTQBA7\"M!^J[&-)EL6PN78'D_)0+"T)\44NVS2%F&2>3BX<:$C MK^'))[_"UNY;8')5YKX7IQ-E1JVW"#S5-NF2M'0H$4E4:=<=\:S;1*/OGS-P M8(K:+E+:B7?MG<7$0/C/53:G:$3X(4BUR3",M(,!9&X 2+I9A)Z!2059BDH; M);13'7QA&GIG M&7=5^)VJE311W9G6PL^%P]4]>'=7P][\GW&)!S"@ ]9?7%7<+%F\=FQI6.75 MRF6>?<8#?W&K<=V?L(LF;[/*'\PH$DO@9H,+.UKO."^M-T0?;L>]#751(H%@ MI'%@9]Q#G?F"X2D6]'4XL**(P6>%<(Z;.7V@!(70[S@)5@_!44.5C;R-.Z7MNJ1)9#E_$4*^S5GH+* M&:S[F>$%T-W02P1=M1]8W%51AO(4*I55!HUDV @$SH1-=86+#5F":N-1M/_4 M$U;CX+5&*ZFBES2?/(^&3Z,'BNE,5X8Y2'/E6Q_D;(PE MX5763YP$%[@6E\ M?'$"R3H7:=[JMM["TNAIX*?EWL)?:*%(<]-PRQ>X(=ZG6;[4%4:SH#A%V^Y3 M!IW;J0(P'>@.CA@4!<)%53O:7O.=AMNMU?)P1X@MY5S@?DF8H>@PFNSW<,?\ MO5MX<;KT=UU3[9PN_&,.'/VC!3@_T_@YJ%](07OY>?(?4$L#!!0 ( $2! M:5,)")ZETP8 $P1 9 >&PO=V]R:W-H965T] M<6_]X$[/\T /AN>GE9RK>Q7^K&X=5L/62JH+57IM2^%4=M:;CC]?')(\"_RE MU=)WO@OR9&;M RVNT[/>B IHY) %B0^%NI2&4.& .-'8[/7;DF*W>]KZU_8 M=_@RDUY=6O.W3D-^UCONB51ELC;ASBY_4XT_1V0OL<;S?[&,LN.//9'4/MBB M40:"0I?Q4SXV<>@H'(]>49@T"A/&'3=BE%4 ME/O@\%9#+YQ_M>7\0U"N$%=J%DZ' 3;IS3!I]"^B_N05_5_$-UN&W(M?RU2E MV_I#8&D!3=: +B9O&KQ7U4 UO_>""V38B;4MPDP2V=+(-U?:%*[*I2H;&$E)#@ M5XJ_P"I.^2"#BNNY4_';4H=J+[Y)TL)IZ;V&*5JPB4Q2[]L%)8BW0 $D? MA@+P"YN)!%[H(+3W-1Z07;_4Y;S9JK]!B5WAZI[>C[YV_62G;IVV3EQ&<]/6 M:4 MY$YBE4C:'V%7E+[&/R7%2-XVDEM[04T+R2YD\2GAM;)9"-[&OB=JHQ, M7D#]12;:Z* 5D+V%>S^F4HH2S=*KDDQXE=14$$XMK%E0!)O(9M'H:JO2OD/Q MKI7.H/RW:HX&8;J*2*44P=+H%(#%UJN([ D [UF7M MMZJLS2OEI7G[-/DQ#)OXD4E"),O56F6-OQ.-"BW3ICI!$*+U0JX$^M\:0#065C^H*EWE3B-&340CGT'4$MR.Z2DIF2SK?QICA^ MO;ZXN1.50<^8T+;(0:Z3G"$M< :*B )..02(/R.>!DVWLX\_G?A7X0FXF]2& M&PW1+TFL2SDR;=*?-I@!DWIT<+*#9R .48FX5M;%+";)ZWFI,P0:F2F)Z=2H M$[M0F HX*+Y$1?68J&I#0-^19])II[:)2;JVJ)!)]F-MIY&-1;[NLDXG<0#Q MU"DP8ILY%7+XY#]39=;$AQ0S5Z6E\OZ$*HU:E-$X9YZ@"&IWR<()0(1](9($M&4"?^T+$(=,%11U2*$>1ZH5.,0K83,22TDS3LV94 M1NA5[9)<4C":T8A37_)P@MY,;/1>A2UH;5]#47O9^!S[9Y8A7_"'Y8E+/.>] M!"UH*T.=:B:3ARW=DX8E\&IMFNH'C9J[6$[403JGE'W$&<==RGY,7S?N?>K# M:#[0B]P#^BC(!1L=63]I,RS=Q@J*EPG1#1(3@\H794#$MX[Y#S,:UG)K4DY3 M)J@DJ'7N7M4Y#X],.Y"UHH%*#ZD2B'ZO^K+QHSEA;;N#4$[3#[_CY$['D'AP MZ^!OF8PR1 6#'K213C6ZP2X]IJE\_XPF8 -ECNJ#"*,WY)=T7]!%7;S>/;AT MZ7K!8IE^1":0>%" "=J5?':^>+VO3#E*.-#C2$D]8WVJCP'9"=0ND-#[#P9' MCRP_1I=][%-!T9$'#V.^I=BA/QN6M&.8YJ"\:*#FQ#@9#]%:9GVU58M M\PB3HK*.*[TIL,K91"DTC3@<\.3Z]H:]"SP.J8LY&H4"B#JCO MD!PNX%2_*>%NIN3@U8RP]2N5-$^[YU/0L+%NWM&UL MI5C;CBC-]]\1=GKHU&6_7%B] VC?3= ME3)N>SZ:C78O;O2ZCO1B3Y->2Z4;98-V5GBU.A]=SGZY M.J;UO.!WK;9A\%N0)TOGOM'#=74^FI)!RJ@RD@:)?W?J@S*&%,&,[UGGJ-^2 M!(>_=]K_P;[#EZ4,ZH,S_]95K,]')R-1J95L3;QQVW^I[,\;TEP'^A:] MW6F&OPZBE*9LC8RJ$FW0=BVD%2I$W? K:6TKC5"KE6*<#]5XK! 'HT]?;T:' M#.%*I'H@B5H#8UY#.T12D7.UV$K@:2M]=6104[3A;K=0/.O"$V.P(:#:B95I M:2\84;6PR(FREG:M C:D/50IPT *W')$5B<'QL/%$;O^T7H=*LTUC=6-OA=N M-53S6)X\V>G WMEMY_=D%/RVRD9!_$'+2$.E$4VO; G) U6LB[&PSAX!Z_!' M+XT2ZA[D&%0XI/P*656:S!JSH8_#0]' ED**#5*M*9<>M+9Q>$!P88)VU:-X MR<"JO H@&?)SX A]N).FS?DRH%<)4WD/"S8'-2GOX1RY(D-0,23#-.PJ69NT ML$-O.&>T"FNB4:#<&$!#L18K52DOS5B$B$7C7=3TVB:M;:R!G:A5X&_[VFF% MD=N=S7N@$;K"+GJE*;%1->2GC$)Z)5K;!LH0Y8W"C22UWE.(@ K8XLU]"VB M!T7:,G"<*AU*KQ S=4?VI]W(A%02;!"O?;202HN2CA"015YQ";(KN2;I<5OK MLJ:7G7 E["G$QY9MHG6Q]BK99%'WHDFDJ(@4!2@-[BVA9<=K>^A :DOG*T;_ M\Y4/NU\MB@6 ;LRN,%^=%,>[%V-"QR85O>G&&2LY7$01/2/T5 "5\]-B_IIU MG9P6B]?C[" L,&V%G$B;RU'_AP*SI^-/;)L7[_H7!\ W#*+ 9L+Z$VOP:_;Z MD'_V>4KX0&)D*A0/EO$:::(B\-(&F1I\Z4(,+,IH33NH56NKP)9.DWUOBK<_ M:]^TF";SWDYAZ.%^R/\Z%*;_$Q26RJJ59@"_FCWDG3?Y$6CFQ?3_P\C!8M8G M8[8H3EX_]OLKU]-3X9"94ZR\:]C%WXK;8D8*I[8B8OY2>:7*FZ5LHG"F2'D_7B/KWB_ :N/DV'TR=E^)09>SZ0:4O/@ M-0RIB7'4)[&^I[-??[_^>#0[%0=$0Z%#4^2K$V;@EI M.%'627-#:2]=:Z,G(B3VT_CMT%_(WT;) +;+W,C9K:@9&*U6N4=M9*<\]T:) M9@ ML:/@;&47N"5]EAYE_8 U]F7M[I2W'$AE$<+,_D:M=3 R1]1&3/2IWC*J MN.N$=D,=2RQI!E'H*G#[ ?Y].'K7#^@U]<#Y]/V'RYM/M^*RC/P\>X]"2H1# MXMRN^N02!)J- MRUVV-U8VA,=AL&F8V-7&,T-%JI';!"$7:%#UOLNS(RQ",AQ<>7$H M2>%B\RK0O6^XAI"9)?F+DC#Z&S5E%('E\** T)8HV_LC!=F!= .BRZ K+;FF M5MKLS\(* X3-XPU%^-IB3YHD;V@> /=*G^G$;2#C-KKF]L=7GD+*C/7AMQD M>-.D(D^DPP'UA4GY.GB)*GZPM*,I!!!&E"3* >75)>/R0CHU7.9AJ^O!,9_. MWA[ASPE[UBGI>3^H4O<2836TV5L#(-6B%\MO%W# M K&8/3>Q"* M3',Z\V:0@ CW%M(8;_8P,.RK,%HNM=&I%6 ...UGAGZ( M0E*!XXY_4B7""FZ;R<3AP0 @01-J=JH?"0H!]B7FX#_<.DO.TE&$"R39J M&I?S,>.IFYQ M"IH'C].&<L][WMYENI_306RM,93@%0F"+N1SS%\\ M=^\Q&=P6-T=#&ZAG_6X"+E:0&^KYR+NP?:H+^,O/@O4$L#!!0 ( $2! M:5-2) =GKP, ,(* 9 >&PO=V]R:W-H965TW@/[WB\Y4FJ>UT &/)0<:%77F%,?16&.BN@8CJ0-0C4'*2J MF$%1'4-=*V"Y,ZIX&%,Z#2M6"F^]='-;M5[*QO!2P%81W5054X\;X/*T\B*O MFWA?'@MC)\+ULF9'V('YL]XJE,(>)2\K$+J4@B@XK+SKZ&J3VO5NP5\EG/3@ MGU@F>RGOK? V7WG4.@0<,F,1& Z?X0UP;H'0C4]G3*_?TAH._SOTWQUWY+)G M&MY(_K',3;'RYA[)X< :;M[+TQ]PYC.Q>)GDVGW)J5T;+3R2-=K(ZFR,'E2E M:$?V<#Z'@<&[D?/RAAFV7BIY(LJN1C3[XZ@Z:W2N%#8H.Z-0 M6Z*=6=\R)4IQU&0+BNP*IF 9&L2UVC [8VQ:C/@%C 5Y)X4I-+D5.>1C^Q#] MZ9V*.Z0@.5X85!##]ASP F129"4'30RJ15.!8D8J39C(,0^%Q.QH)QH-.2D% MR615-X;9[-=$'IP=9G"9M28E;PPNO-WN<#/EM*90 $Z++@&IVK""#2O!H!BH M]NAD0J_(+S_-8YK\]I^-'YRGP[SK57?6]2]JNG%(Q?^7V6ZTJ3@4Z 7-71>< ME\_I#NOM6X$1 O+J64Q^[9?]3&;^(DX'\L2?T\E CGQ*Z5"._21.R,U30GQ_ ML#ZZV@;Y:_89>1W!9A;F!M$V6S&U&J,-NF^3M3.))G.?ID^.1LG"GZ=/YQ2E MJ9_0L7XV6Y ;>P)8IPD<#EBX;=JZ75[;TIL3=F(JU[W58D1^ZL^B9*"+T[B7 M9CZ=IL^)Y-UVEZA,9V,JZ=2?3-(!U<2?I+.1?IXF9./""MWUKC&QW"Z#8-%@ M%$L4T[$8C<7S^>!!_%#8>2]>U[62#R6^=L ?21I,\\ M.O775J?VW?"Q9.H:W*O/'WVRAXQA9;1(CZT+3)BR2X#@']0703RF/@LF_Q?J M]"NH&ULU5II<^,V$OTK*.]DRZZB99$ZG3FJ[(F3S=8FXQKO)+4?(1*2L,-# M0Y#6>'_]OFZ (*G#1Y+:XXLMD4"CT>?K;KW9%N5GLU:J$E^S-#=O3]95M?GV MXL+$:Y5),R@V*L>;95%FLL+79%+G)^_>\+/;\MV; MHJY2G:O;4I@ZRV3Y<*W28OOV)#QI'GS4JW5%#R[>O=G(E;I3U:?-;8EO%YY* MHC.5&UWDHE3+MR=7X;?78UK/"W[1:FLZGP7=9%$4G^G+C\G;DR$QI%(55T1! MXM^]>J_2E B!C2^.YHD_DC9V/S?4O^>[XRX+:=3[(OU5)]7Z[NT M^EAL_Z+TZ M>I3@G=H,Q&@8B&@8A8_0&_FKCIC>Z'==M4=Z[$F/F?3X#Y#BXY3"<"".41,W MV28M'I02-U]J73V('_-8Y635XC:5N?B0"\BL4ME"E1 :"2ZA M3"47J8:])$)7AE>(#UFN%[4Y0+4L5J7,Q"F1^/.?YE$T?,T[Z#C^'KX^$]NU MCM=B4Q;W.E%&(%#PD=@)*OE*%$NA+.4%7TEN99D8414B5F6%N"&4NY<)1*)+ M^&M1XJ.&'>'N"9@1,4RKE.X%OA@X'<@;(7,07&&)&8A/6&O/]DSV;Y_)!\N6 MR(O\_$LM4[W4X,B0P$6Q(2&#OOTJ-XARL;:2+\FY\:J$ $L=5WY3G6MZ3FP4 M.*JTC\][-R6)U!NZ&EM?HG=(<% MQW5'%G'JE8:E;DE7=P/Q=QR <**S.A-YS98#M@XS*.2]U"EX4'PE;4PM<1YD MT,J]?P[6D.YE2I>G!8C]1/54GY%G#X?#HT=!H*<:RT!$YCF1T'F,M&.4P"*B MM=2EJ40"G9*%2=C@@Y*(T6JE\YP,#Y8%AB*F!3MRC^@;2*4U/XB&HS#H\Y@J M8ZP83J_.< J$N5$ER56<3KXYHQ>T#!D."K%DCUS",9K*ED_ZKK-,)3 LE3X( MLC'%-);:Q&""[\"WOSZ#N' KQX_,BAHL2(.D4ZD2N0!VL'A@BM<%#(V4&LY> M&^*AC1G$D*XJI:RN]S1TV&_9"+I> 65XF;6.H[VY]1<3_W"Q(QYV]B(7.^YT MB2;.2;FXS[U,*0KLN:+ M6)IUL*HJDI[/%OW'(@K.)?38%S-9O,@GR$Y+Y7&/@0R615VRY>)Z99'Q&0E8;BS>$V-K,X&W;J(TL9:,+^,6]1@2R]@9'J_B"V!@.'3]R6:FN M.(BM@?AXT*0$;.!_];HPTP8Y[SJGA;:D2VFLA2;>!A ($> M,*-,-WB$/V:_\?^,PIR=OF;B?S*J!RWOH)? R?\ M8=Q]5%3QD"*?N^-GGUV?9.Z]0SN4E/ZFE_M<7ZU6I5J1Q>V^:?RX^7YC'9FP M'#E*\_CT'V2]9WO;?\3!&A57+'Z1::W$ATZ2L\:U;R?A.)B%(T_BE1@/QC/_ M=3:877;>A?,PN S'GL\FAH;!;#C;8VD_#Z+"$Z7E#TP4O4#T%V7"X M?\W1()J_F*P/W.(TFH7[1&>#\ 6\[@GV@%]"LN-15WH0YK!SWCCLO!O-1\'E M;-R1PD9Q@'.![/@QXR <3;LZF@ZB]ICYX'+896$23$>S75ESHCAZP#08#\== M5@?35OS3[IUP^.4DB(:M(.]ZP,*"$!=AN88 W%-Z=S89$N5 F=$9% @V_*S MJAHTCB@'(,>-#.1=][2)\=B7:#Z$@1(2P9;^(*OTH4UCL'_082*I2WKRW%B- M-'!$RH$8P5I&SV'#X0&^8 ?&/D:[6X@DFK(MW][H!E)T3FFO1PH"- '&7%@+ M 3O-;B"_8I7K?RF&-&2MN2$;,@4A0G"YU1 J2!/BWSC--%9!4';;A$_IPF>; MX,52ZE+<,CXE5X,-I@\695=% MQ05+$TSW.&E#U._C93(<3$0&',@P@%CJ/#C$&0O&FDC+%1=/#DO\5AFM)8%' ME5.9JC-6H"M_.FJI34/S.I4HD^_B=0%8=?X3L!$A.F;A'"5P3.NR(E&I-P.' M1&S !!*RDGPY+F%N/VKS69P#O2E%:E*$QD1)+)ZZ6@\&=2:&@^D R\(!T+(/ MI\#CXO3!YL_)X!+OI]WWOBIYT"I-^O2:Z.\7WQ? K#HE[-9;.(Y \ER,$2E[ M-N]$=*FND0^>8=/ U]U#7$U+RTNU M5&7I4?-+C00D7K9EV+I\#_X>+ G_/W!PI_2PN>UW $6?)&WUVGS]@3WN.S+G M[\G?GX_E&@IA$$V[X + 8VS)6JS66=K!:O.Y^ 6W(X0TBJ)]A 0H,1/?MS!J M? "930:3\?/0411,)Y,.CU%$6V^>#7NB8#3:O\;N_S:<'TTOA_L3%B'<6WF\ MU%$XN$<(+BZ4/Y::Z]RGTJ37?NSU@9H$RY2G\Y9TX!JXN@\9D;8[9*DM(J1/ MN>=-RD7,T@4'H!"1BH,B\@R+ZTE.B'R9<$?&A1WJ]=JF=VZ*5"?2.@G^9=3; MH6,^X$39-IDH5)5J34.B>T7=3VI>_#>KUGWSH133G8RT?DZ&M@\_ M/67I%;6!.)"0K&63*[>?;LLBJ6.*^\ !Q89DV07<0=2K,9"@>F\O)[W:;CH1 M=S*E5KU%$>RBT(2=55'7K=Y0MZP32L912V'4@?:C8#9NW\RGE^('E4.]J>WJ M)QD*;'B6Y&:=3]]!.)]VB(?#EMU^G1$%431[RA@[-POFXWGOYM.P5[GBY&&W M4AD%DTZ,]+,9&]1OZS)>4[.:VX!M>2U^DGC1 =61'"^;X;"&F M_G(BR]TA S;\5>8UX1*;1'OSAF)WWM!;^]CH09]AK4&4"TK5 4;Z[6PV$0;Z(Q[KH"DQ+'-1<@_[VM U+Q*'P*O= 9QOD%>Y+@J M1,ZV:(."]Y/7O5(7VTIUK]76#C+=29[JQ@U(R9>\HX$Y&B\R\7\B[YO$M7E= M!<:FY6EQA>X]R*936!>\K>B.<\,.1.6^/U486/$SHL9.@Z#K*3:C&UNAM\Q2 MWT*3WU$)[_HG$ E[C/YZSNAD3[#BE'2K\M@9DT>/CKJ8V"/5"C6Z&AV$\=U5E-I18.UFFJ;UI > M..@AN-2-6KRTNCKD8)5K#T&,6-GL!$$1A]U VEJG:K9:JV-V[7H)1M+T',5Q M>U=6YQI@BI-2JAA"ZJ\-/&1W8DTAO_MAAR^(&[:EE\ONI-$&>$[X5HD#89>_*"=59;*O3#;YC]2W&W30 'QP, M.R)%IDYU;,-(WT':(.E5\:+]-(C8B9NE[@GAT\8EJIT['1J/[66%-J[L^[F-FPN&+9N-:XZ6BL)# M%VCGW%Z-^J.(_=$_.052Y5*5P&PO M=V]R:W-H965TE5-7@ M\CRLW=G+<]-XK2JZL\(U92GM^IJT65T,)H/-PB>U*#POC"[/:[F@>_)?ZCN+ MIU&'DJN2*J=,)2S-+P97DY?7ARP?!+XJ6KG>O6!/9L9\XX?;_&(P9H-(4^89 M0>*RI!O2FH%@QO<6<]"IY(W]^PWZF^ [?)E)1S=&_Z%R7UP,3@>(\3*C7?@7JRB;0F/6.&_*=C.>2U7%JWQHX]#;<#I^8D/:;DB#W5%1 ML/)WZ>7EN34K85D::'P37 V[89RJ."GWWN*MPCY_>>]-]JTP.B?K?A&OOS?* MK\]''LC\?I2U*-<1)7T"Y4Q\,)4OG'A=Y93O[A_!HLZL=&/6=?HLX#W5B9B. MAR(=IY-G\*:=F]. -_W7;N[ 'G:PAP'V\#]&[UD4KKN7KI8970Q06([LD@:7 M8I(FHH__\T^GZ>3D5:M%?*S$56V5%F;*4"U5Y(R3( M;ZVL%H1J\B"8+\+:?*ZTDIZ$F8O/:D%6O-5F)K7X("L9A8?B_?L;\8*A@_[C M5^TERM]62P)%;6M;>_E5K IHGZV#2;N2HFYL5J",,NKW[F(C/N %>AG_XXPII2:RD$_2]0<@0YE:R%<+6@_0D&8/#:)VPVQL/ M.2Q/AI/)) *X"+O)FJ6,T*/R5E8N%I86;']%[(O)B'(7D<^VH1LBD\@V>E'> MH,=5"]&@"NW*JO P)XI[)MLMR98^Z?0Q_K0Q8 9Y%[Q"[%>%RHH=,>5< QE9 MY<*!I>#BV])R]9J95AG=SLFS=7K"VL1VVZE25Z2;GF$#OO-%: MT /93#G:9*?SME6&"O^0F5RYS#2@WC9%QUND74-4Y&F^C5QFG ^[9 US'A0F%.DUS#E.3K?6 M@'J1TT_71$A?L!9@,>@'X[!XD$YZ6"O4]#8=X,-;JL@R3R%ZE6,X*>>MY"F+ M'.'4X. 5Q")AX'C%58\[4$7EDLEU[W$)-D#U1^1> #V/KU]E9\2>X3\0[OL-V)]\E=$MM0.GZUE0P+$[09 M-M3 ;HO ($BLTO5:^__.]>-'F1ZHN;5N^'A-YPI!-7Y#?<%K'=\[=O>BDR Y M3+"J/6AUC72_E\>*T/W*>TP,1T?G$;'8'@@I8MZW/:3!@0@DR0##70I3Q?K- MG$O'P^GTZ*GVPT= _$4.X?J;+Y3-^4BG=MMP9XC'*=/Z%M&$:#I;9!ME6P[TVTWX5BCS'\LZGV@AB"YG<[ =O5L@0!*8Q5?S%F M9PGW[$S6BH?(CTUM.UO[(AOO7!Q18PPN_)YTKY96+*5N"+T"?7O2&XI,]LD/ MVYFY3BVJ4/=[@=B'ZZ$EXDUCN7)V@R#+6.NL"PJ\W(RJKKX>E^*A M!Z$TMC:QZP3)'8C96LO5/DW!8,?V+Y5IG.8) 0"_S3'J*[2:IE_5K19$@KNT M50AZ:?)H26AX8*_E[X>@S1%Z-9_QVO:0/'92'?7._"791?BRX?,2!DH\_G>K MW&PO M=V]R:W-H965T %I6?WV?!4B*M&-?9M+VBT6 P.Z#W6=?0)_M MM?EB,R(G[HN\M&]'F7/5Z\G$)AD5THYU127>;+4II,/0[":V,B13OZG()[/I M]&122%6.SL_\W(TY/].URU5)-T;8NBBD.5Q2KO=O1_&HG?A9[3+'$Y/SLTKN MZ);<+]6-P6C224E50:55NA2&MF]'%_'KRP6O]PL^*]K;WK/@DVRT_L*##^G; MT90!44Z)8PD2/W=T17G.@@#C]T;FJ%/)&_O/K?1K?W:<92,M7>G\5Y6Z[.UH M/1(I;66=NY_U_J_4G&?)\A*=6_]7[,/:^70DDMHZ732;@:!09?B5]XT=>AO6 M3VV8-1MF'G=0Y%&^DTZ>GQF]%X970QH_^*/ZW0"G2G;*K3-XJ[#/G5_IHE . M5G96R#(55[ITJMQ1F2BR9Q,'%;QPDC3B+H.XV1/B3L5/$)!9\;Y,*1WNGP!: MAV_6XKN?=R!_T/F+_Y8]GQ<7 MS\?B69'B(DE,3:EX?X\XM=2-*8RQQ0J]%;"CHV)#IC.FE_6.DF8V]K-3L2=# MO&>K(@J-0.T1"QJ%&, =8F-YN54+"5A)_64.*[(5%+-&.O?ZP!!X#(7.=>(M[ M]I#XI50\NG68M)'X8(VD/!*H,3M5%Y&X1B1!*!Z,+!.*Q-\DCA*)6\"3E3:8 MZ8GY.V93C6T_$/)\>8C$C>;M'E=OW861&Y!*&=8:,/91>Z"HC* :4(-@V*P% M<]TSL*J]<5AF28YK%0_I]UI5;*4GY#U_\'\0$X6QV@Z]U] =="Q0O/Q6E\$? MH@CIF3@]/Y44'DWC;^.O!YY"))2NX]T>:>-%/%ZB3N6Y+[E8C8EU.Q%AO:W( M%^+\<(16(NO][Y'-QZ=#9,OQ_(^0!:-YGWT#QL"J-FX,)=JDO;@$]5],C]9@ MG_Y ):(F))F+%/5=6<=1Q,'5)O#&]4C[*4_X F!UKE+948$)Q.*;>&[S'",Q ME''B@< /)5A(HJZ@VAFUVY%A!K)LAKH#M1@5Q+ 1$<)_8>;F2FY4KMRARWH@ M=5WJ)*DKA9$/]G00SV_$'JRDS6%HCU*#S:A;[)N$@(A!'@14E[I0B=C %EOE MQ-;H(J#BCLHB=LH[.D#'YN"GO<80+E^#R;Y."12 -7E3@%*5MI"^]?:>O$QTVN=HWSKFM7(_B9#T5=-.)T M;X'\SB+]3Y*&>S0VQ1,E^6']C5^R;8X6[.>35[T2$T?+Y90W'(O5$@5UQ5/S M;FH1K==^U:)7TJ;QDJ>6C^">KF-^KQ#@!<1+/X M6!2O9*6XBC85\.*)=FG(Y4RFPM(=E<\7NRZ[(R)4DH%&^DZEU+$,L5Y:T(E5 MZCU2@;_G!5Q5K";I=AKU[I)=0GR7G&*M M3P2G!(JM5$;^6RY[/=IK*)'O]?(D]\8^B=K!;#P)M%\6(Q#+PX.IVO MAH&W/%T/PRY>39O6\AC!2\CXD2QRS46A:W )&1&V(7\7Z2S5;7@Y6ZU>B9NP M0GSVE(,%T?ET[AB0YHFN?O$X@!_^7@VY9S-M7 B57ML+.TP?KN1B-%PXC^+I MR8.3/P5C> N[]C5+H;RB.O+O,%THWSW_AHK"[^_00L/IP+&#(N2$A(CY$ (" MH:8*E"12_A+ H6*8^C[@VU$40AV"8+HF9-!LJ%*: V*M-J'=V-061=#:84"' MQL0.0L]GK<&1CF$0<"8H4I8K.Y**XQ,!^$9NA@TU7(76JQ4PS!A0ZZ0_INCPZ9! M*?.XIP@V#3?'1ELO,PL^IU% %CJ-MD-I?,0LBU=O;.?!2&SA7'C&6P7IP[5= M:YV'-D4?>S_VI;29V')S,!:_\H&:_I;Y5VG'8/^6#I2 ED:E/QFPE;33 .\HU"^)"BA"MR?;_G6@Y%W;K]V$PXI/ M6-S6*%26NK^K"P$WM V'QP:^#%6;DJQ$0:R F'N/>MQCA>SWO6@:1*84X\=9FC+'S:/-\-O*9B^5!]/B$=< MZ!O6M#;O?>]H9_IYHM'[5:YVX3MH58]=L7>SJ&J39(.>:?@= >*ZTO.AX\L?$&%*V$RX/6>V@:>:V^3QXLO9 M48.RR(Y1. (N/TW:ZS4Y.-*.(-*W1"R:>]C6BIQ;!OFRNT_J;_>X'7_MF^:D M][VX('"5OXHS-: F?#KN9KL/[Q?A>_-Q>?AJ_Q.HCAX367:+K=/Q:CD*][9V MX'3EOSXC>IPN_&-&$I3@!7B_10YI!ZR@^W?$^7\ 4$L#!!0 ( $2!:5-? M9*O.P ( "T& 9 >&PO=V]R:W-H965TSCK,BT+506/8ENVOWZ4;+CNEC;PW:) M)9'O\9$2F>4>W9VO $@\U,;Z55(1-6=IZE4%M?03;,"RI4!72^*M*U/?.)!Y M!-4FS:;3#VDMM4W6RWAVX]9+;,EH"S=.^+:NI7O<@,']*IDEAX-;7584#M+U MLI$E;(&^-S>.=^G DNL:K-=HA8-BE9S/SC:+X!\=?FC8^]%:A$QVB'=A>;31.A6D]8]V!64&O;?>5#7X<1X/0U0-8# MLJB["Q15?I8DUTN'>^&"-[.%14PUHEF2CN$9+E1=?; [Y7 M1N#X 4 NJ)(D- GN3"<)O& S6NCWVI9"VIP[ID%'OSO-9B>?O%"5AF*43@Y*QRE0RSMPO8S0\4\N M#CSW(=?!1::>J<44G+SV]=-3" M-;@R#BJN!+:6NFX>3H=9>-Z-@"?W;I!>2U=J3MQ P=#IY.0X$:X;3MV&L(D# M88?$XR4N*Y[GX((#VPM$.FQ"@.$?8OT'4$L#!!0 ( $2!:5/!5B1I90, M &,' 9 >&PO=V]R:W-H965TN;AIGM-4J]F29YLC_X*JK:A8-T-FE9 MA7-T?[PB9++1>!>%+.4VR M0 @E-YA)GW(X'BXWZ-_BKE3+@MF\4;+;Z)T]32Y2*#$ M)?/2?=6;S[C+9QSPN)8V?F'3V>9DS+UUNMDY$X-&J&YE+[LZ'#A<9+]Q*'8. M1>3=!8HL/S+'9A.C-V""-:&%34PU>A,YH<*ES)TAK2 _-YO[A<5GC\K![9J^ M=I(Z@@W*E.\@KCN(XC<0[^%.*U=;N%4EEJ_]4Z+3*/_EN,KS-,>\S1BGOZ?NAV%".UV:5O&<9I0/UDT:TQF^7@( M/V'#O8)[[O0"#9QU91F JQ%N=-,RM076MD:OL81\1)UBG1')%-#>/O'19&-K@Z#%N?'H^:[4+H-K6:! MJ1)&9_^."DG8M%)O$>U17L3G+PK7!$+O?\E'*>T5)TQ&[5X9Q";4D (P3D & MX=X3GZHB@#LL!1O %\6'4*:+E,$]S;FY9 [A7:A D5WU)U'.K_X$&H+P)A]G MU(E24J8#X)2NL$ZH"O22=,5XKP.A@#-;QV*\>7W^4?N%Q"<4/3P=Q0G+Y^15="_):::FK+81[)7-+86T8:[12%4.M%7.>"AE@ MGBEFN!W*FY4GUK>M-N%"(R.B23G)P&C0A3XI#SIV@']"!PJI*%3]0+ M87X/X%&L'O4J1OFN_:-?X!!^U;3IP>!KD&*%\6Z)@5>NFX']:?^"?.@&YP_S M[OFY(ZJ4+15\2:[9\'R<@.E&>B&PO=V]R:W-H965T MW6+@:Z=DSH>J#H\'E=1F[_R,W]VZ M\S/;A%(;=>N$;ZI*NO6E*NWJ_=YHKWWQ12^*0"\&YV>U7*BI"E_K6X>G02TW[>\$^M5G[KMR!+9M9^IX?K_/W>D "I4F6!)$C\ M6ZJ)*DL2!!A_))E[G4HZN/V[E7[%ML.6F?1J8LM_Z3P4[_=.]D2NYK(IPQ>[ M^DTE>XY(7F9+SW_%*NT=[HFL\<%6Z3 05-K$__(^^>$Y!\;IP)AQ1T6,\H,, M\OS,V95PM!O2Z >;RJ7TFLO[%S<.N65"3+ZRN1B&L-$ M:U.],'JN,VF"N,@RVYB@S4+O[H++T=L1OL1:@YA') M4T1%@2H"B[RI543N6=0$P)PJB$B62EP; %4"=,8"0^&4XFT&KA!5S$5%N?@8 MM!>BF0:;?2]LF2OG?_G;R7CTYIWX^$>CP_J_!T&_G@UD(GTAKL#"OE/\(G7$ MP42F0I:ED/DWD%.4'0J)ETZ1$BD,D66)S5GC'&6#D:%Q*F%-.S/ U/ (-!I$ MVGNJ(T(EQ5QJ)^KM6H-8 HM7H-H->$19V]P+7]B5$=IP#KJ<4VRE0\'/J1#K M3?HNE$%ZE.6:ULG:G,Z2P*]&=UYCCUU44)%)\8KB-AZ^^_7BXI9_CMZ][GPO MZQI%+FP$53LI8+JC16^2[8^ M,8)7.".;7$<'1YL?R=.K3LA6QB*LA(=!2(X1#/K6F-C-.<#L_J3BSP5&OOF) M6%)^C]XFG\;D6BOIR"_P8RR,+MS;1$?>YUU.P9](L;+)-_DTB1M3T7MPJ/4U M"JB!A^CE\."=N#'BLW19(<9O8[GUMH\*-9_C *D73_6RHZZ)'#U)[U\]%^E' M'W3%24Y6?6KR1?10PKW-_2EY7Q"XAYK._Q\5-ZEZ5\1#N9ORC J-&)K3C+,^ M58+'\&4PK=)FJJ%*?E="[2"7'A-N'6L_$AX',7$8E3K%LR)JXHS$?FZ'.%IJ M.=.E#CJ)>NR(4TMEFLBIZKXF'XB\8;;='-DAE.T!91?NM\[11,S:4#)C4_(Z MC"W7-!/0UDI)(AFV'2A0=Y5/60]E/3%K I4$S*BX)H,][:"B'UA 8-]G3A,? MR,U9UI6#4.!VTP4HL38"M$3S; !B0:I;D6T3B3S;(VG4VH.\5SZ6T5*6S88O M"0($11?SV+:P-E]I:F>&24J:A28BCR&),NBW]ZW--2H>+0600+CH1NE0B3[+G8@();?-+,R;LNU(OO=3HC0^\D;K@]8GW W)#"X13[/$/MU" M24\AI17!I(Q:7Z 6#K?$;0"1 M8>M6HY^I4B,(%.%$T-X:;H&Q3Q#R3+NLJ5!9$(L$_ +L)M6NAP#F-SQ>M-- );EQR98X9VN1%8BK2D1B M_5:]MIUJRU%D'?O7F@1VJ^DNI2YE3)"6@XAR_A,^ZC]!Y\<=G1\_29Q?T,M, M0*>^1FBA:/OFX:RQY-]'.?DO$LW$VK8KY@F!!;>@G0O8 _Y,#;-'7L.%&9JZ M%OD)&8D4<4'<-$Y<-AZ+**LIO6IJ#[6AF[X^W5Q.Z44[@?4QL+7)UJ[U'E%. MA KN@_H2^2%S6[,I1JUH. *A:(K:UL!(>9M+AX32T0&^F7FT@$3[I%,99&7+ M"]L@!,E 4VG0UI%7G"TQ\392:6IL82V,QG/*)P!VLGR&?8NQE--FE[;7QP30SWOIA@'M1!_&Z) M&+&&(.(6@0GJ.'+?U<7TLO7:Q?2K^(?M\^K^Z*#WL-#]79&O[FRM,W$P/GXM M/N^VG-V-L/EAD*T)D](V\0+8L)4 >]$L<'$A0"=/PCW9'QWU<*#M"63YK]OM MXH:I<9^V*(KB]N:7.F(B0%\C$UA$[16HH M=3RE$Q<"!@L\LZ0?["<'_S@OCP05Z0+*ZC3.TJT:Z>RLS(K^CW3 -C"1I(K' M/KKO43!5:L^IU6D.M/BFL+G4\W7KSA]S+ Y'=S0A$7A1JCF.#OMO< MQ\2-M?$!]\H?1F0TH3/Y9X*JI'&W .MVOVP=2 MT'TI/_\W4$L#!!0 ( $2!:5,27D*LJ@( (<& 9 >&PO=V]R:W-H M965T4D"QL&!?!8N9]=VHQDYVIN8 [ MA737-$R]7$,MM_,@"O:.>UY6QCG"Q:QE)2S!_&SOE+7"@:7@#0C-I4 *-O/@ M*KJ\3ER\#_C%8:M'<^0J64GYZ(SOQ3P@3A#4L#:.@=GA"6Z@KAV1E?%GQQD, M*1UP/-^S?_6UVUI63,.-K'_SPE3S8!*@ C:LJ\V]W'Z#73VIXUO+6OLOVO:Q M<1*@=:>-;'9@JZ#AHA_9\VX?1H )>0- =P#J=?>)O,K/S+#%3,DM4B[:LKF) M+]6CK3@NW*$LC;*KW.+,XAZ>0'2 SA[8J@;]<18:R^K6PO6.X;IGH&\P3-&M M%*;2Z(LHH#C&AU;-((GN)5W3DX1+:"]03#"BA$8G^.*AQ-CSQ:=+/,&4#$R) M9TK>4F:?1-'5@.0&%5RSLE10,@.%O9ZOY.B+/4WYX=V$DO@3^E_C0Z4 CDX0 M_; 2CSW_@NP)&6A6H/PQO>X]0UP@4\E.,U'HC_XPW8>,9E?%$RC#M86^V.AZ/F8 67 MO@5JM):=,'V?&+Q#E[WJF\LAO&_1MTR57&A4P\9"R46>!DCU;:\WC&Q]JUE) M8W?'3RO[IP#E NSZ1DJS-UR"X=^S^ M02P,$% @ 1(%I4Y,/?7=- P MV < !D !X;"]W;W)K&ULE55M;]LV$/XK!VT8 M&D"-9,F.W,PV$+M[*;!V09-MGVGI;!&A2)6DZOC?[TC)M!.GZ?;%YLMSSSWW MHN-LI_2#J1$M/#9"FGE46]M>)XDI:VR8N50M2KK9*-TP2UN]34RKD57>J!%) MEJ972<.XC!8S?W:K%S/56<$EWFHP7=,PO5^B4+MY-(H.!Y_YMK;N(%G,6K;% M.[1_M;>:=DE@J7B#TG E0>-F'MV,KI=CA_> OSGNS,D:7"1KI1['3(R>Y7P M#MM+R-,8LC0;O<*7AY!SSY?_GY!?X1T'WK'G'7]+)WTP52<0U 8VC&OXRD3G M=\P8M(8Z\$O'-5; 9 6"LS47W'(T[KYKW+EQ:%MC#S7<-V[%++Y4AM?5_/3# M-$OSG^%[_V^X)(^J,R3*7,#-B6-J*(0;K_TZX%?,U#Z TBV0T!0F2@KO@/@1 M1G&:%G"O687TX99($-=, ?%N/(4_*4Q]R$RXN();30-'VWT,K6#2>E?.2TN3 MP)ZISPKX("V36TX.!K;K,]0]EK540FWW1\,X&T]@Y3\PTJ%1]'U0\_8HIXBS M=-K'01/KP9P1CPOXI.3;4C4M4J[85B,V3Y(1J$9PKRP3P)_+/08?3PCUFU+5 MC@L1CD=%G$Z*P?IY)QUSGDWC(KWZ;KG_.+;=,4]]I5JV?UHF*B3EJ"]4V6GM M"G#:M@=<3JCWN$'M%%GV&$#[\WK%T^G5$,M+7T"@C//B@&L[7=8T>*&D^O * MM:_4:>B3.,_3H3.?9R;TN6_*"_A$#YUOW4#;:E[BN=)QG&?Y2V,A.9FVU#M; M_Z884M=)VP_>K9M^6A_A_9OWD>DMIWDK<$.FZ64QB4#W[TB_L:KULWNM M+#6J7];T]*)V +K?*&4/&^<@/.:+?P%02P,$% @ 1(%I4W"$_G7G P M^PL !D !X;"]W;W)K&ULS59;;]LV%/XKA%<, M":!&)'7O' -)>ED>6@1-MCW3UK$E5!(UDHJ3_?H>TK:L5HH1;"][D<1SO_'3 MF6^E^J8+ $.>ZJK1E[/"F/:=[^M5 ;70%[*%!CEKJ6IA\*@VOFX5B-PIU97/ M*8W]6I3-;#%WM#NUF,O.5&4#=XKHKJZ%>KZ&2FXO9VQV('PM-X6Q!'\Q;\4& M[L'\T=XI//F]E;RLH=&E;(B"]>7LBKV[CJV\$_BSA*T>?!.;R5+*;_9PFU_. MJ T(*E@9:T'@ZQ%NH*JL(0SC[[W-6>_2*@Z_#]8_NMPQEZ70<".KO\K<%)>S M=$9R6(NN,E_E]G?8YQ-9>RM9:?Q!XTN=SWZ SJ^*O]H:O=X;Y"X8S\EDVIM#D0Y-# M_J.^CT'VD?)#I-?\I,%[:"](0#W"*6PVI/88Y"1\8^*:DUN1%*/9?-IB=? M#:IYH'U!>!L)_E?]JUIVC;&OOF,#VDNL!R5R!%8$73<#2V4K,BP+CU:3R&,T&>AQCP^:>,83+^)+0BRC%MC_BGZ+%VAM8%8VLY.:Y MEXDC+\JR"=^8*!WX#@(ORZ*C&E:-#5U'-M.!>.K1E),OLGF[DG4+!F_I1@'@ MS\>,6Q-/!#!1S3@9D>R;\>G;<8K^((VH)C#D(/>&L#3V$AH-*&=QYM'AJ* 0 M2WX28DF"E:!#M2CR0O:C&L=99/0$(D8](D:O1L0/VI2UNV/KSG0*"#RU^*?^ M"0$=M='3&#H%CZ<#>#5,3:.4PZ5C84(OB2)+Y..;9XO/+"\8\U(OXYGEA6-> M@I0:AL&?3,,O8 M2_B6GD:>\"5TX%,E] <+&;K:N+53DY7] >QVLY[:;[97NX7N*+Y;BS\+M2D; M32I8HRJ]2'#"U6[5W!V,;-UZMY0&\W*?!6[GH*P \M=2FL/!.NCW_<5W4$L# M!!0 ( $2!:5.1)7[HT@( (D& 9 >&PO=V]R:W-H965T T"9%RVM?-MI*VP"!!*)B SZ[R:6Q<.Q@.^O@ MUW-V6J](;!*(+['/=\]SSUV-=O8Q2)P@%5M8Q,%KN\!J%<$0DX_N>,PHI'?!X?V!_XVNG M6C;,X+427WEMVV4TCZ#&A@W"?E*[M[BO9^+X*B6,?\)NC"WS"*K!6-7MP:2@ MXW) >?H((-\#$^-MW!RRS8"S>DBL93+(9)JSWLU\N:/ M\)[#!R5M:^"UK+'^'9^0QB T/PB]RI\DO,'^#(HTACS-LR?XBE!XX?F*?RG\ M"?XR\)>>OWQ,+WT^]2 05 -_D6MLQ=/4+Y[-\[1X"?]KO31.Y F78%LU&%)G M3H.3^FZQVZ .S0^N5UCM/9GWI'"MNGZPJ(TOD6KF?8N:"V@T6,? (=L69REY;&5E_ >Z8-LE:B!=[U6=^@0)@2= MQT4V.;+RZ0RN6<\M$_PGUF!48W>,,M9X1^-IS%3(,YCXMY3FD- M55A50S<(9HFH1IJ(%6?CH"'YK%/:\I_CP0%\DA?Q+$T?>GN23>*\+$[A5I$D MZ,,UZ<,U"7V(0>)#,WP7I^?%\<&<&C3[T\U-CL9#AWKKAZ"A0@=IQTD13L.< MO1S'RT/X.*0_,+WETH# AJ#IV6P2@1X'WVA8U?MALU&61I??MO2O0.T"R-\H M90^&2Q#^/JM?4$L#!!0 ( $2!:5,]FT=WO@, )@/ 9 >&PO=V]R M:W-H965T17@^Z=OU;L$G!BM=ZQ,;R4S*.SNX3D9>8!T"#K&Q"!2;>[@$ MSBT0NO&EQ/0JDU:QWE^C7[G8,989U7 I^7\L,>G(._5( G.:<_->KOZ&,A[G M8"RY=E^R*M8.SCP2Y]K(K%1&#S(FBI9^+?>AIG :M"A$I4+D_"X,.2_?4$/' M0R571-G5B&8[+E2GC4*?*)\AS(#5"=*\ =-^35!SKC MH(^&OD$C=JD?EX"3 C!J 3PC-U*85)._1 +)8WT?G:L\C-8>3J*]@+>P/";= MH$.B( KWX'6KB+L.K_NDB/< ]RK@G@/NM3F*#R;).1 Y)W,FJ(@9Y80);51N M36B2%?820@V96S?NG1ON>L>Y4DPL[!5CNFG;]QM_^<=I%'1?DU_57F@;-IZ5 M@6P&JCJPG87_YM+@#MQ0=8>4\USN3!6+0>/FDPOW[+^I<,L6@LU93$6[4Z\L MGDEEKJE(]%$E+V+1!"FR$>^=26$S\U'(F09U;Q_8P?%<)WB!$(WC1FMK:SWQ M;H-U+99Y;69K^$$:U*Y=_IWHWL(];4NB'4FW%OOF">G2M_-O1G-)=4K@ M2\[P_CO%]<0+$H:=0=1OU RC9L0F>0GSEM$9X\PP.,"K'VTOD??P!5OZC"7^ MM1)0U/UY[-.&K7OUI& Z@W"P-6HU)J3X\T<--LGMN+A#<9OIS2EN S1)'D>U M/?ZU//8&XI+&0D=CP4^FL>>AKY_.7CNL]22V"K^7K0YDJ1T6>D&B3F_0J]W6 M>J^8^WT9Y?N8)3P[;9$^*\/T3J)'_2&ULQ5;= M3]LP$/]7K&R:AA2(DSC]8&TE"DSC 511-I[=YMI$)'%F.Y3]]SL[;4@$C7B8 MM)?:Y[O[W6?N.MD)^:02 $U>\JQ04R?1NCSW/+5.(.?J3)10(&+-)R;>P!/VS7$BDO 8E3G,H5"H*(F$S=2[\\SDS\E;@5PH[U;H3$\E* MB"=#W,13AQJ'((.U-@@XA"PS0.C&[SVFTY@TBNW[ ?V[C1UC67$%ER)[ M3&.=3)V10V+8\"K3]V+W _;Q1 9O+3)E?\FNEHV80]:5TB+?*Z,'>5K4)W_9 MYZ&E,*)'%(*]0F#]K@U9+Z^XYK.)%#LBC32BF8L-U6JCD9"Z)*"!WX,7-M&&%B_\<+0]H*P!91:4'7,2/Y2X MRH"(#5F+O*PT-PVG#*T3,$V3K@DO8A*G6:4A)M>+Y7O)[3?SY=,HH.$W\K_. MAT0"= KI>9N@/9R[*@?)M9#G1_V_PPEW M4V"!L,/?E.2D$?M,ANXX8"TZ;)9\P-:9<_ M'([)EB[YY@0 -0/ 9 >&PO=V]R:W-H965TJC3)X4X06689 M$V\7D/+UV< >;"?ND^5*Z8GQ;%JP)3R ^K.X$S@:-RAQDD$N$YX3 8NSP;G] M\2+0^ZL-3PFL9><_T9[,.7_6@\_QV<#2!D$*D=((##\O< EIJH'0C+\WF(-& MI1;L_M^BWU2^HR]S)N&2IU^36*W.!N& Q+!@9:KN^?HWV/CC:;R(I[+Z)>MZ MK^<.2%1*Q;.-,%J0)7G]9:^;.'0$0NN -T(T,KN6E%EY153;#85?$V$WHUH M^D_E:B6-QB6Y3LJ#$KB:H)R:/2@>/8\NT*^87/(,!7R PB2.91!J4?L( MGM/X[%1XSHD^'X%V&VBW@G8/0>.EBLAE?OX*($@GD3B11NWWX%S A/^R( M?T;%"3)=1)Y86@+Y4BJI6!YK1YG4QE]!!)4CCEU=!(O8KA'83@/Q,W%--VB& M@1E,.FMV:!L3VVWL7 J6ZQ#81F %.^8XECGQ>K,VW1]A/;_%A(W/,1DBK&WM MNNF8-#P9%BO/ A)M[) &]BYH8-HGV+H36&07M8GLAF)T9%VG&ST,IM71Y]J= M-2=TC$G@=J)08,5!:Q4G+R#5836N83M^-T>^25LUH3FQNB9XAN\$W\9:<_1A M!;[A6F[75--OP^]W?4+E$\^@EG>$ [V& [UW<^!%RI!J<89C+1G=@E!(*C4E MC@J\&3H-&8\AW<>+Q]6N8$U_WN>HS\'D,>D[<$TKB/MSU]S>87GF+) M2;$@]#>Z%"%'Q,5,':JQQ* M=[D*+W5 ;EI"<_=PI&=Z[OMXBAJ^YW5LI%2+7K^;@*CA.+MN;+Y'SE_0G+_@ MM-?0:%X]NJ+N0U/S92YAWS$\COZC'T;??A]7FD6Z;]WV *.I^U>:\]K+QO[9 M89(3M>*EQ'. G%.G3)_1]M^=X'$9*>Q#7K"_*K!;4EU.-VBOC"$']58G7N_Y MX'OD@2%/&]A@B&=0U=E#0JO;$-"M7%%PT6JP#9>V"([5GD7'"-QV)?0GY!/D M>'/3"I#%V,DD2 ),MV0M0QMVZ'? ;:LUMU_*J$%I0!ZY0L"#!ZOCF1&Z8<]S MW^X]CE"SU2V&CN'Y>SN-<:?3PH@LJWY2HMXR5W73UMYW:FUV^M^]Y:) M)3[Y2 H+%+7, ,N=J'O(>J!X4?5MNX[;!;0?LBVU1Y".2#T5SOA?R494 FCS5O%$+I]2ZO?8\ ME9=0,W4E6FAP9RMDS30NYX'O)U[-JL99SJUL+9=ST6E>-;"6 M1'5US>3S+7"Q7SC4.0J^5+M2&X&WG+=L!W>@O[9KB2MO0"FJ&AI5B89(V"Z< M&WI]FQA]J_!0P5Z-OHF)9"/$HUG\6BPV.#E@BO[)/M> M-YTY).^4%O7!&#VHJZ9_LZ=#'D8&F?^.07 P"*S?_4'6RX],L^5\2VH*WT=_ M'NW''[+ #W\BW_N^4<:?BZHANA2=PL#5Y;")*=90;T .>28?(3](J)7XY &: M0DC2LN<^=T?C#R1V@S@:K4,WFR7D4]UR\0Q !,_V2U!%.1OUAE;BS."613Q\M1GMH)U,C MZD;Q;+0*XXS\;L_3[&GD)'6#<.2DFR41N1>:\2G'HSP$L4N#]%00T=F9&HN' M&HN_N<:VG>XDF!91U5U-.&"K(F+#JQTS[>_-FCN/_F]KZT]@TEQWO$7O5=BT MG.@%_E:02?/W,&:ZE,AL;3O'Y2ACU(UCWQB\Y#[&^DB-*!Q$D9ME5BL:,>33 MV(CB5^[.,FHVDE<;89*1>Z0>V%:CJ]/M]+4%.ABY 1TX/D-M,E";?!^UPP7L ML,%*PG:8.2,PJ<]Y9UFH&@P E'ZS?Y\___\@GWPC^TD:G7(?N#2*3KFG[BQ, M3[F/9]DI\S3U#Y?UI8ABQ/@-E+HF-[7H,'T2<+A18'\&0P('@XL@32_)NM<@ M#XQWEJ$&IZS6&44250FJ"WM3C1H)Y\*>:7)A4 MCA5#E_K))/*)&V]5K#>:*FJ0.SL[*>SCF*9^P!BDPWAVTT\E+^K];/>9R5V% M?9_#%DW]JQ0[C^SGI7ZA16MGE(W0./'8SQ)'3)!& ?>W0NCCPAPP#*W+?P!0 M2P,$% @ 1(%I4WL^->]7 @ !P8 !D !X;"]W;W)K&ULK91=;YLP%(;_BH4T:9.V0,A75Q&D?&Q:+[I%C=9=.W J\:F MM@GMO]^Q(2RK$J1)NP';G/?Q>X[QB1JIGG0!8,A+R85>>H4QU:WOZZ2 DNJ1 MK$#@ETRJDAJ(KLN2JM6'L@A]'%CT_TKRYW MS.5 -6PD_\524RR]&X^DD-&:FP?9?(,NGYGE)9)K]R1-&SN=>B2IM9%E)T8' M)1/MF[YT=3@3(.>R(.P$X5O!M1TFG6#B$FV=N;2VU- X4K(ARD8CS0Y<;9P: MLV'"GN+>*/S*4&?B+>A$L /D:4^>.O+T"OE[71Y 6:B"2BI##QQ. MYZ O'42+FSF"*J;3OMQ,C*W=R# M--@'W+# 3@W*!N#W3$ISFM@-^MX?_P902P,$% @ 1(%I4WU= @ MK@8 !D !X;"]W;W)K&ULM55-C]HP$/TK5M1# M*R$$G_,>_/>.)ZD M1R'WJ@;0Z*UA7"V"6NOV&6-5U- 0-18M<+-3"=D0;:9RAU4K@90.U# %G MW!#*@RQU:VN9I:+3C')82Z2ZIB'RSQ*8."Z"27!:>*6[6ML%G*4MV<$&](]V M+CT_L7YQWXV5+%*P$^T5+72^"IP"54)&.Z5=Q M_ J]'R>P$$RY)SKZV-D\0$6GM&AZL%'04.[?Y*VOPQD@2FX HAX0/0J(>T#\ M*"#I 8FKC+?BZI 33;)4BB.2-MJPV8$KID,;^Y3;8]]H:7:IP>EL21152%1H M+4$!U\2?!B_1QG\(=F]#=YQ6M"!B$!W7E._06C!:4%#H8PZ:4*8^I5@; M3989%WW^I<\?WBLK?B[KP,AV\3.]Z,>=9@910/F3'&PO=V]R M:W-H965T\H+F^L^4B(THO16++0E 2&U*6VAA"W\X(RZWYU.P]B?F4 M[U7*6UF0R1=\/0WB]5N9DTL$-,MV:?JF1^_T=J0 M5^I%/)7F%QPKK.M8(-I+Q;.:K)\@8WGU3_[6B6@1M,XP =<$W"6X9PA.37 N MC>#6!/?2"%Y-\"XE^#7!-[FODF4RO22*S*>"'X$HT5JMO##E,FR=8):7G;56 M0M]EFJ?FS_1 \ST%GY94$9;*S^ K>%DOP:>;S^ &L!S\W/&])'DLI[;2\4J6 M'=7:#Y4V/J/M@!\\5SL)5GE,XP'^F$#P1 M1)\A%(M&T!/[Q"J/5N0M?5J.:W4^:B$';2OQB X0ETW4Z5!F (.7[8 MP:T&<($/L3-<*(1/=O&HW?6^*-)_NDR2Q;1^^5,QELG3L$8?/ZW1:5RC*^T$0=(IDMXY..MF).>1*$/%]KJJ7 M8;/;'*3OS?&QL_^ [A9H8'^)[E;5,?DD7YW:?Q"1L%R"E&YU*'@;Z(82U4&X M6BA>F(/;ABO=">9RIS\>J"@!^OZ6<_6V* ,TGR/S_U!+ P04 " !$@6E3 MGT0]VC,% !"& &0 'AL+W=O>I\*8I52]%SG+S)NMD"G5 MYE;N/)5+1J-**$T\Y/LS+Z4\FRP7U;,;N5R(0B<\8S<2J")-J3Q_ MM?]5!6^"V5#%5B+YP2,=7TSF$Q"Q+2T2_4WL/[(FH,K!4"2J^@OV]=@ 3T!8 M*"W21MAXD/*L_J4/32*.!-!L0 U NB) "0# K@1P*<*D$: G"HP;02JT+TZ M]BIQ:ZKIF%C^:JVC 8LW[+\/<#^6X!\!'O$5V[QRV)GQ.&@^/K_6;]VBZ]9V%KW M'XM[9@;::4#M-*!*'Q[0]RG3--OQ3<( 58II=>Y0BENEN%)*!I1^$"+:\R3I MFYM:/?'23QMV'7/,!1@^0_:?TGSJ1\YG3#$ZXY MO) MS.G)H\WEB"QH]07.1%T^NV3FK::YT[-5F16SG^OTL%\%OZ<)RW3?_E[-.[F! MOA_TI^:L=>#,Z<"=I!$S%2ADQK+9#KV&:Q73(\-G9-YO%_H6A+[3\M\Z9K+9 M?;TX\KM69P-&C^@+G49OI"GY4A_>@CRAF:Y27V8]-[58]WH!.UZ@@91#"Q\X M(GV@Q0]T\^=.:)J8*O%$>6]8N)O<:0 ' K, @>1/";AJ1(]-PL"?#B734@:Z M,5-'78=J^B SF9)%O0Y,NU,Y#_RA-67A F=C8!-:NL#@A#V9T\/@AFP4/,HE MF0X$8ED$W3"J=V182&DV TAL6+TNS#LNX$$7+(V@&T=KMF7&? 0T?6@]./3: M[T()S><#DXDLE9";2O5J.HJ]7%E%VK^B4!=1& =#/EA((3>D:A_:6AF:#I%' M3%:]8J\;/8R:8NP/^''4(R&G'U]/+MNK1M/TM+J-+-*0&VE_TD.L4!=NQAE_ M*!^6;LA-MQ_5*8A%[^B]F8T= X5BVZ)<+=L^/ZZ>40HM;JA+Q& P39:'Z 7=%O@7K-F].1_G9E/? ML3#.1")V!U>(EI/(W8:]J(PBBT'DQN +RBCJMF0(#5$060JBLS$J"K94PVZJ M72O-S2'?3(%[R:Z>T4/J%>ORR5(.NRGW=)FLJL.W*4"2)?6Q..:YTY0%&1[S MM'=TW!NMW\+=$UN _($>&ELBX5%.;-A2 [NIN!)ZP4"Q3\,J!4_5%* MY4^G>HL1/")&L,4('@TCN(L1,M 78PL1/ I$B(4(&0DBS^BIRY[+)48/&@:(=_3YM?RZ_H7*'<\42-C6J/+?!T:SK#]8US=:Y-47V8W0IL14 MES$S#)'E /-^*X3^?5-^Y&W_;;#\#U!+ P04 " !$@6E3A+._+R@% !_ M& &0 'AL+W=O.,^@GE*>]Z:1X=R^G$Y&KF*?L7J(L3Q(J?]ZP6&RO>[BW?_&- MKR.E7_2GDPU=LP>FOF_N)3SU*Y20)RS-N$B19*OKWB?\\=8=:(-BQ _.MEGM M'NFE+(5XT@]?PNN>HQFQF 5*0U"X/+,9BV.-!#S^+D%[U9S:L'Z_1U\4BX?% M+&G&9B+^@XBAD*YK'ZIO8?F;E@GR-%X@X*_ZB[6ZL/^BA(,^42$IC M8)#P='>E+Z4C:@;NN,. E ;DR(#@#@.W-'#/-?!* ^]< [\T\,\U&)0&@W,- MAJ7!L C6SKM%:.94T>E$BBV2>C2@Z9LBOH4U1(2G.A4?E(1?.=BIZ4V>P9LL M0S.1+'E*=7YDZ.V<*/S]88[>OGEWQV,&"TM9()(-7%+5@CNSXSZPS15R'8U+<(G;@C(_ M'\7I1OGU(EP6%^%R:T>9LP!0L 6E#QE2I0FITH04L&XG;!9(OBG40ZS0/FLL MR&Z%[!;(7@?R3*2*IVM( A1 ZO&0R3()@US*CMS800X*2"VVSU,\Q,-)_[D> MM',&W;8,PN-1->A@25ZU).^52TI%^J%[6;=>@XPW(.U<_(J+;^<246"B-_&* M:9PS'<&@@V-;]N]F\&NT_",W+OP&\P]C;]Q.?5!1'UBI_PGD) ^>T%?T MPY)HPPIN>.$4'E7((RO1^UP&$91#= ]T69M&CAKN(2XT"^W^&5?3CNVAC04L M88UH^!?4"6@/5*L^CQO1ZYP9.Z9J.*=2W.0,BE@<0D,0/+76!Z=! '<2J)4M M;/;)DO MRI*&_D&V\G93(A[$I8.&D5)LU]+33GF/%EQFZ@2UIBAZ3J>3C"IBNRP:)R7[ M!@"<5#4#K4R\AI.\#AI&$+%=$3\E(H?P;(!*8IV[J6FXVPM&U+!=UR>3HQZI"H$5UL5]U7-0XEYD$M M:Q*V#SKD:]0:GY#K_U^)9[@IY@WRS2'X>(6+ED'CKA424Q2(O2@\LB!*>4#C MV@:'KP;X8GUF*2Q64;EFK6$AS1I!1HVXG!IU2-N4$F(O)=4G4& ^@;0\_/?Z M,BMGLL1G09HEJ',SD%I[;B] ]5X)1/51 O$(TNM8V@[A36$A[H5[)V+* K&7 M!1#$ -C3=;$;(A&'NI/8>[FUI3F!Z#M7CO.+C9PI%L1>+#X?T]$W=!DSG2!< MA*WL[)"8H 2V?&3UGBDGY/PFN19XM14V>%,-R*6;9F($G)QHFU\1>#OBZ< ; MM29VM7Y5X.V0Q#L=>->(K6L7VZ/ W]$7GN2)#=H(HHLO_;%OA,JU"]4%JN"\ MG&+04>(.F=7.(>S-\^7*P-QM.55H5+-RT%G?1:Y14]>N?4=I\;N*H,^=[1HB M]!NG2QYSQ9DUF$8=7?_2B6*$S;4+V^N;";>E,VYQ_XE1.]K]VLFJ/IJ_@UDY MM)@Q6X&9@4 !D !X;"]W;W)K&ULG53+;MLP$/P50L@A 5I3+UM-( OPHX\< AAQTYYI:2T1 MH4B5I*/D[TM2LNJDC@KT8G')G9V9-9=I*^2CJ@ T>JX95W.OTKJYP5CE%=1$ M340#W)SLA:R)-J$LL6HDD,*!:H9#WY_AFE#N9:G;V\@L%0?-*(>-1.I0UT2^ M+(&)=NX%WG'CGI:5MALX2QM2PA;T0[.1)L)#E8+6P!45'$G8S[U%<+.:VGR7 M\(-"JT[6R#K9"?%H@]MB[OE6$##(M:U S.<)5L"8+61D_.IK>@.E!9ZNC]6_ M.._&RXXH6 GVDQ:ZFGN?/%3 GAR8OA?M-^C].(&Y8,K]HK;+31(/Y0>E1=V# MC8*:\NY+GOL^G !,G?. L >$;P'Q.X"H!T3.:*?,V5H33;)4BA9)FVVJV87K MC4,;-Y3;?W&KI3FE!J>SKT(4+64,$5Z@6ZX)+^F. 5HH!5JACVA(N%R#)I2I M*[/YL%VCRXLK=($H1]\K<5 &KE*LC2);%^<]^[)C#]]AOT9W@NM*H<^\@.(U M'ALG@YWP:&<9CA;<0C-!D?\!A7X8G-&S&H>O(3?PP,']$3G1T-W(U8O^J[LC M!/% $#N"^!\$YUK?(6<.:8?Y*0OC>):$*7XZ[O!%HT;EIW09O3%R B>O ]^2S5;F ]9\ML,;R(+ MDJ:Y)N7'/Y7226TS%VP_OVJ/BN!5,(]8D 5+_TQ6"\DRRIAY4&6T/(?/U>): DH/7H!5 F@KH [(.!4 M LY8"VXEX(ZUX%4"WE@!OQ+PB]R7R2HRO<02SV><'0#/T4I;_E"4JY!6"4YH M/K/N)5=?$R4GY[\QMCHD:0HP78%;*C'=)(\I 5="$"G &;@OIQQ@:[!@V0[3 MEU\$2!H@+H$?ET3B)!6?E,CW^R7X^.$3^*!PX&'+]D(I%S-+*G]SJU9<^79= M^H8&?'/ 5T;E5H ;NB(KC?S2+!\:Y"V5ISI9Z#59U\BH\)[LSH%C_PJ0C:#& MG\5X<5L7SL]9O_DYZY%9?$EB)0YUXD>Y=.J)YQ3ZG %]44(32$;L!5QO94ZF9DJ<8OU.1=^6D. MIWY@>S/KJ5VI<;!( PL"F.?O21.,5P?C&8.YBN-]MD^Q5)E3D7"9_(OS-JV+ MI]3DM3PX\T/;MCOQC(-%&ICGN7 @'K^.QS?&\\ D3G7.^SUS4.6O5XQQL$@# M0S 8M9=OYO?1=";+Z[;JU5?$W2\+NJFKPHZ M;5U'P4[K8*?F2G&\4CL;M>LI^.*1]QO[D=ZPUAN^0S. =D-Z]FG:0:6G,[<< MOU.2<;!("U/K3%\4V.)P>+*&4*DZ6L,.ZDVR<;!(!T.>CP8B0DU$Z&TMH9)K M&YQZ_7J,044:5 C1=,#WAMB@8_1]4>S:"%<;[[0H@]@F.],J@0V+0?<]UDE# M--#,-./729\9H!TZ-NP69APNTN(0&F).V% --'/-_UHJ?<8XM(-N *-@D0[F>D.< AM2@69669(G=<+=J8H\ MD'A+6]Y8=BIRSA8I(,Y:&AC@QI:0:>C M%:3C"^C;W;4R$A?I<,@;[,ZH81;T1F9!?39PG##L;C;'P:(*UMY_.5-[.D", MJ"$79":7WQD]B]4YG$AU]-YP0C)"I8E<4$,NZ#W(!37D@DY$+JA/!GYOJ1@Q MQQXV9(%.1Q9(U]R[3AHQQTXVS1^]L?FC_A' [W9^,Z;TR&K=+JEMS::X!Q0@ MSLM5GO?KT?JN\:JX8>N,7\.+!=2,+^'%37F3V*@O+S:_8KY)J I62M3]GF@ M4L?+N\+R1;)=<;?UR*3:&ULC971;MHP%(9?Q8IVT4JT<1)"0@5(%-JMTCI5I=TT3;LPY$"L.G%FF]+N MZ6<[:9 Z@T$O!2CGTJSNA)[Y;92,%E!*RDLD8#GTQL'%),!&8'=\ MI;"16V-D4IES_F0F-]G0P\81,%@H$X+HVS-,@#$32?OXU03U6J81;H_?HE_; MY'4RRF!)UDS=\\TG:!**3;P%9])>T:;9BSVT6$O%BT:L M'12TK._DI2G$EB#H[A&$C2#\7T'4""*;:.W,IC4EBHP&@F^0,+MU-#.PM;%J MG0TMS6N<*:&?4JU3HX^<9QO*&")EAFY*15: MK04@>*GT*]!S4G"AZ&]B7X=9+26@DRDH0ID\U=+'V12=?#A%'Q MT4/.UU)# MY,!7VK>A^XO&XV7M,=SC<0;5.8IP!X4X#!SRR6'Y%!9:'E@Y_EONZVJU)0O; MDH4V7K0GWC4MJ8*SS_KS MT8_Q7"JAO^>?!\Q%K;G(FNON,;>G1)>UJF=5YM=^'G63.![XSPY6MV5UC[%" M%ZM6Q5NLH(]QX(;%+2P^!HM"=?R (D@2__P5--W'L"X,DP/\X\[>ZKCGR;HE8 MT5(B!DLMQ.>)3DW4IT@]4;RRC7C.E6[K=ICKDQ>$V:"?+SE7;Q/3V]NS?/0' M4$L#!!0 ( $2!:5-,S<&K#@, +\* 9 >&PO=V]R:W-H965T4T@J0"JP;4CM5I5T?ICV8Y))8 M=>S,-M#^^UT[$&@'Z1XJ7B!V?,Z]]]@^N=VE5,\Z S#D)>="][S,F.+2]W6< M04[UJ2Q X)N95#DU.%2IKPL%-'&@G/M1$+3]G#+A];MN[D[UNW)N.!-PIXB> MYSE5KP/@AF11$P:SG7867 MP[!M 6[%3P9+O?5,;"E3*9_M8)STO,!F!!QB8RDH_BU@")Q;)LSCSXK4JV): MX/;SFOW:%8_%3*F&H>1/+#%9S^MX)($9G7-S+Y??8570F>6+)=?NERQ7:P./ MQ'-M9+X"8P8Y$^4_?5D)L05 GMV : 6(W@-:>P#-%:#I"BTSXGVLLRHV6A<[B&H))U"< MDF;PA41!%.[(9_C_\* FG6:E?=/Q-??P7:.,!AHW>(YW:?_K!M>3L8%<_ZZ) MUJJBM5RTUIYHX[R@3.$--$3.<&>J<-2%V[4])6';$5H_6/2Q[,6V8'4KWF1Y M5F5Y5IOE@Z()'C T,7 M@:JZ^CM51IU:JJ&S$E!X?3FU!JHS5M017U3$%P<0-@PV?A5\CK0?\'0^E#;< M\M"PEFL$"_P>%BC \29D%RFKW7$T88X.H2X&T,*FY\D;CU/ZV-Q-[85UOO6 M#RD:L?VM5@"O>^HZ)$UB M.1>F_%!6LU47=N5ZCW?S ]N=N19C0U.V=K=4I4QHPF&&E,'I.8JLRFZI'!A9 MN(9C*@UZCGO,L,,$91?@^YF49CVP :J>M?\74$L#!!0 ( $2!:5-IQ&PO=V]R:W-H965T@T$L4QG(VV"F53 Q#^CN(J+SE"<3ZSH:+B"H] M%%M#)@)HD).BT""FZ1H19?%@/LWGUF(^Y:D*60QK@60:153\N(>0'V8#/#A. M?&;;G AF W,;$40@J\R$U3_[6$!89A9TNOX7AH=5#XSXNGUT;J7B]=B MGJF$!0__9H':S0:C 0I@0]-0?>:'/Z 4Y&3V?![*_!<="JSK#)"?2L6CDJQ7 M$+&X^*"'Y#(T-I:=I&G*V?K +,XVUE/2NB[3//4?"WT)A7JQPU:AS16B,8! M6GU/6:)WCT+OEZ H"^4']!%]?5JB]^\^H'>(Q>C+CJ=28^744'H5F2W#+SW> M%Q[)%8\6^L1CM9-H%0<0M/"7W?QQ!]_0ZJL0D&,([DFGP2=(;I%EWB!B$MRR MGD5_NMDFY]>\KW[-N]=-7X*OZ;B-?A9+J]I.5F[/>M5V^N=1P]&#@DC^V^', MKIS9N3/[BK-'D'*"[GP_C=*0*@C0$G1Y]1DMBI;V?1=QH=C/?*)MJQ8.W-Q! M5H3W\X_$&IHZ%/O3%/:#>2TP[!#;JF!G,IU*IM,I\PM7-$1)%=FDBBP<(WN# M8E!M^@K+SLF*L.N.K0MYO5!>"VJ$S6&[.+<2YW:*.\L8O.B&*:%-B-MP3L:7 M\5^XC?ACMY'+IJ61KG,#C):IO$46-98[NAL _(:X*&[C5] MXTK?N%L?CY)4@9#Y0[8&P9(=""VXJF0=Q0N;=>.WSQFIJRXQWR)GI=6S=PN+6.Y% MTOK!O!;8R!J1BZP9)\>Z",0V/X!+'?HT5L4K>35;'?+O\J/MQ?P]GBQPR_P2 M3U;%$;XV7WQ1^$3%EL52M_B-=F7>#O4&$\4AO1@HGN2'RF>N]!$UO]P!#4!D M 'U_P[DZ#C('U:>2^7]02P,$% @ 1(%I4R1L9M\G P 7 P !D !X M;"]W;W)K&ULM5=A3]LP$/TK5K0/( T2)VW3HK82 MM$*;!!*BP#Z;]-I8.'&QG99)^_&SG30I- D=@R\TCN]>WSW?O9KAAHLG&0,H M])*P5(Z<6*G5F>O**(:$R%.^@E3O++A(B-)+L73E2@"9VZ2$N;[G]=R$T-09 M#^V[&S$>\DPQFL*-0#)+$B)^7P#CFY&#G>V+6[J,E7GACH.7\RBY_SD>,91L @4@:" MZ(\U3( Q@Z1Y/!>@3OF=)G'W>8M^:8O7Q3P2"1/.?M&YBD=.WT%S6)",J5N^ M^0%%05V#%W$F[5^T*6(]!T695#PIDC6#A*;Y)WDIA-A)P)V&!+](\ ]-"(J$ MP!::,[-E38DBXZ'@&R1,M$8S#U8;FZVKH:DYQID2>I?J/#6^)%2@!\(R0-= M9"9 GY%")\ANK.V&45L?690)0=.E48U*=#0%12B3QSKV?C9%1]^.T3=$4W07 M\TR2="Z'KM($S=>X44'F(B?C-Y"9P>H4!=YWY'L^KDF?M*=/(=+IV*9[K]-= M+4NIC5]JXUN\H 'OBI)'RJBB(,]:X((2+K!PG0:X"4^5UL_(&W$]!W,0Q+:R M$5:_K=,K1^Q91#.1ZS$.<3ATU[NJU 3A0;\,>D6V4Y+M?(QLRM.39L*3'+6[ MPZ73\^NI=$LJW58JM]O.:SF#7HG5:SW2$:W% M6\S\^,(]-3 ._>Z;\]N/\CMAIUZT?DFO_QF].RCA!I_>NX/]XO=[MR:HL7>Q M5YF:]R7=6\ >U+YXQV)Q*YL[K@@S1&HYU=HD/D2[NJA>SVN@6[D>]@^;-_0' M7<$:&,(M'80K^\/!?\X>KMP)OV-/ATP?WC>CNO&K"6N>/URY%C[0MDH9@[;2 M*P?#[19VX&3CRLCP.T[V@=G&-::BK%?E5-E\HOK*WP4>N]-W2 M/L;Z^@_"!.C]!>=JNS 7S/(?BO%?4$L#!!0 ( $2!:5.4Q=+CN@( ",& M 9 >&PO=V]R:W-H965TH#ZW$ MFA!*NE6 5-I5ZP12!6OW4/7!20[BU;$SVX'VW^_L0,HVRO9"?/9]WWUW9Q^# MM=+/ID"T\%(*:89!86UU$88F*[!DYE15*.EDH73)+)EZ&9I*(\L]J!1A'$5) M6#(N@]' []WIT4#55G")=QI,799,OXY1J/4PZ ;;C1E?%M9MA*-!Q98X1WM? MW6FRPI8EYR5*PY4$C8MA<-F]&"?.WSL\<%R;G36X3%*EGIUQFP^#R E"@9EU M#(P^*[Q"(1P1R?BYX0S:D ZXN]ZRW_C<*9>4&;Q2XCO/;3$,/@:0XX+5PL[4 M^@MN\ND[ODP)XW]AO?&- LAJ8U6Y 9."DLOFRUXV==@!Q-UW /$&$'O=32"O M\II9-AIHM0;MO(G-+7RJ'DWBN'1-F5M-IYQP=G3#N(8')FJ$*3)3:Z2*6_@ M,R5=_RS=? \35:QH4Y(=@$5RB@1ZMQ;2B6,7"ERI1+ MYIK0(4-:+IM4 MA]DFMW&36_Q.;I]@2M$* Y]ECOGO^)#JU!8KWA9K'!\DG&-U"KVH W$4=^_G MUW!\='* MM?VH.=I>__L0:S;0C57\(,LUIKJAR,F>&F _=2I0;UBJ4" MX596M74^2F:$;BKZ.*$X<&NQ-$\'5)ZU*L^\RK-W5(Z98#)#8!:^,EG3"X9N M4XE]G6FX$L_E!L-JU$V2:!"N]BCHMPKZ!Q7*7!4UQU,Z!SA=* MV:WA K3_"Z-?4$L#!!0 ( $2!:5-J#/<_DP, #H- 9 >&PO=V]R M:W-H965T;)*Z'^>>0UY1XYW2CR8' ML.1[(:29!+FUFX]A:-(<"F;.U08D/EDI73"+4[T.S48#R[Q3(<(XB@9AP;@, MIF._=JNG8U5:P27<:F+*HF#Z:09"[28!#?8+=WR=6[<03L<;MH9[L%\WMQIG M81,EXP5(PY4D&E:3X))^G-.1<_ 6#QQVYF!,7"E+I1[=Y"J;!)%#! )2ZT(P M_-O"'(1PD1#'MSIHT.1TCH?C??1/OG@L9LD,S)7X@V40UP[Q"X>8GG!( M:H?$%UHA\V4MF&73L58[HITU1G,#SXWWQFJX=#+>6XU/.?K9Z2?&-7E@H@1R M \R4&E C2WXAEUG&'=%,D"M9;1='^_L%6,:%^4#>$2[)EUR5ALG,C$.+:%S, M,*TSSZK,\8G,(W*CI,T-^55FD#WW#[&*II1X7\HL[@QX#YMSDD1G)(YB^O5^ M0=Z_^W##!2"'$H[@FW>'6T"*X:@/%]7A.E F#>&)#YO\D/ S@V\GH?7 M.P%O5AI<,8;,5;'DTHM^AA-I,:7;&3@T/ -=/_E<%DO0Y/<5^0)I+GF*^Z4A MG?Q-N@2855#Z'HKK-]MI;QQNCZ#O-^C[G>@;MCJ8Q!F]1J&$#;]A9ZIR9 MG,"WDF^90%V.'L JPN" 7TJ'<;_AN#H&KZWBWO"$$!<-NHM_)P1N@6O8@B"T MH^91$W7T%B6A4=M,HY\6I0[1_X$J1\Q.RT(/VCW]K\*X4XH'] E?*_H1+PZK M$ONYI\SB"QO?B1ME^,M:GJ>/V_3QFU2P[*OC:+.X?6#U' MV#9HVMVA%]RDJL1.C"T8NFINFR;MOTE1VDY,!YTE>X!;?TGA4*6*XCO<-3(C'S@Q+XSD,^GKIJ:ALDO7B3I+>]EH[^!])'K[O4 MZ 7CX<'MM "]]I=V0_PFKBZJS6KS87#IK\-A:UY]5=PPO>;2$ $K=(W.AYA8 M5Q?U:F+5QM]UE\KBS=D/<_RX >T,\/E**;N?N 3-Y]+T'U!+ P04 " !$ M@6E3EZ7U08 # "2# &0 'AL+W=O?&+)4J\YQX>ZAY>3W;:?+=K $>>I5!VFJR=JS^EJ2W6()D=Z!H4 MOJFTDW!/_%*66G_W@YMRFF2>$0@HG(=@>-G"'(3P2,CCGQ8TZ7+ZP,/[/?J7 ML'AII<):2$BFV$>]2[WZ%=T-CC%5K8\$MVS=SQ*"'%QCHM MVV!D(+EJKNRY%>(@(*$&)*._DCS+LZ]/"_+^W8J[/RJOI(C&XRRF*STP%EI%.D///0> M8:O%EJL5F1LHN2-?6,$%=R^Q#+T!T;,X$.TMB,8]Z/-J96#%'*IJN"IXC4[$ MI-XH=U39!NSBL.3'V?&*I[W]T+C_W&^<=4R57L23N>W-]_QC;B]ZPZ%D.&$O!\736+J/:+6 (S%KL! M[!+ 8HO +&&^RGPI'CN-KU_)D[]B7+1W+AJWKEMP2,IS;H2/@?8F1L_B8GGO M8GG<8?8'^U(;C/6?3<%J%/M'4VC$;,'^7U0_?+7I0?_GN_4[/*.YLM@P5!B4 M#2[Q&S9- ]P,G*Y#2[C4#AO,<+O&/PU@_ 1\7VGM]@/?979_0V;_ 5!+ P04 M " !$@6E3R Q><;D# #Q#0 &0 'AL+W=O&C;%XCM\SS'C\_QRQGMN/@NUP */><9DV-OK=3FRO=ENH:< MR [? -,C2RYRHG13K'RY$4 6!2C/_# (8C\GE'F34='W("8COE499? @D-SF M.1$O-Y#QW=C#WFO')[I:*]/A3T8;LH)'4%\V#T*W_)IE07-@DG*&!"S'WC6^ MFN&N 106_U#8R8-O9*3,.?]N&G>+L1>8&4$&J3(41/\]P2UDF6'2\_A1D7JU M3P,\_'YE?U^(UV+F1,(MS_ZE"[4>>P,/+6!)MIGZQ' ^%Q OP+TBV"5JUN$)B&*3$:"[Y PUIK-?!3Q+= Z(I295'Q40H]2 MC5.3.Y;R'-!G\HPN$E"$9O(2O4-?'A-T\>82O4&4H<]KOI6$+>3(5]JE ?II M17]3TH]S]SP!-(:'CA"$=6I%Q5\T<]3[^M' M/8;N%.3RFX.Y6S-W"^:NFUEIYHW@3]2H>C?MRT2MI6@RC&3:-IVP@/^[W:J*&U5VOM.;5.ETLHCO-"KB *;$K='.&P M$P9_V7:#&Q?A#K;B$C=N,.Q$5MS4C<-19W",:RQ:7"]:["2Z9FQ+,OH?+! T MUF\.#)94V98P;B=+%!PE2](VT@D5V"/]3 2EG*?"H2PWKFPS\Z M7VDX MBWG_L$#,P>Q*FH'+8UOF2HO_+JWKD^NBU?Y4?\-OKK%EOX$ M7TW+ZF-/7Q9#]T2L*),H@Z5V%73Z^HH097U1-A3?%,_;.5?ZL5Q\KG5-!L(8 MZ/$EY^JU81S45=[D?U!+ P04 " !$@6E3L/\*;!H$ !P#P &0 'AL M+W=O$3XV#$,<'T^3Q >>(W],C)O+.CK(<"3ED>Y,?&4:)(N69Z5B6;^8H)<9L MHN8V;#:AAX/HIPP9Y,CVN,M%B_'#9,C MLU%)TAP3GE("&-Y-C6_VP]I6!(7X,\4GWKH&92JOE+Z5@W4R-:PR(ISA6)02 M2/Z]XT><9:62C..O6M1HGED2V]=G]2>5O$SF%7'\2+.?:2(.4R,T0()WJ,C$ M#WI:X3HAK]2+:<;5+SC56,L <<$%S6NRC"!/2?6//FHC6@2IHRT ,@R\++%": M\:_@#KQL%^#+S5=P TS R[L!@21*<:/BK87XTP#>E.8U#SMFAN3,HN,7'>^!:M\"Q M'%L3S^,P_;>"#-(7P_3OB$FZ?96^'!^\I:$_C0]>1W\>'[R.OOI_SJ__<^X7 MA> VKXJK]-PK>K\7.69(4/8P( 8;,:C$X#4QN8^E)*8YUKTB%==7W'*[>I\% MD0,GYGN[[OJ@.]OQ_/ 2MNC#/!]VM)8:4&AYEZ"G/@A:0>=QSWV0 Z%U"5KU M0;9E=4!K#AV5W&M M50N"2.]KT!@1#!JQ2+.B;%L WNUD'P/HKO+@KNQ$$H!.B.EW@Z 73M0KA64? MY >VV\E?H^1 IY-]'Q18/M3G'C:YA_^N")*S&>/*(.ROB!_TRT #@[[G=5[E ME0;FN1X,.D9HU4)XY?6*&BNB02OFB*FXBB;"N6!+NU**6Q%8-UWJW6I M!753UH(ZK\=:"[I2];;UJWVR/J][6>#C4J[%/LE9C^HFK4=UL]:CPBMIM[I& M>U3)@W/)GWM!S@OTFF%0R.Y+&B%H_';Q";@%^"/."MF:@1VC>?6JR,%RLP4Q MRN(B0^4A2&N>W2M9Z/<^%1I4Y'11*YV6V]N!-*C :Z$J\\Q6]RT[A+TZNG&Y M$Q1$5-U%,]L<#[^I0U%G?FX_/-N:^55YG%3=_B_YZBPJ&ZQ]2CC(\$X^RKH/ M9*BL.MY5 T&/JO=_I4*>)-3E01Z),2L!\OZ.4G$>E ]H#MFS?P!02P,$% M @ 1(%I4^9?*U,V P 2PL !D !X;"]W;W)K&ULS59-;^(P$/TK5J256JDE<8!"*T"BL*NMM!\(VNYAM0>3#,1J8J>V4\K^ M^K5-"*D*AL,>VD,3)WYOWKR9#.ZMN'B2"8!"KUG*9-]+E,IO?%]&"61$-G@. M3+]9<)$1I9=BZ]C;/IC29:+, W_0R\D29J >\HG0*[]BB6D&3%+.D(!%WQOBFS%N&X#= M\4AA)6OWR*0RY_S)+.[BOA<819!"I P%T9<7&$&:&B:MX[DD]:J8!EB_W[)_ ML"KM?[0J]P8>B@JI>%:" MM8*,LLV5O)9&U "X=0 0EH#P5$"S!#1/!;1*0,LZLTG%^C FB@QZ@J^0,+LU MF[FQ9EJT3I\R4_>9$OHMU3@UF"D>/5W>:N=B-.*9;B=);$'.QJ (3>4YND0R M(0+D]D(9ND]X(0F+9<]76H2A\J,RX.TF8'@@X# 7#82O+U 8A'@/?.2&SR!O MH&9P$#X^ 1Y:..Z\A?O:NADT _W7 M\U_V:&A7&MI.#?5DH[HIY*TILK8O+TTAQI0+1!@K2*K[.=(34X)I['?Y(*)7 M* =A:JH'H4E:CT^I=/=3MC2A,[[%[4O>G46[$02?'!6YJMRX.M*'N+/MOR-= MUZDH.Q^CZ[J5H.Y_[+IQ]UW7A2'NAON[[KK2<.W4< \B,PIL!^V;7FXX#M : MB) .-W"PF]R!^PLPHQOQW!3%R5C[+< ?H^1X-U^Q>\ ^@E3F.]-?(.5['3]" MT#KN^&X.XZ:3:ZK%"!HIG?;&_ =&E41GT]F#/'=%V U6W/H@%=C-6>P>42=4 MP$W@J(!?.[B88^9W(I:4293"0E,%C8YF%IN3VV:A>&[/,G.N],G(WB;ZM O" M;-#O%YRK[<(&PO=V]R:W-H965T$QQKHS2QD&U[ M5HII-EG,];U[OIBS7"8T(_<9[O"6/ M1#[M[[D:635*3%.2"G(#OZR05QCH&3\H.8C6-2A"63/V7 R^QM<3 MNV!$$A+) @*KOQ>R(DE2("D>_U2@D]IG8=B^?D?_30>O@EEC058L^4ECN;N> M!!,0DPW.$_G #K^3*J!9@1>Q1.A?<*CFVA,0Y4*RM#)6#%*:E?_XM4I$R\#Q M!PQ098#&&CB5@:,#+9GIL&ZQQ(LY9P? B]D*K;C0N='6*AJ:%5;^#\EDA,$W$!SH %Q YS(@#- MP%-&I;ALW?AKQW*!LUC=//LPGEM2$2_<6U%%;HF'+ -^*X7UX3IUIBNQG0',+_G4DBUNC3; M@C79TBS35SC!643 OV P)NFA,ZOIS,QTRL# EN-, MJM(V$9AU"?BVW^_?J_U[H_R35\(C*HXP\#H,KJ /[7X*?DW!'T5!2?V&T&-) M\+L4D _[&00U@V!T3=Q5I3&B((*>@G"=L.92ODE]LP;+)JP9AR.7;:_:C$J9 M9."%"&GD&W:8N-#Q^HE N]%E^UH=,4L2S 78*]G2*;A0N6B4L37A.54=J47"%OT''L:S@;X-3(,C^AP1WA.9>CV,)RB M8(!@(\QPG#(WLG0JP5F7H#^%0QELE!L>D>Y6-9*/JG4J4Z^/J?])T*I9(PNV MZ0)P7!OH2-JIP?C=8* W10,\FUX!CS2+'KT[E6+0R:0S]88JM^D-,#1*X4T< MTX(C3D!,190PD9OW8Z@1>V06^X[*/I#B$ZRHO97:N'*U^\Z5VS_H1B7E;Z+R M<=$7^!$O/G@K3($+TG(WC (0X[?^C>HXJ/ ="KH]4!^ST?0QFN^5DBR4!7U5I M4?5%'H$?.,G))6 M[3M??F[%^LWKC:9TZ+4E(8 A'-A]H*:;(7,W&TOUHTX/ M\^Q^:SB!$_KN)RFNYHV.IVE^R-S\#/'T;#G[8^A^KO@SSQGH$ZAI>\C<]HS4 MVEO0?E9>-V/A#-F?N['5.JE("=_J QP!(I9GLCRTJ._6AT0W^FC$:J:7)TS? M,%?U*4!"-LK4GOHJ);P\M"D'DNWUN<>:2;QB3[X/"07UT MMO@/4$L#!!0 ( $2!:5.9UW;L)0, +,( 9 >&PO=V]R:W-H965T MC>7:6K%BW7VX?5 M/IAD(%8=.V<;V/[W-W;2;$I3= _WL"_$'L]\_N:'9Y@^RZT3A+-)R7:X1OM8KC3MP@8EXP5*PY4$ MC=MI,.]_7/8C9^ U_N9X-*TU.%H(VFD3FEOXV'AK\H9+E\:UU73*R<[.UE:E3]<+"D0&2U50=1CFXWL- M\RSC;LD$<%D5C#NXO$/+N#!7I/*XOH/+BRNX@!!,SC0:4H5'R:WYT!+\E:N] M83(CX87;/W A",I,0DLN.")A6M-=5'3C=^B.X4%)FQOX)#/,7MN'Y'KC?_SB M_R(^"[C&L@=)] 'B*.YW\%G^=_/H#)VD24?B\9+W\%S,KC=OTS'7FLD=T@.R ML'F&MMZ*/7OQ_,AT!M_^)$BXMUB8[V<(#1I" T]H\ ZASWMK+*6.RYV+N?ML MF& RQ:[D55A#C^4:R&'6'PR2\20\=% 8-A2&9RE\]4^1'&4'U-1:8$>AL) Q MB[!E7,.!B3W")156IH1@VD")NBJ_JRZ6U76C-LNX-QHV+*O$O]6*>X-N3VX: M3V[.>G(OK>;4 =.*W"J ?MZX=1KU3;AU:;:57Y&X;G,@7;B+[ ML?(3IAKG5 P[JEP0N"7(J'=+E'0U(:N-5:4?,AME:63Y94[_*E [!3K?*F5? M-NZ"YG_*[%]02P,$% @ 1(%I4R'%:0W] @ . H !D !X;"]W;W)K M&ULU59+;^(P$/XKHT@KM5(A#RA]")"@#^T>D%#1 M=@^K/9AD(!9.G+5-@7^_8P<"U39II=U++XD]]GSSS2.3Z6^D6ND4T< V$[D> M>*DQQ:WOZSC%C.FV+#"GDX54&3.T54M?%PI9XI0RX4=!T/,SQG-OV'>RJ1KV MY=H(GN-4@5YG&5.[,0JY&7BA=Q \\65JK, ?]@NVQ!F:[\54T8:ZY MS$'A8N"-PMMQV+$*[L8SQXT^68-U92[ERFZ^)0,OL(Q08&PL!*/7"]ZA$!:) M>/S>@WJ53:MXNCZ@/SKGR9DYTW@GQ0^>F'3@77N0X(*MA7F2FZ^X=^C2XL52 M:/>$S?YNX$&\UD9F>V5BD/&\?+/M/A G"E&O1B':*T2.=VG(L;QGA@W[2FY MV=N$9A?.5:=-Y'ANLS(SBDXYZ9GAS,AXU1J37PG8+):WV??*D@$%Q %4=B UZD"U'%XG3J\E"ELS?\. MT$@IEB^1*M3 ? >G]Z9LY\2C#5/)!3PRKN"9B37"2%/YNQ!J8'D"$S2I3*20 MRQW\',VU452FOQIH=RO:74>[6T/[B>L5Y7"A$('G!A5J XH9A+,"54SLZ)L[ MO[ EQ;-U]E;BF@T$[5[PI8'H947T\O\09=LZHLT&PG;82+17$>TUXCQL"^HD ME-T7*:@"!#>[C\>R&;H;O&PO=V]R:W-H965TT#YVT!C A M+U42J>E>/VRKFK7[[, E6 6;V2;II/WX&4-)N@"KD@]@8]_S/'?V76ZV%_)1 M)8@:GK*4J[F3:)U?N:Z*$LRH&H@"M!%5E&Y>\EIF(_=WSG^<,=VR:Z_. N9CG=X@KU?7XK MSCX58,Z#6=I>#Q^1O]HG3?.K*G"&Y'^9+%.YL[$@1@WM$CU MG=A_QMHA*S 2J;)/V-=[/0>B0FF1U<9&0<9X]:9/=2".#((N U(;$*N[(K(J MWU--%S,I]B#+W0:M'%A7K;41QWAY*BLMS2HS=GJQTB)ZO%P:OV*X$9DY;$5M MN"[A#I66+-)F196[@.ZIC*LX,OT;+MZCIBQ5;U_NM8APSYE6<'&WNC?K*J$2 M%3 ./Q)1*,IC-7.U45]J<*-:Z;)22CJ43N&KX#I1\(''&+^T=XW7C>ODV?4E MZ05<83Z P'L'Q"/^&W!KF=6S!S]H0AM8_* #_UN1K5&"V,#J?Y##!G)H(8<= MD-\+K;0)'^-;6..6<6Y'-*4\PK:05G"AA2L3=+?PR:L%[$RHVWBGI[Q! MT'&LOG>H/%YO?ORT%=,P7^]0FG\ L!<+3!E#^$B9A >:%MB3-?Y1D?//SQNX M,(4I%FE*I8+<9*RM &_A#QR*0FNYJC@G1V$9#\8=%\(G!ZWD->EUMJH*W?>/ M9 7>8#+IT'6H9G[PBCP\6U9P*FLRF(Z]HU]'7?(/U='O+X]-\IZMW#Y"3I6Z1ZU!AG)K&R %D2BXKKJ$YFO39%U7K<5A M>]6A?:729(Z"%#?&U!N,C0)9-3W51(O<-AIKH4W;8H>):111EAO,^D8(_3PI M"9K6<_$74$L#!!0 ( $2!:5-"O]V+-P0 ,P/ 9 >&PO=V]R:W-H M965T4(MN2K.T#S<4FJ?GFS1G.=,?%BTPH5>@U2W-Y-TJ4 M*FXM2T8)S8B\X07-X");1*E#ZS9M" ;NJ3JN7@4L+,:+C'+:"X9 MSY&@Z[O11WS[@$,-,!3_,KJ31VND35EQ_J(W_\1W(UMK1%,:*:Z:B1J8''ZS?NGXSQ8,R*2#KGZ5<6J^1N%(Y03->D3-43W_U-:X-\ MS2_BJ32_:%?3VB,4E5+QK :#!AG+JW_R6COB" !\^@%.#7#: .\,P*T!;@O@ MN&< 7@WP?E2"7P.,Z59ENW'<@B@RFPJ^0T)3 S>],-XW:/ 7RW6B+)6 KPQP M:K94/'JYO@=7QVC.,\@_24P$KU'U:64^1<>?Z*M>4W2QH(JP5%X"\?-R@2X^ M7*(/B.7H2\)+2?)83BT%.FI)5E3K:X2B1[RF,8]^,4P?C* MM\ WC8.<-P?=.X,,E[2X0:Y]A1S;P3WZS'\<;O>9\WO2'WY9^HDSW"9;7,// M/<G1(L>(@?;]BG50Y?*]0/<$)U8[S?6 M^X/6/^>"1GR3L^]@^*\XH6+O'RD5A).VZ@N_H_HIU8GN0:-[,*C[5U.@:7Q- MME1 PT$%%8S'B,,6[1(6):C\&?,@RZA91\ 4*8Y6%!W@??=J6#^,]I0(-$99 M52T"%).]'$C9<6/X>)#Q$Y5*,*.EJ9_H.6=P+RZ>EL_RBWDJD]Z 6.*2L=N4H@#7BA.*K3J Q[%1QT7OT<(L7,0Z/RA,EHS]D^JG]LJD?,>*@<[K3+3QVKB MNZTZVD/E!?Z92!ZZ%G:'LYBD%/(,7L(O5+%\@^!M4C^NJ'XT%P47@[$]-"SL MO4ML#ST"#S>)WXAMMSU@SW';L>U2N;;?CFT/T=CKQ+9+%0:3,[$]-!H\7,G_ MHCETF-2$E,3P0F909XB>/H;\>RCG>/PN 3W4=QS^J8"&W3*(PZ =T"X5QG;G MMG:I L_VVA'MD>@XXU9(K:/I!.[;QHR%$LPJF-EHQ144 [-,8-RF M0A/ ]S7GZFVC!30#_.P_4$L#!!0 ( $2!:5/\C)ECA , 8, 9 M>&PO=V]R:W-H965TP M#<0W=($&,.)N^U#T@99HBXA(JB05)T4_OD-*T4J)H@VZ?=@7B:3FS)RY:#C3 MDU3W.J74P"//A)YYJ3'YM>_K.*6?NK.MFD]E83(FZ%:!+C@GZFE!,WF:>:'W?'#'CJFQ!_Y\FI,CW5'S M)=\JW/FUEH1Q*C23 A0]S+R;\'H3.H"3^(W1DVZLP;JRE_+>;CXG,R^PC&A& M8V-5$'P]T"7-,JL)>?Q5*?5JFQ;87#]KWSCGT9D]T70IL]]98M*9-_$@H0=2 M9.9.GGZFE4,CJR^6F79/.%6R@0=QH8WD%1@9<";*-WFL M$ H)YN0%0!HO<" M!A5@\!(P? ,PK ##]UH858#1>RV,*\#8Q;X,EHOTBA@RGRIY F6E49M=N'0Y M- :8"5M9.Z/P*T.^,C._/%YB;!):28\%JXE)^#FN>9_*)4G RL"U4G*(< M;#,BX..*&L(R_0D%O^Q6\/'#)] I450#$_!K*@M-1*+/X$-K/_4-DK:F_;@B MN"@)1F\0#.%6"I-J6(N$)AWX93]^\"W\NA]_U8/W,=AUQ*/GB"^B7H6W1%W M(#R#*(C"+G_ZX3N:(SQX$[YZ/SSHBL;W6=_\9^NM6 [JZATX?8.W]-F*.]^_ MKMX;I8@X4FR!!O9/T)3;DB=W?',B*H$_?D&5\-E0KO_L(32L"0T=H6'O[U0: MBIN$Z*-=TZY\EQK'3J.]"![FP\EP,O4?FEE]+12.PZNVT+I#* J#H"VU>2TU M&(W#6JCE]ZCV>]3KMRV'WH;1$]MQ;6/\8R3[LB9TV>LTDN!HWGE[!DN2,T.R MTKR&.ZJI>D *>/O#IC"%0LM:%T3$756P*$V-FED)&JEK$9S4!"?]U=B(1*L: M23MBNB&75Q$C-F)G0(0HT"DF8IQ;,)?8S*LV3PJ32L7^1@S!'>14Q0C$<03D M 7"(T08[/A-':]K&J<1U^=[O17@1!#_UI.NJCL95KYY;\LAXP>$?^)YJ#8.O M-VOP8]1KV+CLP_^]/54J6UWE94]9?T.HI.LWQA1.U=$-E!J)%,*4/;\^K8?6 M&S>JO3A?AM>KL.-\;8=<-Q9]55].R'CI'IG0D-$#F@HN+O%'4^7066Z,S-V0 MM)<&1RZW3'%0I\H*X/>#E.9Y8PW4H__\7U!+ P04 " !$@6E3F847UI(& M "/(0 &0 'AL+W=O*H"QVGWXUQF'0FX_S>@DW&-!51F) % SR-8\R>/Y*(/EUTW,[+ MC?MPO1'9C>YDO,5K\D#$XW;!Y%6W1 G"F"0\I E@9'71^>"^GWN#S"&W^"@G7+,S''__0OZ M51Z\#&:).;FDT;]A(#87G6$'!&2%TTC*:%Y/OT]Q?[JPPR8[4@V#RTU#ZB#,E H<1?PO.0!?P#6:$@S !CTDH^+N]&U\W-.4X">3-L\KUN"LDN6R(KJ^( M?"R(0 .1.U^< SAX!Z #W6*$!I#+%B!._PC(U [R8 MC*BS%JC.Z%34*SOJ ]F> ^2U 4^)+.FY!QQY=5Q[-\GS"\GS"'-\SX%\SG @2-,U^X=C+';/, MN9NX V")A2),UB (N4_31( 5D2 M[%E)?I5U#D_9,^ 9VU([&0DY3TE@(#SMU:GT7*_?S*5?DGST !/*SR.9R -D:W;8SF1XPJT0_+Z(AM3.;U\WZTLYP7%U'UV9.&X7; M9LV'+9FX>]6>:T7\.XV7A$G1! %^Y@H:" JV*?,WLC5I3/-V3 \\$\RL_'2V M<^WIKA*Q/)99>@9W<1(N4_Y2G=XD/DFR1@PL(IQ(HX=TRNUK;= M5Y=1U*_JT66#C8L,JZEUUCTFM.$.BSQNG\3V2*'6.&C7N(7:"F K5X(8ZJ%K M!;)?$"%SZH!:#Z%=NVX6=[8H]JITNV[IG?[2'.?E75-I!^MU^V@T,-3M4.L5 MM.M5RWEL*-?[(S0R3:26+VB7KX/AMW(R\IDX5EI-84-M;IH,+770+G4?UFM& MUMEF38B0E*A/2&!J8::P7FW#'H+&W:7U#]JUZN1N:JH *P>W;V:BE0[:E:Y] MKS152-4M,C12T)(&[9)6.R(^37:$-:O<%-85##H(]0PLM(A!NXA=%H.&RRC; MJ@>58\&H>%J,9:YJ)-90$AIZ;JV!R*Z!KVW,%.RQSNRH696V%D]D%\__T5 I MY",=52NK^3&K:G1:TI%=TE_1,*&&1S*-'5-;PWD+PVIX>P]ZCN2+5[5-J*'T M;0RPG=W\N%TU/)V/D#T?E=(K)>1[IQ(+LB>6$/(\::FK4,P6F;/\"]E;-TUKF_:Y2^,JKE\*'B:[!!+KU:KF[]PUM]E.% M+YBMPX2#B*RDGW,^D#/)BF__BPM!M_F7MDLJ!(WSMQN"Y;)G!O+S%:7BY2+[ M'KC\#<;D/U!+ P04 " !$@6E3 !VJ2-$" "Y!P &0 'AL+W=OPDE)#H4@K$ < M-E/KP;V?Q]K>&+P2V(F3,=*9K!E[TY-OZ=1R-!!02*3V@-7K'>9 J7:D,/XV M/JTVI!:>CH_>OYC<52YK+&#.Z"^2RFQJQ19*88,K*I_8[BLT^83:7\*H,$^T MJVVCT$)))23+&[$BR$E1O_&^J<.)P TN"+Q&X/VOP&\$ODFT)C-I+;#$LPEG M.\2UM?*F!Z8V1JVR(87NXDIR]94HG9S-69X3J=HB!<)%BN:LD*380I$0$.AZ M 1(3*F[0)_2R6J#KJQMTA4B!GC-6"64O)K94%-J7G301'^N(WH6(*RCOD._< M(L_QW![Y?%B^@$3)72-W/LIME7M; *\M@&?\^1?\/20)KR!%WPE>$TJD2OL6 MS2O.54G0[X>UD%S]:G\&(OEM)-]$"BY$>H4B91R5^&#*W5>YVD%D'.C]]SX+ MO3"8V.^G]>D:^?$X:HT^L 4M6S#(]CDO*3L H$3_#T+OT?I_6+.B$M +6WL, M3SAB?^2=P7:-7-8Q1'%WH>MUSQ(-7Q3U1++2G+5K)M7);8:9 MNEN!:P/U?<.8/$[T\=W>UK-_4$L#!!0 ( $2!:5,?R(Q6L@, %0- 9 M >&PO=V]R:W-H965T'H_/@@ G6 LZQ3=/]]CLVE(1+(=KST ;,S/Q_'LR, MO3AR\5,FE"KTDJ6Y7%J)4H=;VY9A0C,B;_B!YO DYB(C"F[%WI8'04EDG++4 M=AUG8F>$Y=9J8<8>Q&K!"Y6RG#X()(LL(^+7/4WY<6EAZW7@D>T3I0?LU>) M]O2)JF^'!P%W=ATE8AG-)>,Y$C1>6G?X=HLGVL%8?&?T*,^ND9[*CO.?^N9C MM+0<3413&BH=@L#/,UW3--61@.._*JA5:VK'\^O7Z'^;R<-D=D32-4]_L$@E M2VMFH8C&I$C5(S]^H-6$ ATOY*DT_]&QLG4L%!92\:QR!H*,Y>4O>:D2<>8 MD"^6ZX7RI 0\9>"G5FN>94S!FU<2D3Q":YXKEN]I'C(JT7OTY4 %T2/H M$X7W(='5ABK"4GD-#[\];=#5NVOT#K$O40\$\][(UYK"43H3DH*R^6?3V"(/BJ:R7\'9/Q:QCFE<09^ 7.EVH,55(BB(FB_ANB\]9<3@;.HX"-KY&3%JP$YKV.D8K-L'-.UH M!9X_;0&- 9C70; S(ZP.:=;3\V:R=H1&C!M"\!IJ/ ?E]0//NVW!PT (: M,6H 8>?4&)PQI*"WE#L=N?D,MY!&C)I(9[T*CR%->I%P1\V;S-I(PT9-)/>$ MY XB?4TH[,]B144OF-O1G$[:7(,V3:Q3R<;>,!97).TE\KJ+Q7=Q^Z,;-6MR MG6H\'B[R7^*8A=3L-"+8KD!ASSNI:X8^%6%\:17^HS:%3Y47#Y?>1V!&M.Q6 MO2F>=%H,#MI]:-UGU>U6/5;>O&VU[;$*O$Y7L\]VB1D5>[,]ERCD1:[*W4 ] M6A\![LS&MS5^CV_7N&=\HX\,9E=Z"E^>-SX3L6>YA$X8@Y1S,X57*J,%ZH/4ZC=02P,$% @ 1(%I4Q6" MLO9K P 0L !D !X;"]W;W)K&ULG5;;;MLX M$/T50NA# FPC41?+#FP#B;-%"[1%T+3=9T8>6T1%44M2<0OTXSND%%E;78+N MBR52G',9DN-9GZ3ZIG, 0[Z+HM0;+S>FNO9]G>4@F+Z2%93XY2"58 :'ZNCK M2@';NR!1^&$0+'S!>.EMUV[N7FW7LC8%+^%>$5T+P=2/6RCD:>-1[WGB$S_F MQD[XVW7%CO YDMUKW#D=RA[+J#47)9$P6'CW=#K'5W8 +?B*X>3[KT3:^51 MRF]V\&Z_\0*K" K(C(5@^'B"'12%14(=_[:@7L=I _OOS^AOG'DT\\@T[&3Q M#]^;?.,M/;*' ZL+\TF>WD)K*+%XF2RT^R6G9FT:>B2KM9&B#48%@I?-DWUO M$]$+B(*)@+ -"'\+".E$0-0&1,YHH\S9NF.&;==*GHBRJQ'-OKC.<6:[DT)P@_MB-&'EGNQD:7AYA#+CH,EKLF,5-ZP@[P%SIDL^YK#6&Z;5O4(R%]+.6^+8A#B>(5^0#4N6:_%WN8?_?>!]-=$[" M9R>WX2S@ U17) K^(F$0TB\/=^3BU24[*@!K;D3?;A[N#C*$HPXN:.%F5$9= MOB,'&_V??,_@QQU^[/#C"?R/M7@$1>2!%';'2).V@4TUJ178,\M%+4C6'J1&5L5^N!S,.%YT/(M9QW:[R046-*PJ MMFYA-HG)T2D1[H!=CKEM(!<]MXLT'O>;=CK2EW2$8U3I(+$AC2>XEAW7\B6N M:(QK.>"BJVAB'U<=U^HEKGB,:S7@2E;+<2H:G*M1\!)9,EI+@J&S-)A@Z]4^ M.LOV6>*)'*6C0W.)3?DH7WCF"V?YWH/6U^1&R!KOHP+\W]7@KC_64@,X&KV9 M+6A?S.LPG=A5>BY$-)H5<]^PDZ^LJ,$6C!*;AC^YK:VZ:)BJ,%Y,J#N7,3I? MQW9] 9KH7"I#,$=B5,.P>.$=.Q^/IMZWJ_J7GB8TF5!Z+G,T^1.EA;3U9TIH M,A :T6#QN]!D(#2*XZD-/]=).E\HIT_[L!J.;*'?:S($J*/KO33)[&%N^HUN MMNOO;EQ7XY^7-\WA!Z:.O,1Y/]C @ : 8 !D !X M;"]W;W)K&ULM57?3]LP$/Y7K(@'D+8F36EI41II ME$U#@@G1P:1->W#3:V/A'YE];>&_Y^R$J&.TV\-X27SVW7???;;/V<;8>U<" M('M04KMQ5")6IW'LBA(4=QU3@::5A;&*(YEV&;O* I^'("7C-$D&L>)"1WD6 MYJYMGID52J'AVC*W4HK;QS.09C..NM'SQ(U8EN@GXCRK^!*F@+?5M24K;E'F M0H%VPFAF83&./G1/ST;>/SC<"=BXK3'SE_R,_BG43K7,N(.)D=_$',MQ-(S8'!9\)?'&;#Y#4T_? MXQ5&NO!EF\8WB5BQ=:+ \IPCSS-K M-LQZ;T+S@U!JB"9R0OM-F:*E54%QF$^,4@))972,ZSF;&(U"+T$7 AQ[_\(^ M/ ?D0KHC6OE.,584]^P+NV,'3&AV):0DI5T6(S'S^''1L#BK6:0[6$RAZK!> M\HZE2=J]G9ZSPX.CWU%BJJLM+FV+2P-L;P?LI7'N104_+LF'72 H]W-/AEZ; MH1;[ZG?X+O>*M MQN%[\!4=5Z$=D["@J*1S0J?$UGVM-M!4H9?,#%)G"L.2G@*PWH'6%\;@L^'; M4_NXY$]02P,$% @ 1(%I4^=< D@$ @ Q00 !D !X;"]W;W)K&ULC93;;MLP#(9?1?#5!@R1XR0[%(Z!IMVP7G0(&FR[ M5FS:%JJ#)]%Q]_;3P?$R(,EZ8XL2^?&G3#H?M'FV+0"2%RF472RF9 M^;T!H8=U,D^.&T^\:=%OT"+O6 ,[P._=UCB+3I2*2U"6:T4,U.OD=GZS67G_ MX/"#PV!/UL17LM?ZV1L/U3I)O2 04*(G,/#I^DC_ M$FIWM>R9A3LM?O(*VW7R,2$5U*P7^*2'KS#6$P266MCP)$/T7:0)*7N+6H[! M3H'D*K[9RW@/)P'9_$) -@9D07=,%%3>,V1%;O1 C/=V-+\(I89H)XXK_U%V M:-PI=W%8[*!Q5XSD0<4/[&_JS3T@X\*^S2FZ%-Z1EB-N$W'9!=PG\J@5MI9\ M5A54_\93)VW2EQWU;;*KP!UT,[)(WY$LS>8VBKV"74QE+P)V\?JRKU"7$W49 MJ,L+U&^]W(,ANB9N:(RCJH:OS&^@TP;9 M7L!1@#VG8/5?!?2DM228)@R0):7N%<8NFW:G&;V-K?G7/0[X(S,-5Y8(J%UH M.OO@\IHX--% W85&W6MT;1^6K?O/@/$.[KS6&H^&3S#]N8H_4$L#!!0 ( M $2!:5,[5;X-. , -<+ 9 >&PO=V]R:W-H965T1CJ),6,ZI;,4=B3 MN509-7:K%J'.%=*9!V4\C*.H%V:4B6 T\.^NU6@@"\.9P&L%NL@RJI[>(I>K M84""YQ>7I.\ _L87 MABN]M087RE3*>[>YF@V#R'F$'!/C**A]+'&,G#LFZ\=#21I4-AUP>_W,_LX' M;X.94HUCR;^RF4F'P6D ,YS3@IL;N7J/94!=QY=(KOTOK,J[40!)H8W,2K#U M(&-B_:2/I1!; -+9 XA+0'PHH%T"VH<".B6@AL=XXSC I+;]=6X[W6/XD MERV(SEY!',6D!CYNAG].3 OB_E[XQ0'PJ+<7?MD,GV#>@G94!P]M!JHTQ%4: M8L_7/C -\.V#O0%7!C/]O8&_7?&W/7]G7[BY^RPU+!05!F=U :\)NI[ M9?E MB/2C_B!0/B<"38M-%P^%,P\P95([*%M M('#-J6@(OUOYT3V*O+V*O_>/\HY[N_*2>G'[E=%^H]$;U$:QQ-J#M4VVEH]ZHDE.UW]PYI[TG4IHN1/[4Q%##A MU&!-5IKDV#0LTCF.X)M61+J-,8RI3B&7RL])?[?5FT]!([E89R2&SUL1DJZGRHM=W? ME:+[>Q,(MV8B-_)^I&K!;%ESG%M4U.I;U]5ZBEQOC,S]F#25Q@Y=?IG:R1N5 MNV#/YU*:YXV;O*I9?O034$L#!!0 ( $2!:5/-X-K"- , .X3 - M>&POFP-T^IT/2C=^3P-&-5W=VUGF\N-FU MGU? !0F]I%<'D%YV.C@Q@!AY?!CY/FZ,^GJ;NJWS][KZ7N>6*^:8')30GGPJ MXK"N]VB0*;DI>T2J!B2,15\HCEX933G8N7,/3!,E5 Z,+;?K)0N M6,IG!W?=#%JQYLFY5+J*[2*X[TF]? =8ST @%Z(1V"/.,!H4U!BFY:V=5(LK MXPLHJ,:X MV[31JWB#@C\I\VEATY'5''J%W6F6\64U7V:- (R]B[/3HA"KCX+/9,Y<\@<' M' WHVB^8*\V?;31HE:DU,$V")Z8-G[8M/S4M'MC2K-MIF>&:>R>H^>_N\XQ) MIJEHB[:]?\R[_&K%T?6_DES]5MD5[-58OWR/7>35*8B,3T'D2?1D__A%1LGQ M:ZR/=49HR^>(X8^D- MG=@_9K;X[?J4970AS$,##LEF_)6E?)$GS:H[V(AZU6;\!=+KQLUAU<;B,F5+ MEH[KJ9Y-JF%@!S9J?8'#+G);77X$\W&8'P$,BX,IP'R<%Q;G?\JGC^;C,$Q; MWXOT49\^ZN.\?,BX^F!Q_#Z)O?R9)DD4Q3&VH^.Q5\$8V[2>*O-A8'/+ J8+T#\?UQ MH*?\/E$$5<6T84\PCB0)AD O^GLTCI'=B>'CKP_VE$11DO@1P/P*H@A#X&G$ M$4P!:,"0**K>@SOOHW#]G@HW_^$;_0)02P,$% @ 1(%I4Y>*NQS M$P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ M0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'B8_W]G ]&)ATSW)J_E8')MV1K=(YM6Y3[P;FH!G- MS)XQFXM!,!R.!SGELO?E\ZFOM1[X&\JRU'(EW3 MWJD)H3(C"VE=D,A2UEVYMN69NK]>9O596X?KQ5!?I!C '+<)63D07X (#_@0LZ9234_E/N)VI*;PG#)C/'@ M/@)P'W'A;JCAIL1::V9H@< ML[6N)"!38YQJ?4K()2-DF;B\ MYN"RCM>_R%K0DYV_%_Q0_LZ'A%PR0I;)5\HU>:*B8.2.45-H]CL=))$1LD5N ME=SU78J5DSG;-*@@:XR0M;&4J:0_?")($2-D1RRHEB[[-&3--$GV5#?& M$<@+(V0Q)%:ESWTW K.L'$I<3^9=4@JI883LAHIOKT3&M/FC>CSMJ\\&&6&$ MK 07KYS;LI&I!H^9F]BXJ\QDRID_R@60* )D421L5\T]VB<< :2) %D32;$Q M['M1TBV.911],'"6@6P&,"%I),PF?.'U,2!,!LB;@+*4QXX7<$2"[ TQ3R)6/"8DD0!9)>Z+2>F]"/@F0??+> MQ*V(D%8"9*V<4_(;J%_D@,02(HL%M%_CO@PAR83(DCDS\R57"^M&,(>'$V-6T\Y@/S/C%^1@23HPL'/#> M;"X\0\*)D84#8"[R@S]MC"'AQ,C":2N/MPZ;,;B,C[V.#Y4*FM<<,E",O9(/ M5C3Z/B8DH1A90G T_5E/#$DH1I80C.G/>F)(0C&VA-ZOC[0^0&-(06-L!?V^ M4M*.".EG7+_X=GK;+6-;+EFV_++U!+ P04 " !$@6E3]4F2S $" !>) &@ 'AL+U]R M96QS+W=O3ENT]"MW[IM3KI3_F=AO-OMU_MVO_QSS:?K'X/3>CV]EE_/4+%ZZ<9NG59,^#M?=)5TV MW"R>7E?-^/0J3:H=I!"D]8,,@JQ^D$.0UP\*"(KZ02T$M?6#;B'HMG[0 M'03=U0^ZAZ#[^D&R1!F7!$DSK FT%N1:"+P6!%L(Q!8D6PC,%D1;"-069%L( MW!:$6PCD%J1;".P6Q%L(]%;46PGT5M1;"?36V<,V@=Z*>BN!WHIZ*X'>BGHK M@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WH9Z&X'>AGH;@=Z&>AN!WC9[64*@MZ'> M1J"WH=Y&H+>AWD:@MZ'>1J"WH=Y&H+>AWD:@MZ/>3J"WH]Y.H+>CWDZ@MZ/> M3J"WSUYV$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H':AW$.@=J'<0Z!VH M=Q#H':AW$.@=J'<0Z!VSCY4$>@?J'01Z!^H=!'H'ZAT$>@?J'01ZMZAW2Z!W MBWJW/ZEWF3X/N5Q[OM9X_9^D>CJ?FZ^7ORR_=LYNP@7G!+\3/?X%4$L#!!0 M ( $2!:5/63,"2X $ .,C 3 6T-O;G1E;G1?5'EP97-=+GAM;,W: MRT[#,! %T%^)LD6-ZU=YB+(!MM %/V"2"8V:Q)9MH/P]3@J50*6B*A)WTZBU M/7?BD&^?:IC0Q MK;.7OOJ6,OE(*-+)<4]8-BZK1UW914V?*Y2T>*X#R9*BR)8M<6FZ(G^Y-CNF':?/*C\\3H\[G,DP^F)2X7(QV;_*VX34^FCWX^&:5=4_3([7>^K]:MQ M'H&-C^/O^.N,M_4/[$. ]"%!^E @?6B0/F8@?9R"]'$&TL&UL M4$L! A0#% @ 1(%I4\"EMVKN *P( !$ ( !KP M &1O8U!R;W!S+V-O&UL4$L! A0#% @ 1(%I4YE&PO=V]R M:W-H965T&UL4$L! A0#% @ 1(%I4Q8H ,+!P /!P M !@ ("!D0T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4V35XZX$"P -D0 !@ ("! MPAX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M1(%I4WB&)4IJ!@ QPX !@ ("!4C8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M1(%I4PD(GJ73!@ 3!$ !D ("!S&, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4[#XI8HU#0 M/2D !D ("!5W< 'AL+W=O#@ &0 @('# MA >&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4U]DJ\[ @ +08 !D M ("!()0 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 1(%I4Q)>0JRJ @ AP8 !D ("!@*, 'AL M+W=O&PO=V]R:W-H965T6I !X;"]W;W)K&UL4$L! A0#% @ 1(%I M4Y$E?NC2 @ B08 !D ("! ZX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4_AZ+OGF! U \ M !D ("!-;@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4WU= @ K@8 !D M ("!Z<, 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 1(%I4X2SOR\H!0 ?Q@ !D ("!@L\ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4X=7 MN:O- @ UP< !D ("!.MP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4R1L9M\G P 7 P !D M ("!V^8 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 1(%I4Y>E]4& P D@P !D ("! M]/ 'AL+W=O<;D# #Q#0 &0 @(&K] >&PO=V]R:W-H965T&UL4$L! A0#% M @ 1(%I4^9?*U,V P 2PL !D ("![/P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 1(%I4_R,F6.$ P !@P !D M ("!KQ,! 'AL+W=O&PO=V]R M:W-H965T 0!X;"]W;W)K&UL M4$L! A0#% @ 1(%I4Q_(C%:R P 5 T !D ("!.R$! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M1(%I4^=< D@$ @ Q00 !D ("!8"L! 'AL+W=O&UL4$L! A0#% @ 1(%I4Y>*NQS $P( L M ( !:30! %]R96QS+RYR96QS4$L! A0#% @ 1(%I4T_Q&)>J! M?"@ \ ( !4C4! 'AL+W=O7!E&UL4$L%!@ 0 !% $4 VA( ',^ 0 $! end XML 74 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 75 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 76 FilingSummary.xml IDEA: XBRL DOCUMENT 3.21.2 html 218 397 1 false 55 0 false 8 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows Statements 7 false false R8.htm 10101 - Disclosure - Description of Business Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness Description of Business Notes 8 false false R9.htm 10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies Basis of Presentation and Summary of Significant Accounting Policies Notes 9 false false R10.htm 10301 - Disclosure - Revenue Sheet http://www.doubleverify.com/role/DisclosureRevenue Revenue Notes 10 false false R11.htm 10401 - Disclosure - Business Combinations Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinations Business Combinations Notes 11 false false R12.htm 10501 - Disclosure - Goodwill and Intangible Assets Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 12 false false R13.htm 10601 - Disclosure - Property, Plant and Equipment Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment Property, Plant and Equipment Notes 13 false false R14.htm 10701 - Disclosure - Fair Value Measurement Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurement Fair Value Measurement Notes 14 false false R15.htm 10801 - Disclosure - Long-term Debt Sheet http://www.doubleverify.com/role/DisclosureLongTermDebt Long-term Debt Notes 15 false false R16.htm 10901 - Disclosure - Income Tax Sheet http://www.doubleverify.com/role/DisclosureIncomeTax Income Tax Notes 16 false false R17.htm 11001 - Disclosure - Earnings Per Share Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShare Earnings Per Share Notes 17 false false R18.htm 11101 - Disclosure - Stock-Based Compensation Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 18 false false R19.htm 11201 - Disclosure - Stockholders' Equity Sheet http://www.doubleverify.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 19 false false R20.htm 11301 - Disclosure - Commitments and Contingencies Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 20 false false R21.htm 11401 - Disclosure - Segment Information Sheet http://www.doubleverify.com/role/DisclosureSegmentInformation Segment Information Notes 21 false false R22.htm 11501 - Disclosure - Subsequent Events Sheet http://www.doubleverify.com/role/DisclosureSubsequentEvents Subsequent Events Notes 22 false false R23.htm 20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies Basis of Presentation and Summary of Significant Accounting Policies (Policies) Policies http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies 23 false false R24.htm 30303 - Disclosure - Revenue (Tables) Sheet http://www.doubleverify.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.doubleverify.com/role/DisclosureRevenue 24 false false R25.htm 30403 - Disclosure - Business Combinations - (Tables) Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinationsTables Business Combinations - (Tables) Tables http://www.doubleverify.com/role/DisclosureBusinessCombinations 25 false false R26.htm 30503 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets 26 false false R27.htm 30603 - Disclosure - Property, Plant and Equipment (Tables) Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables Property, Plant and Equipment (Tables) Tables http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment 27 false false R28.htm 30703 - Disclosure - Fair Value Measurement (Tables) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables Fair Value Measurement (Tables) Tables http://www.doubleverify.com/role/DisclosureFairValueMeasurement 28 false false R29.htm 31003 - Disclosure - Earnings Per Share (Tables) Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShareTables Earnings Per Share (Tables) Tables http://www.doubleverify.com/role/DisclosureEarningsPerShare 29 false false R30.htm 31101 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.doubleverify.com/role/DisclosureStockBasedCompensation 30 false false R31.htm 31303 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies 31 false false R32.htm 40101 - Disclosure - Description of Business (Details) Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails Description of Business (Details) Details http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness 32 false false R33.htm 40201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details) Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails Basis of Presentation and Summary of Significant Accounting Policies (Details) Details http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies 33 false false R34.htm 40301 - Disclosure - Revenue (Details) Sheet http://www.doubleverify.com/role/DisclosureRevenueDetails Revenue (Details) Details http://www.doubleverify.com/role/DisclosureRevenueTables 34 false false R35.htm 40401 - Disclosure - Business Combinations - Meetrics GmbH (Details) Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails Business Combinations - Meetrics GmbH (Details) Details 35 false false R36.htm 40402 - Disclosure - Business Combinations (Details) Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails Business Combinations (Details) Details http://www.doubleverify.com/role/DisclosureBusinessCombinationsTables 36 false false R37.htm 40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 37 false false R38.htm 40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) Details 38 false false R39.htm 40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) Details 39 false false R40.htm 40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) Details 40 false false R41.htm 40601 - Disclosure - Property, Plant and Equipment (Details) Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails Property, Plant and Equipment (Details) Details http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables 41 false false R42.htm 40701 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails Fair Value Measurement - Fair value on a recurring basis (Details) Details 42 false false R43.htm 40702 - Disclosure - Fair Value Measurement - Rollforward of the fair value measurements (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails Fair Value Measurement - Rollforward of the fair value measurements (Details) Details 43 false false R44.htm 40703 - Disclosure - Fair Value Measurement - Additional Information (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails Fair Value Measurement - Additional Information (Details) Details 44 false false R45.htm 40801 - Disclosure - Long-term Debt (Details) Sheet http://www.doubleverify.com/role/DisclosureLongTermDebtDetails Long-term Debt (Details) Details http://www.doubleverify.com/role/DisclosureLongTermDebt 45 false false R46.htm 40901 - Disclosure - Income Tax (Details) Sheet http://www.doubleverify.com/role/DisclosureIncomeTaxDetails Income Tax (Details) Details http://www.doubleverify.com/role/DisclosureIncomeTax 46 false false R47.htm 41001 - Disclosure - Earnings Per Share (Details) Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails Earnings Per Share (Details) Details http://www.doubleverify.com/role/DisclosureEarningsPerShareTables 47 false false R48.htm 41101 - Disclosure - Stock-Based Compensation (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails Stock-Based Compensation (Details) Details http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables 48 false false R49.htm 41102 - Disclosure - Stock-Based Compensation - Stock option activity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock option activity (Details) Details 49 false false R50.htm 41103 - Disclosure - Stock-Based Compensation - Additional information (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-Based Compensation - Additional information (Details) Details 50 false false R51.htm 41104 - Disclosure - Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details) Details 51 false false R52.htm 41105 - Disclosure - Stock-Based Compensation - Restricted stock award activity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails Stock-Based Compensation - Restricted stock award activity (Details) Details 52 false false R53.htm 41106 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails Stock-Based Compensation - Stock-based compensation expense (Details) Details 53 false false R54.htm 41107 - Disclosure - Stock-Based Compensation - Employee Stock Purchase Plan (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails Stock-Based Compensation - Employee Stock Purchase Plan (Details) Details 54 false false R55.htm 41201 - Disclosure - Stockholders' Equity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.doubleverify.com/role/DisclosureStockholdersEquity 55 false false R56.htm 41301 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables 56 false false R57.htm 41302 - Disclosure - Commitments and Contingencies - Operating Leases (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails Commitments and Contingencies - Operating Leases (Details) Details 57 false false R58.htm 41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails Commitments and Contingencies - Capital Leases (Details) Details 58 false false R59.htm 41304 - Disclosure - Commitments and Contingencies - Contingencies (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails Commitments and Contingencies - Contingencies (Details) Details 59 false false R60.htm 41401 - Disclosure - Segment Information (Details) Sheet http://www.doubleverify.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.doubleverify.com/role/DisclosureSegmentInformation 60 false false R61.htm 41501 - Disclosure - Subsequent Events (Details) Sheet http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails Subsequent Events (Details) Details http://www.doubleverify.com/role/DisclosureSubsequentEvents 61 false false All Reports Book All Reports dv-20210930x10q.htm dv-20210930.xsd dv-20210930_cal.xml dv-20210930_def.xml dv-20210930_lab.xml dv-20210930_pre.xml dv-20210930xex31d1.htm dv-20210930xex31d2.htm dv-20210930xex32d1.htm dv-20210930xex32d2.htm http://xbrl.sec.gov/dei/2020-01-31 http://fasb.org/srt/2020-01-31 http://fasb.org/us-gaap/2020-01-31 true true JSON 79 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "dv-20210930x10q.htm": { "axisCustom": 0, "axisStandard": 22, "contextCount": 218, "dts": { "calculationLink": { "local": [ "dv-20210930_cal.xml" ] }, "definitionLink": { "local": [ "dv-20210930_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "dv-20210930x10q.htm" ] }, "labelLink": { "local": [ "dv-20210930_lab.xml" ] }, "presentationLink": { "local": [ "dv-20210930_pre.xml" ] }, "schema": { "local": [ "dv-20210930.xsd" ], "remote": [ "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", "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd" ] } }, "elementCount": 509, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 7, "http://xbrl.sec.gov/dei/2020-01-31": 6, "total": 13 }, "keyCustom": 37, "keyStandard": 360, "memberCustom": 21, "memberStandard": 34, "nsprefix": "dvh", "nsuri": "http://www.doubleverify.com/20210930", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Revenue", "role": "http://www.doubleverify.com/role/DisclosureRevenue", "shortName": "Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Business Combinations", "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinations", "shortName": "Business Combinations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Goodwill and Intangible Assets", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets", "shortName": "Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Property, Plant and Equipment", "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment", "shortName": "Property, Plant and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Fair Value Measurement", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurement", "shortName": "Fair Value Measurement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Long-term Debt", "role": "http://www.doubleverify.com/role/DisclosureLongTermDebt", "shortName": "Long-term Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Income Tax", "role": "http://www.doubleverify.com/role/DisclosureIncomeTax", "shortName": "Income Tax", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Earnings Per Share", "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShare", "shortName": "Earnings Per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Stock-Based Compensation", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Stockholders' Equity", "role": "http://www.doubleverify.com/role/DisclosureStockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_2IF6lKR3W0CVen6VSNtkTw", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Commitments and Contingencies", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Segment Information", "role": "http://www.doubleverify.com/role/DisclosureSegmentInformation", "shortName": "Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - Subsequent Events", "role": "http://www.doubleverify.com/role/DisclosureSubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Revenue (Tables)", "role": "http://www.doubleverify.com/role/DisclosureRevenueTables", "shortName": "Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Business Combinations - (Tables)", "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinationsTables", "shortName": "Business Combinations - (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Goodwill and Intangible Assets (Tables)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "shortName": "Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Property, Plant and Equipment (Tables)", "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables", "shortName": "Property, Plant and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Fair Value Measurement (Tables)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables", "shortName": "Fair Value Measurement (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - Earnings Per Share (Tables)", "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShareTables", "shortName": "Earnings Per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31101 - Disclosure - Stock-Based Compensation (Tables)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "shortName": "Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31303 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_KrMIBTz-EkqgkD3VMH-a8A", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Description of Business (Details)", "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "shortName": "Description of Business (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_KrMIBTz-EkqgkD3VMH-a8A", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_3_29_2021_F63sh-gskEK8054VNSjJaA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockParOrStatedValuePerShare", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_wcJ-ndCAzka8B_PW_7UxRA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details)", "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R34": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Revenue (Details)", "role": "http://www.doubleverify.com/role/DisclosureRevenueDetails", "shortName": "Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_2IF6lKR3W0CVen6VSNtkTw", "decimals": "-5", "lang": null, "name": "us-gaap:UnbilledReceivablesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Business Combinations - Meetrics GmbH (Details)", "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "shortName": "Business Combinations - Meetrics GmbH (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_8_31_2021_us-gaap_BusinessAcquisitionAxis_dvh_MeetricsGmbhMember_sYbZs1smKUSQowtH5B7PrQ", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40402 - Disclosure - Business Combinations (Details)", "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "shortName": "Business Combinations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_2_15_2019_To_2_15_2019_us-gaap_BusinessAcquisitionAxis_dvh_ZentrickNVMember_ina4c4GHgkqyjvVScYxmPQ", "decimals": "-5", "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-5", "lang": null, "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "shortName": "Goodwill and Intangible Assets - Summary of Company's intangible assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_2IF6lKR3W0CVen6VSNtkTw", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "shortName": "Goodwill and Intangible Assets - Estimated future expected amortization expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails", "shortName": "Goodwill and Intangible Assets - Weighted-average remaining useful life (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Property, Plant and Equipment (Details)", "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "shortName": "Property, Plant and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_2IF6lKR3W0CVen6VSNtkTw", "decimals": "-3", "lang": null, "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "shortName": "Fair Value Measurement - Fair value on a recurring basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_rb7gCvzUEkmL8z0FtCyJxg", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByLiabilityClassAxis_dvh_BusinessCombinationContingentConsiderationLiabilityMember_U_Ibt3PCeEGmdooIJCz_aQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - Fair Value Measurement - Rollforward of the fair value measurements (Details)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails", "shortName": "Fair Value Measurement - Rollforward of the fair value measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByLiabilityClassAxis_dvh_BusinessCombinationContingentConsiderationLiabilityMember_U_Ibt3PCeEGmdooIJCz_aQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "INF", "first": true, "lang": null, "name": "dvh:BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_Milestone_D8pzUDIqZUWsNQoi0Gq-og", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40703 - Disclosure - Fair Value Measurement - Additional Information (Details)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "shortName": "Fair Value Measurement - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "INF", "first": true, "lang": null, "name": "dvh:BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_Milestone_D8pzUDIqZUWsNQoi0Gq-og", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "1", "first": true, "lang": null, "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Long-term Debt (Details)", "role": "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "shortName": "Long-term Debt (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "1", "first": true, "lang": null, "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Income Tax (Details)", "role": "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "shortName": "Income Tax (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Earnings Per Share (Details)", "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "shortName": "Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_4_19_2021_us-gaap_PlanNameAxis_dvh_OmnibusEquityIncentivePlan2021Member_DvTzPQUzykiSxp6HpgjLdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Stock-Based Compensation (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "shortName": "Stock-Based Compensation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_4_19_2021_us-gaap_PlanNameAxis_dvh_OmnibusEquityIncentivePlan2021Member_DvTzPQUzykiSxp6HpgjLdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_2IF6lKR3W0CVen6VSNtkTw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - Stock-Based Compensation - Stock option activity (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "shortName": "Stock-Based Compensation - Stock option activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TAvFVsVc90Gkoud_ZzqZCw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember_8cwHSLS4dUih3BUu2KlSsQ", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41103 - Disclosure - Stock-Based Compensation - Additional information (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "shortName": "Stock-Based Compensation - Additional information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "2", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_wcJ-ndCAzka8B_PW_7UxRA", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41104 - Disclosure - Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "shortName": "Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_uoeODOy5F0WXx6-1nifPtQ", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8o9Z7xi1gEGEo4ji5cj7oA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41105 - Disclosure - Stock-Based Compensation - Restricted stock award activity (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "shortName": "Stock-Based Compensation - Restricted stock award activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8o9Z7xi1gEGEo4ji5cj7oA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41106 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "shortName": "Stock-Based Compensation - Stock-based compensation expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41107 - Disclosure - Stock-Based Compensation - Employee Stock Purchase Plan (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails", "shortName": "Stock-Based Compensation - Employee Stock Purchase Plan (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_3_31_2021_us-gaap_PlanNameAxis_dvh_EmployeeStockPurchasePlan2021Member_qqITlO2UhE2pS-LvyeZvlA", "decimals": "-3", "lang": null, "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Stockholders' Equity (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "shortName": "Stockholders' Equity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_4_23_2021_To_4_23_2021_AsOm7rtFUkKJkdL5FQGN5A", "decimals": "-3", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "dvh:AccruedVendorPaymentsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Commitments and Contingencies (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "dvh:AccruedVendorPaymentsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "dvh:ExpenseOnRecognitionOfCeaseUseLiability", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-5", "first": true, "lang": null, "name": "dvh:ExpenseOnRecognitionOfCeaseUseLiability", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41302 - Disclosure - Commitments and Contingencies - Operating Leases (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails", "shortName": "Commitments and Contingencies - Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "dvh:ExpenseOnRecognitionOfCeaseUseLiability", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_Xnd0Qatm9UiyAyhs3KjjMw", "decimals": "-5", "first": true, "lang": null, "name": "dvh:ExpenseOnRecognitionOfCeaseUseLiability", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "INF", "first": true, "lang": null, "name": "dvh:CapitalLeasesNumberOfEquipmentLeaseAgreements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_agreement_P_SvmyttxUuY9inqwnCVYg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails", "shortName": "Commitments and Contingencies - Capital Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "INF", "first": true, "lang": null, "name": "dvh:CapitalLeasesNumberOfEquipmentLeaseAgreements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_agreement_P_SvmyttxUuY9inqwnCVYg", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_us-gaap_BusinessAcquisitionAxis_dvh_ZentrickNVMember_RC1aBMAjzUuPla2dCFXp9g", "decimals": "-5", "first": true, "lang": null, "name": "dvh:BusinessCombinationPerformanceBasedDeferredPaymentsAccruedCompensationCost", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41304 - Disclosure - Commitments and Contingencies - Contingencies (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "shortName": "Commitments and Contingencies - Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_srt_RangeAxis_srt_MinimumMember_us-gaap_BusinessAcquisitionAxis_dvh_ZentrickNVMember_bme_U6XdrEWRuthLAPJdSg", "decimals": "-5", "lang": null, "name": "dvh:LossContingencyEstimatedPaymentToThirdParty", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "lang": null, "name": "us-gaap:ProvisionForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_9ToNr-w2dE6kEskYzF39gw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Segment Information (Details)", "role": "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails", "shortName": "Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_9ToNr-w2dE6kEskYzF39gw", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unitRef": "Unit_Standard_shares_lI26TvE3mE6-5dKuiEqVEA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - Subsequent Events (Details)", "role": "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_11_9_2021_To_11_9_2021_us-gaap_BusinessAcquisitionAxis_dvh_OutriggerMediaMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_Ap-Fc4H-L0STpPpZFMupCQ", "decimals": "-6", "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_H0scc82o5UubtJzcctIOOQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "As_Of_9_30_2020_mb_7HSoPr06O2UCShR89Xg", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_Vw0dL10C9kye2NaAh8ZuDA", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Description of Business", "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dv-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_ON_xjhtZy0it4HwgtIFLpA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 55, "tag": { "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" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "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" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r443" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r444" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address State Or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r445" ], "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" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r445" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r447" ], "lang": { "en-us": { "role": { "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.", "label": "Entity Ex Transition Period" } } }, "localname": "EntityExTransitionPeriod", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r445" ], "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" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "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" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r446" ], "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" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r445" ], "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" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r445" ], "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" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r445" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r445" ], "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" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r441" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r442" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "dvh_AccruedVendorPaymentsCurrent": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for vendor invoices received but not paid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Vendor Payments, Current", "terseLabel": "Vendor payments" } } }, "localname": "AccruedVendorPaymentsCurrent", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_AdvertisersDirectMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to advertises, direct.", "label": "Advertisers Direct [Member]", "terseLabel": "Advertiser - direct" } } }, "localname": "AdvertisersDirectMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "dvh_AdvertisersProgrammaticMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to advertisers programmatic.", "label": "Advertisers Programmatic [Member]", "terseLabel": "Advertiser - programmatic" } } }, "localname": "AdvertisersProgrammaticMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "dvh_AmortizationOfDebtIssuanceCosts": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of debt issuance cost incurred during the reporting period.", "label": "Amortization of Debt Issuance Costs", "terseLabel": "Amortization of debt issuance costs" } } }, "localname": "AmortizationOfDebtIssuanceCosts", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_AnnualizedEffectiveIncomeTaxExpenseBenefit": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Annualized income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Annualized Effective Income Tax Expense (Benefit)", "negatedLabel": "Annualized effective tax benefit" } } }, "localname": "AnnualizedEffectiveIncomeTaxExpenseBenefit", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "dvh_AnnualizedEffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Annualized percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Annualized Effective Income Tax Rate, Continuing Operations", "terseLabel": "Annualized effective tax rate" } } }, "localname": "AnnualizedEffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "percentItemType" }, "dvh_BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of presentation and principles of consolidation.", "label": "Basis Of Preparation And Principles Of Consolidation Policy [Text Block]", "terseLabel": "Basis of Preparation and Principles of Consolidation" } } }, "localname": "BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "dvh_BusinessCombinationAmountOfTechnicalMilestonePerTranche": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of technical milestone payment to be paid per tranche as the first component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Amount Of Technical Milestone Per Tranche", "terseLabel": "Amount per milestone" } } }, "localname": "BusinessCombinationAmountOfTechnicalMilestonePerTranche", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationContingentConsiderationLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to contingent consideration liability under business combination.", "label": "Business Combination Contingent Consideration Liability [Member]", "terseLabel": "Business Combination, Contingent Consideration Liability [Member]" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "dvh_BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of technical milestone relating to the contingent consideration whose fair value is estimated using situation-based modeling.", "label": "Business Combination, Contingent Consideration, Number Of Technical Milestone" } } }, "localname": "BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "integerItemType" }, "dvh_BusinessCombinationFirstTrancheOfHoldbackPaymentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining first tranche of holdback payments.", "label": "Business Combination First Tranche Of Holdback Payments [Member]", "terseLabel": "Tranche one" } } }, "localname": "BusinessCombinationFirstTrancheOfHoldbackPaymentsMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "dvh_BusinessCombinationHoldbackPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of consideration held back under the business combination arrangement.", "label": "Business Combination, Holdback Payments", "terseLabel": "Consideration held back" } } }, "localname": "BusinessCombinationHoldbackPayments", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationNetCashPurchasePrice": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of purchase price net of cash acquired.", "label": "Business Combination, Net Cash Purchase Price", "totalLabel": "Net cash purchase price" } } }, "localname": "BusinessCombinationNetCashPurchasePrice", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationNumberOfComponentForPerformanceBasedDeferredPayments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of component for performance based deferred payments.", "label": "Business Combination, Number Of Component For Performance Based Deferred Payments", "terseLabel": "Number of component" } } }, "localname": "BusinessCombinationNumberOfComponentForPerformanceBasedDeferredPayments", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "integerItemType" }, "dvh_BusinessCombinationNumberOfTechnicalMilestoneTranches": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of technical milestone tranches to be paid as the first component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Number Of Technical Milestone Tranches", "terseLabel": "Number of milestone" } } }, "localname": "BusinessCombinationNumberOfTechnicalMilestoneTranches", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "integerItemType" }, "dvh_BusinessCombinationPercentageOfHoldBackPayments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of holdback payments payable under the business combination.", "label": "Business Combination, Percentage Of Hold Back Payments", "terseLabel": "Percentage of holdback payments" } } }, "localname": "BusinessCombinationPercentageOfHoldBackPayments", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "percentItemType" }, "dvh_BusinessCombinationPerformanceBasedDeferredPaymentsAccruedCompensationCost": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of compensation cost under the performance based deferred payments as per the business combination arrangements.", "label": "Business Combination, Performance Based Deferred Payments, Accrued Compensation Cost", "terseLabel": "Technical milestone and revenue target" } } }, "localname": "BusinessCombinationPerformanceBasedDeferredPaymentsAccruedCompensationCost", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationPerformanceBasedDeferredPaymentsCompensationCostChargedToNetIncomeLoss": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of compensation cost under the performance based deferred payments charged to net income (loss) as per the business combination arrangements.", "label": "Business Combination, Performance Based Deferred Payments, Compensation Cost Charged To Net Income (Loss)", "terseLabel": "Business combination performance based deferred payment" } } }, "localname": "BusinessCombinationPerformanceBasedDeferredPaymentsCompensationCostChargedToNetIncomeLoss", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationPerformanceBasedDeferredPaymentsThresholdRevenueTargetPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Threshold amount of revenue target payments considered as the second component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Performance Based Deferred Payments, Threshold Revenue Target Payments", "terseLabel": "Performance based deferred payment, Second component" } } }, "localname": "BusinessCombinationPerformanceBasedDeferredPaymentsThresholdRevenueTargetPayments", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationPeriodAfterClosingDateInHoldbackPaymentsArePayable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period after the closing date in which the of holdback payments payable under the business combination.", "label": "Business Combination, Period After Closing Date In Holdback Payments Are Payable", "terseLabel": "Holdback payments payable period" } } }, "localname": "BusinessCombinationPeriodAfterClosingDateInHoldbackPaymentsArePayable", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "durationItemType" }, "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets including goodwill acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Including Goodwill", "totalLabel": "Total assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationSecondTrancheOfHoldbackPaymentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining second tranche of holdback payments.", "label": "Business Combination Second Tranche Of Holdback Payments [Member]", "terseLabel": "Tranche two" } } }, "localname": "BusinessCombinationSecondTrancheOfHoldbackPaymentsMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "dvh_BusinessCombinationThresholdPerformanceBasedDeferredPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Threshold performance based deferred payments payable under the business combination.", "label": "Business Combination, Threshold Performance Based Deferred Payments", "terseLabel": "Performance based deferred payment" } } }, "localname": "BusinessCombinationThresholdPerformanceBasedDeferredPayments", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationThresholdTechnicalMilestonePayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Threshold technical milestone payments considered as the first component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Threshold Technical Milestone Payments", "terseLabel": "Performance based deferred payment, First component" } } }, "localname": "BusinessCombinationThresholdTechnicalMilestonePayments", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_CapitalLeasesNumberOfEquipmentLeaseAgreements": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of equipment lease agreements entered in to as capital leases.", "label": "Capital Leases, Number Of Equipment Lease Agreements", "verboseLabel": "Number of lease agreement" } } }, "localname": "CapitalLeasesNumberOfEquipmentLeaseAgreements", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "integerItemType" }, "dvh_ConvertiblePreferredStockConversionRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Ratio applied to the conversion of preferred stock into common stock.", "label": "Convertible Preferred Stock, Conversion Ratio", "terseLabel": "Convertible preferred stock, conversion ratio" } } }, "localname": "ConvertiblePreferredStockConversionRatio", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "pureItemType" }, "dvh_DoubleverifyInc.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information relating to Double verify Inc.", "label": "Doubleverify Inc. [Member]", "terseLabel": "DoubleVerify Inc." } } }, "localname": "DoubleverifyInc.Member", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "domainItemType" }, "dvh_EmployeeStockPurchasePlan2021Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to 2021 Employee Stock Purchase Plan.", "label": "Employee Stock Purchase Plan2021 [Member]", "terseLabel": "2021 Employee Stock Purchase Plan" } } }, "localname": "EmployeeStockPurchasePlan2021Member", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails" ], "xbrltype": "domainItemType" }, "dvh_EquityIncentiveProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Equity Incentive Program.", "label": "Equity Incentive Program [Member]", "terseLabel": "2017 Equity Plan" } } }, "localname": "EquityIncentiveProgramMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "dvh_ExpenseOnRecognitionOfCeaseUseLiability": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The expense on recognition of a cease use liability related to unoccupied leased office space.", "label": "Expense on Recognition of Cease Use Liability", "terseLabel": "Expense on recognition of a cease use liability" } } }, "localname": "ExpenseOnRecognitionOfCeaseUseLiability", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_IncomeTaxLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Income Tax [Line Items]" } } }, "localname": "IncomeTaxLineItems", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "stringItemType" }, "dvh_LeikiMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Leiki Member.", "label": "Leiki [Member]", "terseLabel": "Leiki" } } }, "localname": "LeikiMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "domainItemType" }, "dvh_LineOfCreditFacilityMaximumTotalLeverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of maximum total leverage under the line of credit facility.", "label": "Line Of Credit Facility, Maximum Total Leverage Ratio", "terseLabel": "Maximum total net leverage ratio" } } }, "localname": "LineOfCreditFacilityMaximumTotalLeverageRatio", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "pureItemType" }, "dvh_LineOfCreditFacilityMinimumFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of minimum fixed charge coverage under the line of credit facility.", "label": "Line Of Credit Facility Minimum Fixed Charge Coverage Ratio", "terseLabel": "Minimum fixed charge coverage ratio" } } }, "localname": "LineOfCreditFacilityMinimumFixedChargeCoverageRatio", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "pureItemType" }, "dvh_LossContingencyEstimatedPaymentToThirdParty": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "If estimable, describe the payment that could be expected to be made.", "label": "Loss Contingency, Estimated Payment to Third Party", "terseLabel": "Estimate of possible payment" } } }, "localname": "LossContingencyEstimatedPaymentToThirdParty", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_MeasurementInputRevenueVolatilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input using the changes in revenue that occur in response to changes in the level of economic output.", "label": "Measurement Input Revenue Volatility [Member]", "terseLabel": "Revenue Volatility" } } }, "localname": "MeasurementInputRevenueVolatilityMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dvh_MeetricsGmbhMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Meetrics GmbH.", "label": "Meetrics Gmbh [Member]", "terseLabel": "Meetrics GmbH" } } }, "localname": "MeetricsGmbhMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "domainItemType" }, "dvh_MoneyMarketFundsAndTimeDepositsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to money market funds and time deposits.", "label": "Money Market Funds And Time Deposits [Member]", "terseLabel": "Money market funds and time deposits" } } }, "localname": "MoneyMarketFundsAndTimeDepositsMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dvh_OfferingCostIncurredButNotYetPaid": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for offering cost incurred.", "label": "Offering Cost Incurred But Not Yet Paid", "terseLabel": "Offering costs included in accounts payable and accrued expense" } } }, "localname": "OfferingCostIncurredButNotYetPaid", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_OmnibusEquityIncentivePlan2021Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Omnibus equity incentive plan.", "label": "Omnibus Equity Incentive Plan2021 [Member]", "terseLabel": "2021 Omnibus Equity Incentive Plan" } } }, "localname": "OmnibusEquityIncentivePlan2021Member", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "dvh_OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the office space and data center lease in United States, Israel, Belgium, Finland, Germany, UK, Spain, France, Brazil, Singapore and Australia.", "label": "Operating Lease Office Space And Data Center In Domestic And Foreign [Member]", "terseLabel": "Office and data center" } } }, "localname": "OperatingLeaseOfficeSpaceAndDataCenterInDomesticAndForeignMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "domainItemType" }, "dvh_OperatingLeasesFutureMinimumPaymentDueThereafter": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due after the sixth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payment, Due Thereafter", "terseLabel": "Thereafter" } } }, "localname": "OperatingLeasesFutureMinimumPaymentDueThereafter", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_OperatingLeasesFutureMinimumPaymentsDueInSixYears": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 4.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the sixth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Six Years", "terseLabel": "2026" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInSixYears", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_OutriggerMediaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Outrigger Media, doing business as Open Slate.", "label": "Outrigger Media [Member]", "terseLabel": "Open Slate" } } }, "localname": "OutriggerMediaMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "dvh_PaymentsOfClosingAdjustmentsRelatedToBusinessAcquisitions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the payments of closing adjustments on acquisition of a business.", "label": "Payments Of Closing Adjustments Related To Business Acquisitions", "terseLabel": "Closing adjustments" } } }, "localname": "PaymentsOfClosingAdjustmentsRelatedToBusinessAcquisitions", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_PerformanceAndMarketBasedSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting market and performance based targets.", "label": "Performance And Market Based Shares [Member]", "terseLabel": "Performance and Market Based Options" } } }, "localname": "PerformanceAndMarketBasedSharesMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dvh_ProceedsFromIssuanceOfCommonStockBeforeImpactOfUnderwritingFees": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Proceeds from issuance of common stock, before impact of underwriting fees.", "label": "Proceeds from Issuance of Common Stock, Before Impact of Underwriting Fees", "terseLabel": "Gross proceeds" } } }, "localname": "ProceedsFromIssuanceOfCommonStockBeforeImpactOfUnderwritingFees", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "dvh_ProvidenceViiU.s.HoldingsL.p.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Providence VII U.S. Holdings L.P.", "label": "Providence Vii U.s. Holdings L.p. [Member]", "terseLabel": "Providence" } } }, "localname": "ProvidenceViiU.s.HoldingsL.p.Member", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "dvh_ScheduleOfFiniteLivedIntangibleAssetsWeightedAverageUsefulLifeByMajorClassTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of weighted-average remaining useful life by major asset classes of finite lived intangible assets.", "label": "Schedule Of Finite Lived Intangible Assets, Weighted Average Useful Life By Major Class [Table Text Block]", "terseLabel": "Schedule of weighted-average remaining useful life" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsWeightedAverageUsefulLifeByMajorClassTableTextBlock", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "dvh_ScheduleOfIncomeTaxTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "n/a.", "label": "Schedule of Income Tax [Table]" } } }, "localname": "ScheduleOfIncomeTaxTable", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "stringItemType" }, "dvh_ShareBasedCompensationArrangementByShareBasedPaymentAwardAnnualIncreaseInSharesAuthorizedAsPercentageOfOutstandingCommonShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Annual increase in shares authorized as a percentage of outstanding shares of common stock on the last day of the immediately preceding fiscal year under the share based compensation plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Annual Increase In Shares Authorized As A Percentage Of Outstanding Common Shares", "terseLabel": "Share-based compensation arrangement by share-based payment award, annual increase in shares authorized as a percentage of outstanding common shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAnnualIncreaseInSharesAuthorizedAsPercentageOfOutstandingCommonShares", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails" ], "xbrltype": "percentItemType" }, "dvh_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherOptionsVestedInPeriodTotalGrantDateFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the total fair value of equity instruments other than options vested during the reporting period.", "label": "Share Based Compensation Arrangement By Share Based Payment Award, Equity Instruments Other Options, Vested In Period, Total Grant Date Fair Value", "terseLabel": "Share based compensation arrangement by share based payment award, equity instruments other options, vested in period, total grant date fair value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherOptionsVestedInPeriodTotalGrantDateFairValue", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "dvh_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVestOutstandingNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of outstanding equity instruments other than options expected to vest.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Expected to Vest, Outstanding, Number", "verboseLabel": "Expected to vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVestOutstandingNumber", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "dvh_StockOfferingCost": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of stock offering cost incurred during the period.", "label": "Stock Offering Cost", "terseLabel": "Stock offering cost", "verboseLabel": "Offering costs" } } }, "localname": "StockOfferingCost", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_StockRepurchasedDuringPeriodValueHeldInTreasury": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and is held in treasury.", "label": "Stock Repurchased During Period, Value Held in Treasury", "negatedLabel": "Shares repurchased for settlement of employee tax withholdings" } } }, "localname": "StockRepurchasedDuringPeriodValueHeldInTreasury", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "dvh_SupplySideCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to supply side customer.", "label": "Supply Side Customer [Member]", "terseLabel": "Supply - side customer" } } }, "localname": "SupplySideCustomerMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "dvh_TigerGlobalManagementLlcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Tiger Global Management LLC.", "label": "Tiger Global Management Llc [Member]", "terseLabel": "Tiger Global Management, LLC" } } }, "localname": "TigerGlobalManagementLlcMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "dvh_TreasuryStockReissuedUponConversionOfPreferredStockToCommonStock": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of treasury stock reissued upon the conversion of preferred stock to common stock.", "label": "Treasury Stock Reissued Upon Conversion Of Preferred Stock To Common Stock", "terseLabel": "Treasury stock reissued upon the conversion of Series A preferred stock to common stock" } } }, "localname": "TreasuryStockReissuedUponConversionOfPreferredStockToCommonStock", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_ZentrickMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Zentrick Member.", "label": "Zentrick [Member]", "terseLabel": "Zentrick" } } }, "localname": "ZentrickMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "domainItemType" }, "dvh_ZentrickNVMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Zentrick NV.", "label": "Zentrick N V [Member]", "terseLabel": "Zentrick N V" } } }, "localname": "ZentrickNVMember", "nsuri": "http://www.doubleverify.com/20210930", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r46", "r92" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r158", "r228", "r232", "r429" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r251", "r254", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r428", "r430" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r251", "r254", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r428", "r430" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r158", "r228", "r232", "r429" ], "lang": { "en-us": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r241", "r251", "r254", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r428", "r430" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r241", "r251", "r254", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r428", "r430" ], "lang": { "en-us": { "role": { "label": "Range [Member]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Repurchase Agreement Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r252" ], "lang": { "en-us": { "role": { "label": "Scenario Unspecified [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r197", "r252", "r384" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r32" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.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": "Trade payables" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r3", "r18", "r160", "r161" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "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", "verboseLabel": "Trade receivables, net of allowances for doubtful accounts of $5,246 and $7,049 as of September 30, 2021 and December 31, 2020 respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionExpense": { "auth_ref": [ "r191", "r192" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.", "label": "Accretion Expense", "terseLabel": "Accretion of acquisition liabilities" } } }, "localname": "AccretionExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "auth_ref": [ "r8", "r36", "r296" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrual for Taxes Other than Income Taxes, Current", "terseLabel": "Other taxes" } } }, "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrent": { "auth_ref": [ "r7", "r8", "r36" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Bonuses, Current", "terseLabel": "Employee commissions and bonuses" } } }, "localname": "AccruedBonusesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.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 expense", "totalLabel": "Total accrued expense" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccruedSalariesCurrent": { "auth_ref": [ "r7", "r8", "r36" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Salaries, Current", "terseLabel": "Payroll and other employee related expense" } } }, "localname": "AccruedSalariesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r30", "r187" ], "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less: Accumulated Depreciation and Amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r21", "r49", "r50", "r51", "r418", "r435", "r436" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income, net of income taxes" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r175" ], "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", "terseLabel": "Weighted-average useful life" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r19", "r290" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "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. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.", "label": "Additional Paid in Capital", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r95", "r96", "r97", "r287", "r288", "r289" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r255", "r257", "r293", "r294" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r257", "r283", "r292" ], "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": "Total stock-based compensation expense", "verboseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r25", "r162", "r166" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Trade Receivables, net of allowances" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r80", "r173", "r180" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r118" ], "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": "Weighted average shares issuable under stock-based awards, excluded from diluted EPS calculation" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember": { "auth_ref": [ "r48", "r51", "r52", "r344" ], "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, including the portion attributable to the noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "Aoci Including Portion Attributable To Noncontrolling Interest [Member]", "terseLabel": "Accumulated Other Comprehensive (Income) Loss Net of Income Taxes" } } }, "localname": "AociIncludingPortionAttributableToNoncontrollingInterestMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r90", "r141", "r145", "r151", "r164", "r342", "r345", "r361", "r402", "r415" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r45", "r90", "r164", "r342", "r345", "r361" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r258", "r285" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r348", "r349" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r94" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r250", "r253" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r250", "r253", "r323", "r324" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Business Acquisition [Line Items]", "terseLabel": "Description of Business" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r322" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Ownership percentage acquired" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r321" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.", "label": "Business Combination, Acquisition Related Costs", "terseLabel": "Acquisition cost" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r333", "r334", "r337" ], "calculation": { "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "totalLabel": "Total consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "auth_ref": [ "r333", "r334" ], "calculation": { "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.", "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable", "terseLabel": "Equity portion of acquisition payment" } } }, "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r79", "r340" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Change in fair value of contingent consideration", "verboseLabel": "Change in fair value of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r332", "r335", "r339" ], "calculation": { "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Contingent consideration", "totalLabel": "Total contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r332", "r336" ], "calculation": { "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationContingentConsiderationLiability", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Current", "terseLabel": "Contingent considerations current", "verboseLabel": "Contingent consideration current" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "documentation": "Value of input used to measure contingent consideration liability from business combination.", "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "terseLabel": "Fair value inputs" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "decimalItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "auth_ref": [ "r332", "r336" ], "calculation": { "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationContingentConsiderationLiability", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Noncurrent", "terseLabel": "Contingent considerations non-current", "verboseLabel": "Contingent consideration non-current" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r341" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Business Combinations" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinations" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets [Abstract]", "terseLabel": "Assets:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 3.0, "parentTag": "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 }, "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "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, acquired at the acquisition date. 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": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash and cash equivalents" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 2.0, "parentTag": "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Trade receivables" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "terseLabel": "Trade payables" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other", "terseLabel": "Other current liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "verboseLabel": "Deferred tax liability" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 5.0, "parentTag": "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Total intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwillAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill [Abstract]", "terseLabel": "Intangible assets:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwillAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "totalLabel": "Total liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "auth_ref": [ "r325", "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "totalLabel": "Total purchase consideration" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 1.0, "parentTag": "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r325", "r326" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 6.0, "parentTag": "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property, plant and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combinations" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r84", "r85", "r86" ], "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", "verboseLabel": "Capital assets financed by accounts payable" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligations": { "auth_ref": [ "r14", "r381", "r416" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount equal to the present value (the principal) at the beginning of the lease term of minimum lease payments during the lease term (excluding that portion of the payments representing executory costs such as insurance, maintenance, and taxes to be paid by the lessor, together with any profit thereon) net of payments or other amounts applied to the principal through the balance sheet date.", "label": "Capital Lease Obligations", "totalLabel": "Total" } } }, "localname": "CapitalLeaseObligations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsCurrent": { "auth_ref": [ "r12", "r380", "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalLeaseObligations", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of capital lease obligation due within one year or the normal operating cycle, if longer.", "label": "Capital Lease Obligations, Current", "terseLabel": "Capital leases short term", "verboseLabel": "Current portion of capital lease obligations" } } }, "localname": "CapitalLeaseObligationsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsIncurred": { "auth_ref": [ "r84", "r85" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in lease obligation from new lease.", "label": "Lease Obligation Incurred", "terseLabel": "Acquisition of equipment under capital lease" } } }, "localname": "CapitalLeaseObligationsIncurred", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsNoncurrent": { "auth_ref": [ "r38", "r380", "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalLeaseObligations", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount equal to the present value (the principal) at the beginning of the lease term of minimum lease payments during the lease term (excluding that portion of the payments representing executory costs such as insurance, maintenance, and taxes to be paid by the lessor, together with any profit thereon) net of payments or other amounts applied to the principal, through the balance sheet date and due to be paid more than one year (or one operating cycle, if longer) after the balance sheet date.", "label": "Capital Lease Obligations, Noncurrent", "terseLabel": "Capital leases long term", "verboseLabel": "Capital lease obligations" } } }, "localname": "CapitalLeaseObligationsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasedAssetsGross": { "auth_ref": [ "r379" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of leased physical assets used in the normal conduct of business to produce goods and services.", "label": "Capital Leased Assets, Gross", "terseLabel": "Capital lease assets" } } }, "localname": "CapitalLeasedAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases.", "label": "Capital Leases, Future Minimum Payments Due", "totalLabel": "Total" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Capital Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Future minimum capital lease payments" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFiveYears": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Capital Leases, Future Minimum Payments Due in Five Years", "terseLabel": "2025" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInFiveYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Capital Leases, Future Minimum Payments Due in Four Years", "terseLabel": "2024" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 3.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Capital Leases, Future Minimum Payments Due in Three Years", "terseLabel": "2023" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 4.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Capital Leases, Future Minimum Payments Due in Two Years", "terseLabel": "2022" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount necessary to reduce net minimum lease payments to present value for capital leases.", "label": "Capital Leases, Future Minimum Payments, Interest Included in Payments", "negatedLabel": "Less: Amount representing interest" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments": { "auth_ref": [ "r381" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of minimum lease payments for capital leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.", "label": "Capital Leases, Future Minimum Payments, Present Value of Net Minimum Payments", "terseLabel": "Present Value of net minimum capital lease payments" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases due in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Capital Leases, Future Minimum Payments, Remainder of Fiscal Year", "terseLabel": "2021 (for remaining three months)" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassAccumulatedDeprecation": { "auth_ref": [ "r375", "r379" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total charge for the use of long-lived depreciable assets subject to a lease meeting the criteria for capitalization.", "label": "Capital Leases, Lessee Balance Sheet, Assets by Major Class, Accumulated Depreciation", "terseLabel": "Capital lease assets, accumulated depreciation" } } }, "localname": "CapitalLeasesLesseeBalanceSheetAssetsByMajorClassAccumulatedDeprecation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r28", "r82" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "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", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "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:", "verboseLabel": "Cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r76", "r82", "r87" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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, cash equivalents, and restricted cash - End of period", "periodStartLabel": "Cash, cash equivalents, and restricted cash - Beginning of period", "totalLabel": "Total cash and cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r76", "r362" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "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 in cash, cash equivalents, and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r40", "r196", "r405", "r422" ], "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 (Note 13)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r193", "r194", "r195", "r203" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r41" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common Stock, Capital Shares Reserved for Future Issuance" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r95", "r96" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r17", "r208" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r17" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.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", "verboseLabel": "Common stock, $0.001 par value, 1,000,000 shares authorized, 158,524 shares issued and 158,474 outstanding as of September 30, 2021; 700,000 shares authorized, 140,222 shares issued and 125,074 shares outstanding as of December 31, 2020" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r54", "r56", "r57", "r61", "r408", "r424" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Comprehensive income:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computers and Peripheral Equipment" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion": { "auth_ref": [ "r15", "r16", "r209", "r210" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued for each share of convertible preferred stock that is converted.", "label": "Convertible Preferred Stock, Shares Issued upon Conversion", "terseLabel": "Number of shares converted" } } }, "localname": "ConvertiblePreferredStockSharesIssuedUponConversion", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r65", "r396" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 5.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue (exclusive of depreciation and amortization shown separately below)" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "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]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r330" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term Debt." } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r207" ], "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": "Long-term Debt" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "verboseLabel": "Line of credit facility bears interest (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r372", "r374" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Aggregate principal amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentLineItems": { "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": "Debt Instrument [Line Items]" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r38", "r93", "r209", "r211", "r212", "r213", "r371", "r372", "r374", "r414" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r298", "r299" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.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 tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r80", "r91", "r307", "r312", "r313", "r314" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r298", "r299" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r304" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Gross", "terseLabel": "Deferred tax asset" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r80", "r185" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r80", "r185" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r80", "r139" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 16.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 expense" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r331" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "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": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r228", "r230", "r231", "r232", "r233", "r234", "r235", "r236" ], "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]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r228" ], "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": "Schedule of disaggregated revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "terseLabel": "Earnings per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r62", "r100", "r101", "r102", "r103", "r104", "r108", "r110", "r115", "r116", "r117", "r121", "r122", "r409", "r425" ], "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", "verboseLabel": "Basic earnings per share" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r62", "r100", "r101", "r102", "r103", "r104", "r110", "r115", "r116", "r117", "r121", "r122", "r409", "r425" ], "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", "verboseLabel": "Diluted earnings per share" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r118", "r119", "r120", "r123" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Earnings Per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r362" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.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", "terseLabel": "Effect of exchange rate changes on cash and cash equivalents and restricted cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r301" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r301", "r315" ], "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "Effective income tax reconciliation, state taxes (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "percentItemType" }, "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 payment arrangements information" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r284" ], "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 stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r284" ], "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": "Weighted-average period over which unrecognized stock-based compensation expense are expected to be recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r281" ], "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": "Stock options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r95", "r96", "r97", "r99", "r105", "r107", "r124", "r165", "r208", "r214", "r287", "r288", "r289", "r308", "r309", "r363", "r364", "r365", "r366", "r367", "r368", "r431", "r432", "r433" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "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": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r350", "r351", "r352", "r359" ], "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]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r351", "r386", "r387", "r388" ], "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]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByLiabilityClassAxis": { "auth_ref": [ "r358", "r359" ], "lang": { "en-us": { "role": { "documentation": "Information by class of liability.", "label": "Liability Class [Axis]" } } }, "localname": "FairValueByLiabilityClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r350", "r351", "r354", "r355", "r360" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Measurement" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r358" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurement" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurement" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r242", "r243", "r248", "r249", "r351", "r386" ], "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 Level1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r351", "r388" ], "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 Level3 [Member]", "terseLabel": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "auth_ref": [ "r356" ], "lang": { "en-us": { "role": { "documentation": "Represents classes of liabilities measured and disclosed at fair value.", "label": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation By Liability Class [Domain]", "terseLabel": "Fair Value by Liability Class [Domain]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "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": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "auth_ref": [ "r356", "r359" ], "lang": { "en-us": { "role": { "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r356", "r359" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Schedule of rollforward of fair value measurements of contingent consideration" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "auth_ref": [ "r357" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3).", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "terseLabel": "Fair value adjustments" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r356" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "periodEndLabel": "Balance at September 30, 2021", "periodStartLabel": "Balance at January 1, 2021" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r386", "r387", "r388" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Measurements Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r358", "r360" ], "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 Measurements Recurring [Member]", "terseLabel": "Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Estimated useful life" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r179" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "order": 1.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", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r181" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "verboseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 7.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r181" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r181" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r181" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r181" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r174", "r176", "r179", "r182", "r397", "r398" ], "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]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r179", "r398" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "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": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r174", "r178" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r179", "r397" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "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": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "auth_ref": [ "r397" ], "lang": { "en-us": { "role": { "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Assets, Remaining Amortization Period", "terseLabel": "Remaining useful life" } } }, "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture And Fixtures [Member]", "terseLabel": "Office Furniture and Equipment" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r66" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r63" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General And Administrative Expense [Member]", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeographicDistributionAxis": { "auth_ref": [ "r168", "r412", "r413" ], "lang": { "en-us": { "role": { "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Axis]" } } }, "localname": "GeographicDistributionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionDomain": { "auth_ref": [ "r412", "r413" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Domain]", "terseLabel": "Geographic Distribution [Domain]" } } }, "localname": "GeographicDistributionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r169", "r170", "r401" ], "calculation": { "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails": { "order": 4.0, "parentTag": "dvh_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "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", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r184" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "auth_ref": [ "r171" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) 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, Period Increase (Decrease)", "terseLabel": "Change in goodwill" } } }, "localname": "GoodwillPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IPOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First sale of stock by a private company to the public.", "label": "I P O [Member]", "terseLabel": "IPO" } } }, "localname": "IPOMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": { "auth_ref": [ "r80", "r183" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value.", "label": "Impairment of Intangible Assets, Finite-lived", "terseLabel": "Impairment of intangible assets" } } }, "localname": "ImpairmentOfIntangibleAssetsFinitelived", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r59", "r141", "r144", "r147", "r150", "r153", "r399", "r406", "r413", "r426" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "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 Equity Method Investments, Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r189" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r302", "r303", "r305", "r310", "r316", "r318", "r319", "r320" ], "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 Tax" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTax" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r91", "r106", "r107", "r140", "r300", "r311", "r317", "r427" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "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": "Income tax expense (benefit)", "verboseLabel": "Income tax provision" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r301" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "Effective income tax reconciliation, state taxes" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r83" ], "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, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.", "label": "Increase (Decrease) in Accounts Payable, Trade", "terseLabel": "Trade payables" } } }, "localname": "IncreaseDecreaseInAccountsPayableTrade", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "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 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", "negatedLabel": "Trade receivables" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities net of effect of business combinations" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in current liabilities classified as other.", "label": "Increase (Decrease) in Other Current Liabilities", "terseLabel": "Other current liabilities" } } }, "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.", "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedTerseLabel": "Other non-current assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "verboseLabel": "Other non-current liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.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", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r111", "r112", "r113", "r117" ], "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", "verboseLabel": "Dilutive effect of share-based awards" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r172", "r177" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "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)", "verboseLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r58", "r138", "r370", "r373", "r411" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "terseLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r410" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "negatedLabel": "Interest expense (income)" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r75", "r77", "r83" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseAndRentalExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "Operating Leases, Rent Expense", "verboseLabel": "Rent expense" } } }, "localname": "LeaseAndRentalExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r186" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold Improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Letter Of Credit [Member]", "terseLabel": "Letter of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r35", "r90", "r146", "r164", "r343", "r345", "r346", "r361" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r24", "r90", "r164", "r361", "r404", "r420" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "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' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholder's Equity:" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r37", "r90", "r164", "r343", "r345", "r346", "r361" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.", "label": "Line of Credit Facility, Commitment Fee Percentage", "terseLabel": "Percentage of commitment fee payable periodically" } } }, "localname": "LineOfCreditFacilityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r33" ], "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": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LondonInterbankOfferedRateLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "London Interbank Offered Rate L I B O R [Member]", "terseLabel": "LIBOR" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r14", "r206", "r403", "r416" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt", "verboseLabel": "Outstanding amount" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r38" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingenciesLineItems": { "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": "Loss Contingencies [Line Items]" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r204", "r205" ], "lang": { "en-us": { "role": { "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.", "label": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MeasurementInputDiscountRateMember": { "auth_ref": [ "r353" ], "lang": { "en-us": { "role": { "documentation": "Measurement input using interest rate to determine present value of future cash flows.", "label": "Measurement Input Discount Rate [Member]", "terseLabel": "Discount rate" } } }, "localname": "MeasurementInputDiscountRateMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputTypeAxis": { "auth_ref": [ "r353" ], "lang": { "en-us": { "role": { "documentation": "Information by type of measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Axis]" } } }, "localname": "MeasurementInputTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MeasurementInputTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Domain]", "terseLabel": "Measurement Input Type [Domain]" } } }, "localname": "MeasurementInputTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.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 (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r76", "r78", "r81" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r0", "r53", "r55", "r60", "r81", "r90", "r98", "r100", "r101", "r102", "r103", "r106", "r107", "r114", "r141", "r144", "r147", "r150", "r153", "r164", "r361", "r407", "r423" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net income", "verboseLabel": "Net income (loss)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r329" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r133" ], "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 segment" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r133" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r141", "r144", "r147", "r150", "r153" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 3.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 from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasedAssetsLineItems": { "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": "Operating Leased Assets [Line Items]" } } }, "localname": "OperatingLeasedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r376", "r377" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.", "label": "Operating Leases, Future Minimum Payments Due", "totalLabel": "Total" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Operating leases future minimum lease obligations" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears": { "auth_ref": [ "r376", "r377" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Five Years", "terseLabel": "2025" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFiveYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r376", "r377" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 3.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Four Years", "terseLabel": "2024" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r376", "r377" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Three Years", "terseLabel": "2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r376", "r377" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 6.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Two Years", "terseLabel": "2022" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "order": 7.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Remainder of Fiscal Year", "terseLabel": "2021(for remaining three months)" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLossCarryforwards": { "auth_ref": [ "r306" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforwards" } } }, "localname": "OperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Description of Business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r1", "r347" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "Description of Business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r47" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustment", "verboseLabel": "Foreign currency cumulative translation adjustment" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other current liabilities.", "label": "Other Current Liabilities [Member]", "terseLabel": "Other Current Liabilities" } } }, "localname": "OtherCurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r36" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r67" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.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)", "negatedLabel": "Other expense, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OverAllotmentOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right given to the underwriter to sell additional shares over the initial allotment.", "label": "Over Allotment Option [Member]", "terseLabel": "Underwriter Option" } } }, "localname": "OverAllotmentOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r73" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "Payment for Contingent Consideration Liability, Financing Activities", "negatedLabel": "Payment of contingent consideration related to Zentrick acquisition" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r71" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Shares repurchased for settlement of employee tax withholdings" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfMergerRelatedCostsFinancingActivities": { "auth_ref": [ "r74" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for financing costs associated with business combinations.", "label": "Payments of Merger Related Costs, Financing Activities", "negatedLabel": "Deferred payment related to acquisition" } } }, "localname": "PaymentsOfMergerRelatedCostsFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r74" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "Payments of Stock Issuance Costs", "negatedLabel": "Payments related to offering costs", "verboseLabel": "Underwriting discount fees" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r68", "r338" ], "calculation": { "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Purchase Price", "verboseLabel": "Cash portion of acquisition payment" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r68" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Acquisition of businesses, net of cash acquired", "verboseLabel": "Aggregate net cash purchase price" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r69" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "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", "negatedLabel": "Purchase of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": { "auth_ref": [ "r13", "r238", "r239", "r240", "r249" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current.", "label": "Liability, Defined Benefit Plan, Current", "terseLabel": "401k and pension expense" } } }, "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r258", "r285" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockLiquidationPreferenceValue": { "auth_ref": [ "r88" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of the difference between preference in liquidation and the par or stated values of the preferred shares.", "label": "Preferred Stock, Liquidation Preference, Value", "terseLabel": "Preferred stock, liquidation value" } } }, "localname": "PreferredStockLiquidationPreferenceValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.", "label": "Preferred Stock [Member]", "terseLabel": "Preferred Stock" } } }, "localname": "PreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r16" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, $0.01 par value, 100,000 shares authorized and zero shares issued and outstanding as of September 30, 2021 and 61,006 shares authorized, issued, and outstanding as of December 31, 2020. Liquidation preference: $350,000 as of December 31, 2020" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r4", "r26", "r27" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrivatePlacementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts.", "label": "Private Placement [Member]", "terseLabel": "Private Placement" } } }, "localname": "PrivatePlacementMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "auth_ref": [ "r70" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.", "label": "Proceeds from Issuance Initial Public Offering", "terseLabel": "Proceeds from issuance of common stock upon initial public offering" } } }, "localname": "ProceedsFromIssuanceInitialPublicOffering", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r70" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Aggregate net proceeds" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfPrivatePlacement": { "auth_ref": [ "r70" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.", "label": "Proceeds from Issuance of Private Placement", "terseLabel": "Proceeds from issuance of common stock in connection with concurrent private placement" } } }, "localname": "ProceedsFromIssuanceOfPrivatePlacement", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans": { "auth_ref": [ "r70", "r286" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Excludes option exercised.", "label": "Proceeds, Issuance of Shares, Share-based Payment Arrangement, Excluding Option Exercised", "terseLabel": "Proceeds from common stock issued under employee purchase plan" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r70", "r286" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "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", "verboseLabel": "Proceeds from common stock issued upon exercise of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r30", "r188" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r190", "r437", "r438", "r439" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r29", "r186" ], "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property, plant and equipment gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "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": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r10", "r11", "r188", "r421" ], "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "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, plant and equipment, net", "totalLabel": "Total property, plant and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r10", "r188" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r10", "r186" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property Plant And Equipment Type [Domain]", "terseLabel": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r64", "r167" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "verboseLabel": "Bad debt (recovery) expense" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for short-term and long-term debt and lease obligation.", "label": "Repayments of Debt and Lease Obligation", "negatedLabel": "Capital lease payments" } } }, "localname": "RepaymentsOfDebtAndCapitalLeaseObligations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r72" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-term Debt", "negatedLabel": "Payments of long-term debt" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r297", "r440" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Product development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "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": "Product development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalents": { "auth_ref": [ "r9", "r82", "r87", "r400", "r417" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. 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": "Restricted Cash and Cash Equivalents", "verboseLabel": "Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets)" } } }, "localname": "RestrictedCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [], "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": "Restricted Cash And Cash Equivalents Cash And Cash Equivalents [Member]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units R S U [Member]", "terseLabel": "Restricted Stock Units (RSUs)" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r20", "r214", "r290", "r419", "r434", "r436" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r95", "r96", "r97", "r99", "r105", "r107", "r165", "r287", "r288", "r289", "r308", "r309", "r431", "r433" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r136", "r137", "r143", "r148", "r149", "r155", "r156", "r158", "r227", "r228", "r396" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 6.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "verboseLabel": "Total revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r229", "r237" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenue" ], "xbrltype": "textBlockItemType" }, "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": "New Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale Of Stock Name Of Transaction [Domain]", "terseLabel": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "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 expenses" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r323", "r324" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r117" ], "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": "Schedule of computations of the basic and diluted EPS" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r257", "r282", "r292" ], "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]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r257", "r282", "r292" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r350", "r351" ], "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 financial instruments measured at fair value on recurring basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r174", "r178", "r397" ], "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]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r174", "r178" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of intangible assets and related accumulated amortization" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFutureMinimumLeasePaymentsForCapitalLeasesTableTextBlock": { "auth_ref": [ "r381" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of future minimum lease payments as of the date of the latest balance sheet presented, in aggregate and for each of the five years succeeding fiscal years, with separate deductions from the total for the amount representing executor costs, including any profit thereon, included in the minimum lease payments and for the amount of the imputed interest necessary to reduce the net minimum lease payments to present value.", "label": "Schedule of Future Minimum Lease Payments for Capital Leases [Table Text Block]", "terseLabel": "Schedule of future minimum lease payments under agreement (including interest)" } } }, "localname": "ScheduleOfFutureMinimumLeasePaymentsForCapitalLeasesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock": { "auth_ref": [ "r378" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.", "label": "Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]", "terseLabel": "Schedule of future minimum lease obligations" } } }, "localname": "ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOperatingLeasedAssetsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of long-lived, depreciable assets that are subject to a operating lease agreements and are used in the normal conduct of business to produce goods and services. Examples may include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Schedule of Operating Leased Assets [Table]" } } }, "localname": "ScheduleOfOperatingLeasedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r30", "r188" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r327" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Schedule of fair value of assets acquired and liabilities assumed as of the acquisition date" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r258", "r285" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r263" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of restricted stock activity" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r263", "r273", "r276" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of stock option activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r279" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of Black-Scholes-Merton option-pricing model" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r178" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Estimated future expected amortization expense of intangible assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r132", "r134", "r135", "r141", "r142", "r147", "r151", "r152", "r153", "r154", "r155", "r157", "r158", "r159" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSegmentInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Sales, marketing and customer support" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r63" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling And Marketing Expense [Member]", "terseLabel": "Sales, marketing and customer support" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.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", "verboseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r259" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period", "verboseLabel": "Number of days option to purchase" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r268" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r272" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r270" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted", "verboseLabel": "Other than stock options granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r270" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r269" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Outstanding ending balance", "periodStartLabel": "Outstanding beginning balance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "verboseLabel": "Number of Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r269" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Outstanding ending balance (in dollars per share)", "periodStartLabel": "Outstanding beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "verboseLabel": "Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r271" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r271" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum", "terseLabel": "Expected volatility (percentage), maximum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum", "terseLabel": "Expected volatility (percentage), minimum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum", "terseLabel": "Risk - free interest rate (percentage), maximum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum", "terseLabel": "Risk - free interest rate (percentage), minimum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "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 Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationEmployeeStockPurchasePlanDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r261" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Additional disclosures" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r266" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "periodEndLabel": "Options exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r266" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Options exercisable (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r275" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r268" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Options forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Options granted", "verboseLabel": "Granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r274" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r285" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "periodEndLabel": "Aggregate Intrinsic Value, outstanding (ending balance)", "periodStartLabel": "Aggregate Intrinsic Value, outstanding (Beginning balance)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r265", "r285" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding Ending balance", "periodStartLabel": "Outstanding beginning balance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Number of Options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r264" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding ending balance (in dollars per share)", "periodStartLabel": "Outstanding beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": { "auth_ref": [ "r278" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Options expected to vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Options expected to vest (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r256", "r262" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Options exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Options forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Options granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, 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, Expiration Period", "terseLabel": "Term of award" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r280", "r291" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r285" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, expected to vest" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r285" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Options exercisable (Years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Contractual Life (Years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options expected to vest (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharesIssued": { "auth_ref": [ "r208" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.", "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "SharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesIssuedPricePerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Per share or per unit amount of equity securities issued.", "label": "Shares Issued, Price Per Share", "terseLabel": "Purchase price per share" } } }, "localname": "SharesIssuedPricePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.", "label": "Software And Software Development Costs [Member]", "terseLabel": "Capitalized software development costs" } } }, "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r43", "r95", "r96", "r97", "r99", "r105", "r107", "r124", "r165", "r208", "r214", "r287", "r288", "r289", "r308", "r309", "r363", "r364", "r365", "r366", "r367", "r368", "r431", "r432", "r433" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "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": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r95", "r96", "r97", "r124", "r396" ], "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]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssued1": { "auth_ref": [ "r84", "r85", "r86" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The fair value of stock issued in noncash financing activities.", "label": "Stock Issued", "terseLabel": "Conversion of Series A preferred stock to common stock in connection with the initial public offering" } } }, "localname": "StockIssued1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "auth_ref": [ "r42", "r208", "r209", "r214" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.", "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "terseLabel": "Conversion of Series A preferred stock to common stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r16", "r17", "r208", "r214" ], "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": "Common stock issued under employee purchase plan (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r16", "r17", "r208", "r214" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Issuance of stock (in shares)", "verboseLabel": "Number of shares issued" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r208", "r214" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Common stock issued upon vesting of restricted stock units (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r16", "r17", "r208", "r214", "r267" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Options exercised", "terseLabel": "Common stock issued upon exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "auth_ref": [ "r43", "r208", "r214" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.", "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "terseLabel": "Conversion of Series A preferred stock to common stock in connection with initial public offering" } } }, "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r16", "r17", "r208", "r214" ], "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": "Common stock issued under employee purchase plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r16", "r17", "r208", "r214" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.", "label": "Stock Issued During Period, Value, New Issues", "terseLabel": "Issuance of stock", "verboseLabel": "Purchase price" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r43", "r208", "r214" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Common stock issued upon exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued": { "auth_ref": [ "r16", "r17", "r208", "r214", "r216" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement.", "label": "Stock Issued During Period, Value, Treasury Stock Reissued", "terseLabel": "Treasury stock, shares reissued" } } }, "localname": "StockIssuedDuringPeriodValueTreasuryStockReissued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r17", "r22", "r23", "r90", "r163", "r164", "r361" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r89", "r214", "r218" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_StockholdersEquityNoteStockSplitConversionRatio1": { "auth_ref": [ "r215" ], "lang": { "en-us": { "role": { "documentation": "Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.", "label": "Stockholders' Equity Note, Stock Split, Conversion Ratio", "terseLabel": "Stock split, conversion ratio" } } }, "localname": "StockholdersEquityNoteStockSplitConversionRatio1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails" ], "xbrltype": "pureItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r369", "r383" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r369", "r383" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r369", "r383" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r369", "r383" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r382", "r385" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.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 for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Taxes Payable, Current", "terseLabel": "Income tax liabilities" } } }, "localname": "TaxesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r328" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks And Trade Names [Member]", "terseLabel": "Trademarks and brands" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r328" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsMeetricsGmbhDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonMember": { "auth_ref": [ "r216" ], "lang": { "en-us": { "role": { "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock Common [Member]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockCommonMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonShares": { "auth_ref": [ "r216" ], "lang": { "en-us": { "role": { "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common, Shares", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockCommonShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockCommonValue": { "auth_ref": [ "r44", "r216", "r217" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common, Value", "negatedLabel": "Treasury stock, at cost, 50 shares and 15,146 shares as of September 30, 2021 and December 31, 2020, respectively" } } }, "localname": "TreasuryStockCommonValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockSharesAcquired": { "auth_ref": [ "r17", "r208", "r214" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.", "label": "Treasury Stock, Shares, Acquired", "terseLabel": "Shares repurchased for settlement of employee tax withholdings (in shares)" } } }, "localname": "TreasuryStockSharesAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivable" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r125", "r126", "r127", "r128", "r129", "r130", "r131" ], "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 and Judgments in the Preparation of the Condensed Consolidated Financial Statements" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r109", "r117" ], "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", "verboseLabel": "Weighted-average dilutive shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common stock outstanding:", "verboseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r108", "r117" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted-average common shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "sharesItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r1": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r123": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r159": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921835-210448" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275" }, "r184": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6392676&loc=d3e7480-110848" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394232&loc=d3e17558-110866" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r195": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r203": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12053-110248" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870" }, "r207": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 4.C)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187143-122770" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r218": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r237": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1703-114919" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1731-114919" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r295": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6419918&loc=d3e35281-107843" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116868678&loc=d3e1043-128460" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121600890&loc=d3e2207-128464" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121647850&loc=d3e4845-128472" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479" }, "r341": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r347": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 2)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 3)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121569800&loc=d3e45014-112735" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121569800&loc=d3e45023-112735" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121616839&loc=d3e45280-112737" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r385": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r441": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r442": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r443": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r444": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r445": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r446": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r447": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6904-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4304-108586" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4313-108586" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4332-108586" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(e),(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r94": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" } }, "version": "2.1" } ZIP 80 0001558370-21-015286-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-21-015286-xbrl.zip M4$L#!!0 ( $2!:5.FB?+Y&!( (;' / 9'8M,C R,3 Y,S N>'-D M[5U?=^(XLG_?<^YWT.9E9L]90DBZ>R8YT[.' .GF+ G<0/?.W)<]PA:@;5MF M)#D)\^EO2?Z#P;9L YEI]_JEFUBEDE2_DE0JE:2?_O'B.NB)<$$]]OZL=6YOD:M5LCI%@O(Z3&D65Z> M=^*47LC58S>HTVE?MR\O+COH[0RT7M)#R1=@WPEH1%R.) M^9+(!^P2L<86>7^VDG)]TVX_/S^?VYX_=PA(@BXVYY;G:F87UU<@$"PEIW-? MDCN/NWVRP+XC03CL-Q\[N@8@,XP0)))!R$S<0$UVBGR^.O?X$@JZZ+1_ MN1]-=24C8IO0F/AESIUS0:SSI??4A@15MXO61:=UU8G( :HEQNLXRP*+N>8> M)F1DX62Q4QU=2EBA=VU(C0@%ERVY61.1YAXG9?!7_&RYVXB0_=MVD!B1,H\Q MW\VNC2UY6Q71!J(64 %"5J+5W'.R*A:E9-7+R6WV5?N7$65?XFIA:HEL%'02 M9.G\L,M<"22G2G%2%GR2YU;JN@VI$:$#U3-47R7/H6LEJI-9D8PJ6#[GT/4W MV>V-4C,RDA=KE9U)I61D* 'U+LPOJ5:'70>&E.NV3HT;3*WLND!"5E7(4@TV M!MDKQ-HA62PJSV>2YTDJ2,SNHSG=*$K)R"3DFN>T"%*4!OZXFZ'$:!4-1[1X M.&I1)B1F%DGV:FK0P'UZ^VE5 ZU%(, M45".*AGBZD45M,F",JH; Y*]N$ M%/.#W[WQ0W_P,!WTU:_I>#3L=V?PQVUW MU'WH#=#TXV PF_[4WF>U7XH/E1JSG_7O-2<"F&L!JN$LS!V2F'):V+%\YX", MVYKEYPN_1H"]-HYQJA@OQFO"=:M$EP&1"Q):00;Z1$:>$$,P>%Q2!NK*/,W: M<%E6&Z8S^.]^\#";HO$=&D\&C]W9$ A0]T%1WD\>!Q\AV_#S 'T_&D^G?T/# M!_@\:/3F.+WI8;&Z<[SG4N- =D:S!KPY3 -ZW>E'=#<:_ZL9&4Z%\".Q/&91 MA^HV!@F+HZ#/YUBD$V^/TPG(L5LV\A8H+KW1F"R-Z5-A.9[P.;GU!65$"!C2 MYY0%(_P]3.U@CXH/[GS5)Q)3)U2+ZME,V+\![#N WI8K_!$Q1DG.\#UBCH#[ M1_1]R/]O#;PG@;<'S;L\$.,@[VL#C;[7Y32 %P#^P?/L9^HX8*4-H>%L28&\ M*P08ZU/?=3'?P- ,YAMFF^D^04Y?/P5+LWJ\O;C<5X^H4(29C;9<4!E32SXJ^MZ7-+?=5/5-S 3 MJFM0==Y%JG15697B.J"%K@0B82T03E1#?X5Z-"I55J4FW(-5H]Q,',PD8#_X MS:=K9>3EJ$DAO1GZ=^E))N+X=Z1Y:@V(N39 E@7R#E/^&3L^N2=8_:V=_]&W M,0/SV^>O6G/4%,@A )K+Y('O(ER[OSIL/VI]^A MP?]^&LY^;= W=]0^$1:GZV!O)?*=YO16(ZUY2=5)=]D$-^5LB_VV3<MT2I>,+JBE?!Z6#J>!&6X"_=.PI#H%2[,B7&9X[/5"&50@ M6:R>EA.^V$31:%LVB@IOM*:LUCQ"&O/S/*I[J68L,];/8?X&CF,VTBKLC9;= M#TVM?K.WR1K8CM_5^!>ARY7::H#<> D]RL504[;\),C"=T9T<1;L8 M;RKO8D1EMW!0..)1Z6*H,76,^XFRFX4Y1A%Z=JVKA!VA@SD[>I65= -8_XB=4BY M47+585L,2I330%\6^I''EC.B L_G>9N:621F '],FVN*24L"%Z38-/B4Q2>( M2Y[AEQQP4NEF9*[3R 0<$+!H4"GM=%1^)GTD3D7N$"9,HZ.9V.R S/!F:';A M>;PDPP:]X]"K,N$=P*$(Y]24EXOSSJ1'FTGO5 IPZV#KR]1:J2-_]X1+CXVU MSW#"J05KD'O/)DXE?:C"L$@]4JLI@WKHA,"TKMJ4=*U)'VB$HH*8;V>PF&1C5X< MIQ?97\T1ID=P*M*,=Q4T(TB:ZR0KF=3$CIY$-0;NVO$V)$B=^-Q: 84*[:RD M%H5H[%#!K$#M% MD-%Q0:,'19"F+,#"T*(FHK0"[.$E.='_*G@?Q" &L.KQ M+F5B6@I@*GV:M\&G?%"**1JE (_",)0&AY+!)[E1)P4(&,--&NF;I3_ 7,6^ MB@GATQ7F*5LYE6[$HG.1QB+B@( %TCP:3 [9U"FW:5. 3X50GP:EJGLMQ9LL M!>B4W%UID#EX3Z7"_DD!5E5OVVA *^A.9*DDE]X),5&8([E!=1U@Q:I1.(#73'>L&R\2O.8 :Q\L6$#9)'VYQ14O4[ M6/9SFK!]4SV<(TG01(4?."WFH)I'9H2PW-9<@]4)#N4%!W /.J-IR&]&MY/V MK14=P M/ZS8',D^P5Y$'R0/IQUQOU..K[,T'= MM:,>%M7?5OK]8ONI%3T@^F]H[/F+ZT0$BKOAH5(-]+Y\PF(C%IA;*2ZIIV>! MB5[=@YW3CJI^AMHG:A2(LVJC=A'X^IKDX'G5)D$6XGR=K8&.4K4U>WWK=&T* MZTVERM[;EH)4,>+O"#O.MN$_M?=?U0V_[+Z^J]_>!1EX7"*6^72ZX?WFX.'U MD6=I?N5RM=2[RZW.9:OS[AS*CBI\4#V23X97JXO''DY5G8QWI,O4Q>%\)]=) M*I)\H+E,)706]5?\$+2JQI6JQE6G?#6R'W\O68$H@RKY;<4RH\>R;4)W'M?. M*EKD95(_6MO<.U7(+=[\%'U.TW7QR9Q+C-=!'8@C1/%G9J9R8@^ MD:*K4C_%-Z3>;N[Q?SS><[ (W#,S\B)O';#KS[0LWI^](G]8U:M/[\\D5\>K M@CD11D<85F]D1#>4Q%6&' CZ99V3X/0X".%K):U:8OT>(Z,/6ZIZ:(-1N".,;]X.+_^6* M\-D*A_@-OIGWF0@Y]J4:"6U83L,4,2<\1N%/K$ F3(&TA2I3?!40C0C] M0N])4FB[GTS:9GOJ]M[2[<"0RF'!&_%ZS7;]'_P!IL*7W::EOM:T==MXH37F M4;C0A%-F4;",U9/7\4EW2-,1.IO4$'4LD_J,0UW[21GF@G#1IQSZ[:Y6Y"?7 M5#T2#9IP;\FQJWP65FZK,XEJVO:IOUX[FRFU2<\7TH,%PVZS#>DU;7$_X3 ; M,NM\M[VYJ35M[<[+7<%D.U[$D1OZ"2$JID,-1F)1M!6,!@YL:F\PU:@#?B%NKX[\_3(&[XVHLJ+%QH5,QED ML59'5@\71.!)D\?+(5HW6O 15ORA8;7;C0IH:MIWHJ75P^?L)5?B>TU;V'4] ML)=_U]S&"W6Z?"B$KQRP/4]L;8UB,H,>N]#K)>:;TW1JG38/+CJ#!#*G)U#Q M+N"$'?H[L0>+!5';U]O#XN&UM;>$D84J*Y1(E1S?KG!@&"/!%.##+! ^":UO MYRD6DR%O=F^"K@1$:HCY*N:'">%ZYQQD#79G8(5JIYMVO^U9JF6):SJ.C %= M#BBJX0 ]CE,@+>^?/#DKT1.,+4C.90A_).ZBZ4G[5>R&RA3)L =?2%V#Q!? M@N:7M1X*L]; AIA1L.H^.!X(^QXS'#BJ1\Z>^Z:0JJZ]PV5T[HM](PGT3NWO M[\J@)&U-)1&$HR7&@-B%E9%0[VD3IC;MC(063#B!AO'PG80@04#1.WV_ OWK M=?@3SH[<>X+E($CT,Z6?SL7Y1\]1>TEB=+[><^>5(ZVIQD/C+$)L<<<]-S*: MU3:$ZT;O)! P#,C074.%QHM/#);0SYRJ1?4=(2(AHR/9U+LW=2T+JFU_)LSV M>+BK*7K*?&!;F]Q,\[H"V$Z5KV-51.T!T!U/ *Q=^S^^"(Y"/!('ZWW;R$'3 MM6#Z$'3'%#^&0@?PY0J=#F!GZJ)9AE59V;0L*CE7ZOP9BM8T*H; MIA)K7KW4[8=630F]JL*CWN-Z1N,CY[F*[X$&,'D'T]GALCR074V\]";E2>\^ M5%$]8^YO5NG2K9YQ*'Q%RJB8,7-]%:KKJBN"LIH'_2ALH4$Z);-_%7@>FI=Y8_@ P 4>S+(-@0 ?5[(#+86!QYXIBIHW0!WYQ> MWU$N9&B-!(OYY.*T,*ZL9/::>G$S&CPEEL?LPP56-G]-)3;C.K)NHYW3CX0* M 4/8I[6.& NW,W2\)4<%&XH,[7^W'+F:DU%1= M,CK((W20)5,6X=!6NZ +BN-39MH_#7AWF1U%KE*P(4$Y7&5 *A(8K1U?F8W1 MM3&&OO@*1?TY4_/K30\P__6P6,7/-H/BF=:\.>2UELKV_&,1>VVI8WJXU:V?ASO<'[QW;/N$$J0D45']M8F2G'-_=/"=,(0M#8,CA3 M<>=+GY,P_"::EON^6K'2EU\)YK$,#LE8;].]1(NAP3-8+A*L-CXJ2&H_7[T% MI58+VTOJ-@.HG:NV6L/&SKS9BG+XBZO7/L(@L$I9ZBV>@;MVO T)+J^*)XO, MP*ARI#4U?\*0X7%DB02!UCW523X)$A_.B651FKS>MN_N<#%>+,"*F*H[&< 8 MZV.)>T!,^)#U80J"FEOP^<[CA"[97E#=\7QJJEAC'^;;Y5*="+4IWI-*=EI- M6QHN$-?AR&#W?65H!.Y)[8S\2!Q[R*+UY$[@8:5L->I2P55+P?4D/_\_4$L# M!!0 ( $2!:5/+"[UDZQ, ")! 0 3 9'8M,C R,3 Y,S!?8V%L+GAM M;.U=:V_CN-7^_@+]#VKZX=T"S<27)'8&,RVOY^Y-)CG1H8'_WC[W_ZOV]_/C[^U^7CG3:S#7>!+$ ML/.B3>W75]W2[A$AV#2U2X)GSTC3+KZ_W(52+6MKUJ[?7)QTFEUVMK9U];YU[.N-KY?)[R'6LYQ9DH36[\_ M06D:(+7H]Z,7QWG]>G+R]O;VY?V)F%]L\@P96]V3,.&1G_+K.\6QU&_=,&W[ MY%_W=Q/C!2WT8VQ11[>,CUQ,3%(^@']QXOT*22G^2KW\=[:A.Y[N,^NE<5.P M3\=ALF/VU7&[<]QM?WFGLR/0@:9]([:)'M%<\RKPU5F]HN]'%"]>359Q[[L7 M@N;?CV;+8Z;%UD6WQ7+_9>* ,9BUKVQKABPP&OQ!;1//F)$N=9-AG[P@Y- C MC17RR^-M#,O,=I],! S#\]47PUZOB'C6H ,+$BU> M"7J!#'B)[FQ*;Z%=+%!Q*.5+/I@BKG3ZD6%;!C:QIV__ MA_D!L*:4NZ,2KC$U3)NZ!%VZ%%N(4F#0$[9\0MU#(R+8H#\63R_7R-&Q*84T MA_!#P[G23:.S5TQ!"84!^V';LS<8)J&QWUHP?#QCJ.6 4NCN)NYBH9,5\ -Z M =U:3383[&3#0@H^A!J&U,$+UI9N7 =2#M]?D0&?!@N;./B_GJ'8=]#R]J6/ M'#4H3#%C8L. X*S&, XZ4+?A'RY^91W*3F"SI18&X$;'Y%?==-$]TMEG5LKZ MNY$%?:$+\T3K&::!>#=&YRNI,*#06!;8\?IZ;^2V'"@+9M 8[09+1.XA0 03 M$^OY#M2[/TR\8@X!\4I_Q8YN[A=@JP MD[VXPH+J&E!YU_2Z^CNH7%!%)J3H)4Y4(>C=09!CMOX6.ZQ 6':V6MJQMI8+ M?U^-'JZ'#Y/A-?MK,KJ[O1Y,X9*M.EQ\^Z_LH6V*T39#HT_(:9J77<:@>+S;\$7__F#Z&A M9%-_0J;G3HC]>%)"Q4;."R)^!1Y@.@YC VB24\_$M+^==WN]3JMW>MIN=T_/ M^NWSBPB2"&,&) Y*)T98#ORY1:+XBCY(<4+9I(Q).\9@]##_G-B+;74&A=EY M -ADALCWH_:1YE*HE_W*RM3-(^T-X><7Q_OEE6";8&?U_:A3CNVX\Y<'Q#-A M6I:X(LXO3D\[E;6D-([ H)U*&_0:S1%P\!5KCGY&50RIB2*P)3= M2IMR<_4$8(;OANDR1W*XR.(8522K2N;-C2M7Q+/ 9P1@>F9VE6TX@9U7MF5:]I%E./J!* MS%X'AF&[L,A\1 ;"2QV&!Q@8,IIL2I9Z6%P:H1+S6K:UPYPC\!^;J"]UTW.7 M.%*4H756 M' )D9RL#C'#UMQ/&+=CK]<].2R:KJ&6B9!7$IDC=5JZD:Q&)A6")N>;*\F64^+%0*P\+#ZL-)ORDM?(ME(0,UU]QU68 MO(U)L'V0V6834M;(M*+HE' .1E8DV4W!!E05("4]/0OSH.B2& M!7Y0/ L"NT.XJ\RP@YUD5IH;B97;9D;Q"E!B5>XM)2/:$HM/2J@['S0%3""1R-B1P]F?C9/V.0V;8S\]7!ZOE *A$F<6=; MSU-$%M?HR3:G%^DVY.3.@[_ MHM?OGE?'J&DFRIYOI2%48CZ=8QF1SH'\ FM$DX*5H,2TG3-/26=+>J8:,2(' M4"6F[K *072LKUA44KJI$U+6R+ZBZ)28EP\,@[AH)CSN<]/7R,!R&)68IX=Q MA4+--SEQO0PL"C#GU/W;R<99R;T?H)2_/25J(^X9RX[H&8H;;7&B;.ZL0F0T_)I;:RF1+>H;GA-TYIYGX*&.ON/2YW@U%P:^OT4%FMO M9ZU>O],ON4,1X,76"O$P:E%B@0D(/A3 H5(LC?(,R$:CQ'INO;RT'$433";*7$NM$LL,I2(E.R!M- 90=7GWC MHP_:8=K,A)NI>FPYM.4YDQ8YC2DQ^0C5D,Z7C52?!$GJG+)5E-FA5&+D&\4I MGC(K34CY28V$OD-034JXLZ\1S/0-__916)-%[S'DQAUQ<\35T*X 6T1ME11[ M) =3C6GP#YC($YU=;#F8+;"%JVD6YV?H4X&ET29V:E7PM:/B")0'SM'?XV6R+2]6\'2S9V:ITX6EP>:N8=9 M":-?V=09S=FU1=YQ"T26V$!T8ILSCL7Y&>ID;DF4:ASW>@3B6BX*I\!$-YQ_ M8N?ERJ4.:(>L;Q9C%W# OQE_5R.'I#JQHRCX2NZ01EY<$-H&/02/#^1P9_+"OPU:BC#[)+WLTC]9G9.V$G*/-/914O3ZM'-Y&^\9# MJ5D)SRJ[@0RPC(F]Q- W7JY^H>Q@T@VV=,M@ X0!R\2TH[KB N)*ZO3ZW7;C MN;BC]I38^WE$K_HJ&)K9T1CO%K3$*%KN7$Y40/4HMJ.!DV9V.RE##7\>J,M M:.;YPF\I==GK ;<6J$DWQS WQ,8(6A1[Z(3#&.'\#2#,;KI0HH=)@CB:CPET MU0X:F[KAS>LEN+*=N:%$$52$$GM"47S>K1TCKYIT^(Z(@2GB^9,R\S6,&^(Z M4.*0Q-@?3F]LDG6T2WQ2O)/,)M"I*;P,!]JDJ)(^%!&V3![+"F< DL5V'Y,(]< M$)C>N:5DC"NEV^MWRC[]OZ\>3%8) 3-Z%>^FUBO,>T2>$2#T[G=E6TY4>A 4 ME=(@TNRBD8!!_6HS*.JEB%Z+(N#AB29O ">DH ?&OZBV\3]H[G6$X?#JT3RS MK]C.T@ 22,,/W7BM:C.!HZA;:XFHL\/N0H* ZK&DLKL+HMI3PZL3-)VI/3! M?2D/?V=T/=D"JD>Q'0W,[XAR*D.1W85-D.$U/\A_Q<)KF_XO7)^@A(@FTD96 M'6K$&G/TM@[3RCN<)0BH'FDJ.YR):D\);_2.Q^Q/^^U^JYJ]BZB9$NV>@5>) M4)MM]H?'-8.;0K/OQ9<1T0!B[*P.)7:W.2BO=B3-=O[F,D90%THLB+8A;E]Y M)LR4[:R-)(F@&I28822BB]Z8-B7ZC'_$7B1S4SDBI@@E[A3,'%KC3YC+SE/\ MW(WDB;@F,K>1XXOBDMYAVT88O&P>/G.1^,*Y,'%$A,6U=];K]\I^Z.L /,JM M&,D]Z,K0:OOY=.E!ZB-K(RDCJ ;)+>:2".+1/$$[X>F_]7D^#DN$\S> *KOI M(G-7N@H3FDOAJ_P'A#!?I.?0OO+]'#%-H=L!RJ] 50M4Y/9 MN^Y58'IX[U/L[C?^@VN\Y W@DA3TT/BBFYLE#8O)L:HA"R<"'DT$#*BVGY@YK-$K&+I]R-M)FN S84@ MAT;>ES-WMF2&:[[*R&D" 5/[W#%$6A8C\H+7X$\,_6!@?R62>6T.=OI8G7OM?KGU?TN%Z^7EX,;V@MOM>RTE>5 M/2+#M@QLXF P8S_,I>XP.]OM#C/($:^#9L^UCUJH=L,9IP_<468Y[W%ZM=JH MRP :&"$K:!&_ZJ;+F]P+Y:U>]U&(Y>.O=N;5@Q*1A5O*$6L,6=D:0(Q<*L@9 M-;B/D>8:4\.TJ?L1<1_QB]-[A!@Z^F/Q]'*-'!V;8L/)*0PG;1@0/J3#A[ M+5H"?!\6HD$I/VL_!>7\M8P1(T$';$Q[MO!_8?HQ8^?YYYAM>_J[X^&)!#![ M)+(+?G,7:,9WF!=>RN[3QB*KY"=9A^:S&X;?L&DF3$0/4&KUNJ ]<2R<[):E M4R7&N2*5(Q/.MO=RXR;IEWC:ITP."FWV'D#QC6L+5U&5? 0'':(Y\(K^;!'[ M;Q%2NE?BJ$RAVO$7!-G+J/T6^MD0#M 0Q+2NQ/$?SGQ]\^=/6B73*E4_2ISO M*5*7MY:C6\]XG=B;0TU?="N#90>MPR>5]]]#YC."$B>=BE23[-TS!RG[LWWL MOWW(*5^)^T&+5$_VT>,]E58=[A_ ?UB&+M6XN& M9Y'R(&X32>4WU:D8^<&;-);2.KR2XV:YZ/7;W<\V48+*&^=)#,\83/7WPTZ$ MD@O^; ?[:P<2&L_I3:Q$%,D5E-8Y6"B)]I-7WF=(2MYB0M4:65#*D,_8E0_TW_]X19BJR\!U]>=6LU MV4P@%VYYUNILCI%AX9INS;0/Z9HOGL7Z^U7PPO3]2OP_U?!'0MU/6&I Y@VV M@,EW>+F]@\ ?#+,RE=&UI=0)%O_NPO4>P/PK_5.2M;S7G QZC:V#"D#EXP/M^X#J1DA\R-#78'!\]E!XFN]""QKHLV M]RJCH: VFAZICO3?2"&V7MRN33UA#:<-#KD38J#S>*11? M7'?C26LF^)]-+^!Q;1NLN94"*<2)3>/6.)JR+R*O@S7 M#C>65\Y=<[Z][QU*_IOFR?:\-FOIY3I?N*#YKI?T+"5=BI9^9+#XE_".1C0.1N_YDCV84)5Y] NU5$WGCQ_<[!-SHF'AW M0MTCG7UFU5]_-V*[X2YAM]%=ZA1+;O7VMH<%)EGS1&N1\L(?EMX/MJ7I&@G+ MU9Y8P96[;"?K5GWQ$(YL214)<,FJ:! 86QSR0&#UNI4=^)#O?0[V:!61[2U@8M++ M'9*VG^E,[WY3TA=PF;LO_%=0K$W&^LI_AR:Q/EG)J]<<,S6]OJ)=%I9U!7-V\LVSAA;L(IWS7W#OJA7.7\LBL6.5N+18TQK:Y M>#V%O*#J]0R2=HX],%L,_#U[4+ RZW M!"AI02C.;]LEQ?03H:!:L*5@^'M>9^3L)_R:3_![$@%RR:B%[8M#+K<8J7I7 MX<6%%M)7?$BJ!6&*QJ]$R*0XV#>[&-($5_HH=W4 PL3+I?NWT3-5KTAGVB3\&* U-B2@2#J[,2)',?'6T=@8Z.:=#MWR# MRWI=!?-6%E:VQU563+59+C5)*02Z#EXW63$-Y$HJ="7"- 219KI=I.7$ M57;:[_0N:LZ6#.Q*A(&(0DUWMTA*:2!5TI K$5V2#53&S9)36J.((ZX!U0)) MDAPL$I121DT6 M1+>6@P"^XS^;Q0[T[\PMOLA&L4I2#=4\^CIQGRCZPX5:#Y>>-J2\_&?;YX4^ M!&J^Q"H>6_TX]S4END7]1QS:G 8A)Z*4@.> =U,[N)P[K#)*O8(V*UN] M_L5Y)8\%IELS%K^$NI'K'TK MI\!CI]].6.V?8%C[^_\ 4$L#!!0 ( $2!:5/E4] ](C( +.9 P 3 M9'8M,C R,3 Y,S!?9&5F+GAM;.U]67/C2)+F^YKM?^#F//2,V2HEI?*0RJIF MC+JR:".)7(J9-=TO;2 0)*,3!%@!0"G6K]\('"1 1 0"MX."67GN[Z$)=A?)U&Q$_;5R?F'DXOS]Z^.\2X<(OM9H9.H^&NJ M?$@3Y?K5J?_KKBAM"$N:CI&]*V^XNPKQPI].@Q_?448/!K\2VT13M!CXW?WB M;C?HMW<.7F],UI;_W8J@Q6_OC)<3!M79U<49(_G?;K&CF[;C$71CK]?89=+E M#"WCQK9<*HA4(#%R;I&K8=-Y-V"]?)N.$A08MCS9*3)=AWW#6G08;\Y.SLY#@?@WA(QU MFNI40S[%K.SIW:N++ =3AMQ9=*827V ?L./62>0AIL\NG<6,X939!AT.8EQW M;!,;;';O?G7&BV?7UG^L;-.@J]#=GQYVMWDP+MY MSK.W7FMD2U<)>TU/<]OGPP*E&%%)Q[ 8]@?"RQ5=88>4:FU)^UEKV*)'BV\. M6GCF UZ46P>JZ;D%EDV(O4'$W4Y,S7+IZ-E^NV$[4"EV9+?: JGW&B;?-=-# MCTAC?[/Q[+X;6U.D>_1*9"WIC0>7FS_%>@+"DJEMF@N;_-2(,5[P"E3/FQQ= M F'2T# PVQ\TKSQE;76\H$>UNK3>(NZ@<6,1I3_#5L")"+OS1WTIT?'>/=2 M^C(D;"PW8?[8(^IR#"4T$4;_LKLZ9;2[C1UPWN7GEE*K\9%K1(\&'WZ,CW]' M.[;<4P.O3\,RIYII9H].P,3(),;,>I_\8?NM53 J^IF9=6SKQ+"9LJ?"(::; MKF*\?E,G:[2>(U+E8)/M5C#2%1T4T;TY.MDQHL+Q(L#=_RJ(\UG5):P)J3CX_G%V3D;_*YA^D>L;9^81.N#?P_;_X\"2WHV[45- MR]FD[JL/8O4I;&Q&#Q[]&5UDFRJ#9TD#[I]GS8'Q/_QK?_/?OXX?;N^GSWP9W_^_;:/;W',SQ M6<-FK*TGAFDR%Q:;<%<&!1\%]LVABT+X]3]W),ZT^7[M,;4Y,GUO(FZATS8' M&N#(;D2VY4_D5^QDC9M?9T?&7AB')$D07;FCML-%O.#>9!,J@[^].X]:6Q![ M+69P. 1;F13/H0.S-X%.JAV #@9VFSCQ' C*%L3(.FSDB(:,E&+@R,@YQA M^>?GBR]?/IQ]^?CQ_/SB\Z?F\ I.L(T 1271 #8L0-%J E[3)S(#W#C ME*L+H.0Y7@Z.5/3BH'#&#X#[$]H6(B14STH!X!=M%(,/)3'@DP AAGQK:!; M?UR!I$BQD)1O%)"+DH!(Z " RM[^-=&P,;)NM UV-5.*3$:=1M'Y6!*=#%H M(#1EUTT+&7<:83Y&CA0:4>%&,?E4$A,1$0# &-HZ'EFZZ;%'&A.;^(QT78+G MGLL._#/[R;9TVW(I>VCGRY'E(H(<5SZ?2C;:*+B?RTZXDL0"$ *FXL<&UNB: MKIDHU$W(+J_B\BU<7 4'#(6+JY@,"*#LQ_2DK>G'&=$L1]-]?P[994FE(I3K M;);@)>!2H.NX<4M>!S]_N;PX W3CK19++JT X!U-QM*]+_8[A*NNNC3&X8D1 M 8#E$X)?Z%H^,37=7] S;KS\PA#NO,7 $%$$ )G='OM C[( [X'5@Y?V$G._3JWIE^T=_>.6C)/NQ_-VT'&;^]_4>.X^T->X<@)(I 4 PI MLC\Q;FB,'[LK1-AECJ 5.]:\A/[P#[;CW-L$X:5UXQ&"+'T;6Y.'EN'_98:> MU?_R'-^*_H1.J<>NQ M!U 31#LU_&P01+L/2 M&A#T4VH344H&-)3V,]Z9V0(]MD_#//UB@=+D8!<](_*"=12(YA3I]C* QY=2 MH?:_[FX;E92E?EY $SI_9@3'EM2R)GS/(#M YV^K4?&X+'W&SD]@1S / MUD*[;<'6&L7]J@;7E-60$2.X*[ MOTS=V%88B)*% 6*?7?92X)F%-:'@H)SPJ[;9K!244]B5H[0CPA (=<72H-QH ML^)02F57EM2.R(,OWD_HI_]+D44@5K=9= MI[W)2U!$0 Z$LB&*J"1:\$>05@.#NE9NAAT1 ._WV7I(=\)*DAWAV M-)X0^P73<_#U]AL=T,C:A3<+ R!BY SGCDLTW16 6*0A"--.^:Z3FSIH\Q'\ M;90/4'$)+759;=$'B'F/6#HV46+0,[N:B5I/5Q"FA/O:[Q@7CB(3.8 0USWSR9"A8OTH$("D-X<]$4PB(>0 ,V"F42D!^*(66' M %IQ<0@/))H"5\P%:/!>IW,-[B(',T.S0[D0!-T=$J+1;WWFW:S8QY%%3QCT M&N#["_&J/&!MCDU*[;E 6AKK'<+SBZ:$KS&F-O!2<[R@^R =!CNPJ0HSZ(AQ=-3? '&0K=/ U N.=7HZ;-0S5\R"/M(9TB"+](?++4JD)0QN:7:SF\/#KA M SLA:*-A([J\AN?>H67X*U:0AE@9:K7&(*ACJP9?C7+XXN /EP7&],. N#GQ M%]2&L*A7#;B 5/@(1\O41-OZ85")9N1?RY.5(:ARZUK-DY1V E[B(2.Z\XG? M4*E5A:# K0':%)WP@0UB-P6K31%TA?4A:'!K69UYQ'8$Y_W&4AAJ01,05+HU M[\6@ 5>_7);V8X2A0BT'=AYJ.P+UR'I!3A6NJ]*&()RY2[FN2JF#!C4])4;! MN0*7>$H-%5%WR^+M^'DNZ;<;B=XT3P,0E"?%93OAIY:#:O"01S8<]N+7#1YT M9@0SS-<$!+5)3;!+Z88&O#H/2B_G,);Q:D#/0W5'(+_'EF;I%>SDTH8@:%=* M[>12ZJ!!/46;<'4:+QYL:SE#9,W<, 6 BHL#WJ45Y#:9)DM$(S3P)KMQ/B*R M1&2*3!9GP7>=Y1"=L2TKMP)X9\X)=6[2@4K O4VRG&%RRT/1-@%OX<6DHR@C MP,D*L76$#.>>LBI/Z$F%>A#V[(HPSR86,J[1ZXGQ(@C&],VB+!O1+ZC\OC#[ M+-^G5Q97N+KF(1A7JI>2'1" S)^ M.6674KJ_A&:E!V9M&M/59NGO+R)8\S0 P5&]^CM]%M70((\$E-Y#]LF/V.L' MEO+>E]F,&2RK",(KO=J)+",7&K;JE)?6L +)!U -UGG(AH;Y'3T,ZNYXJ M^P^:IO3H,+88.>S_S 3XHIG(]ZR.8N#[%B++2'X1*RD0CEIZ@G"+4]//UT(^ M-&DJ14X0MSGMLJ*;GD%G49QQ 3,%@M;T("!<'=5DL&G.')5XUB%M,&ZC#0@/ M/%EX]C:;(/*B9D8/ 4?6PB;KX*FOW):L7!O"U50Q:*4J2="0W,7\0 [+R2B+ MM9 N",%2G%,4#_QQ4R3!PR<([I %SD$I"(;=4L@XTZO4AJ&X4O6C4B8*&9RP/BBA\2+((A*4OMQ *,K_4'ETCD31ZBK#? MZ[>-'RIDEP9J0L(GJ'ZIF2W6BE73)(0ELA""U9 /;08*E+BCX&V,R*,ALQ8( M'Y8R\S230J! ^@_)#>QZ=!^/!GOMN4^V^W?D[^MR1!6J@W!5J0!:!5+K79[C M@7U4H%*L T&]6'B!5:"OC;1^U8&]&$3M#OX];/D_WL%.OJ6OD.&9:,^16,X/YWH;^TN: MGBMW,U#2#W4[@5=!]/H47WV*+Z6-[C:VIM)%_;TPBY&H((1;G[(415N9B!AH M!T<.82EU0_;,>("0Z4B%E,1E//?*U]6L2!SZ)G2?8$K")27_N\U.:9'ZS\EX MAEJT,0A7_[PB4I16:+/\R6/<&2^F:&,35_.3?OM"*O2+D52 <+O/"Z2,GG:O M%%/ZF^6A?)>(B_0E(FRG*Y<&.G9MN21H&>:N"(31T1)]0N:$N>?M#5=?8+8D(EZ;JDR09= MQL4-'=TO/ M&+HKO$8)2[9YCU*2H%U6(Q$%->>AVG<[(?:2:&MF,]=5&,TKW^9YMRB[>734 MG . ^2MLG[&!HD$*^2TNVN:)-!>KQ21 NS$(S@A9NH'L:NWI!U1)2F1IDAZ5 MNJH/"*E@K_#8TWQFBOD#NZM()N]>0P]9%J:8_L^8::\"O NU!$$34$08"A$+ M;6)_L^;8-)&QCSOOA)%/!1#+*D!0!11!4D93N^J ZW1J'^<1(>:C['Q=SU?Y M] 0?TWJ"G74QW@/]/NID0'OYO2M:A-[TV)L>>]-C;WH47"[B"Z?P6L$KU$F3 M(X\0:*>/>\9-NC>_L.>FKF8M,9W703:,ZVUP@3(UAZ=6+=1""VN=R"^_@K4N M%^FPP=Z/EMV=I:MA[E: K(T%1%T1;#[9;Q7PI/[UZO+\8XTO!51URNT( 9<5 M .3BEEYX3'M#;\1(7UFV:2^W4[Q<42)XF[)R+0B[=$&13V8"SZ 3 (*1CL./ M\,EVK!7>R-&3UH"@ :H .2F- %#STU"M-?)##E6Z& 2]3@7XI D# KSCF>! M#%TT7-*SO.^$(H5'5@'"&HX^INWIE\&1>3/D>OL$,(&6]39L@Y^0-.#5$EK&,DD._!+ MW9U".(_7/XOK$ED>1X]:;..I<&.&N":$5]@UI'6S@R(LY.LQ"W*>)-@-] OA M[M9=$>Y(HNXJ22T-@W@B7^&9+8D-(*(QFO<9^;$"211U#.C5T5)!%K#UF.6Y6>-N3V 9T_"U([)L1 M4W$BCLI[@226;5R_*L[^H:AVBI(2AJDG)P3KA]>>7#4A&56R4,Q%&+19'F4. MG=FA5$64((<2,%[XGDWRH)+YFH"D#5:=G_DHA :QV,?[FX,6GOF %R(5A5I5 M2+I:54C5*(,&921D$K?]/Q![?T0WAQ=$M"7*A+A6/&?%"+&=/'B.ECQ.2;HWV,F#Y& MS*%(MATCYA_T4$ZO53^>O@LCQ*2+0+*#*<>'29,![ARBF9JEH^<50NX#ZR9C M^1(6/ZZX+V(Z@6(F7[DD%: L61ERF 4.H) L%<(3CR[R\>S+Y8?[I8_N+ORI[N8-OB>./VBM> M>VLASP]^;SMI T= ]JEA$B-MB9_/KN;Z,46>=61I]$(C6(L%Y5I8EP4&W[+K MLH# MF )!_'-3T&4 P*[ZY4"I?C]0='&X MQ\1Q9X0>>E=TGO]NF\91:<_8/E?)-V1S-=VG>\"Z9CYB$SDN'7+!R2QKJ$O> MMF7H;&T"IP<5:CMR3E=9.\VJ\AV@ MXZ6?'$RYJ05<"GR.MAD:X%PM-2L2]85ZRJ;T"("7)\HNTV"S8E#?DW-E@H] M&O91PJL3B'B;SE!:AD[\V* M6D4OZAOC#KBS[%#7B<<>G*XWR')"RIW#9:CJQIL5DGI4@H6)!R<#AT.D

QQZU47()G;[W6R#;0DVK6 M]OFP0+[GXI_2S\6CS@>:90SVK0^"YFF!< @#>S$(!_$W9X#W!;6@8.<>F$NB M0:@]+<]N %;P%V$2:_64WND6(#X^5T56,7EWFF@ 9]U6LK>W[N)=0LA+9&H' M ?@^/?+0]]$T$!N@:JYH;AT(KPHK31S-I1( =GU"=AYNT!.RW](CFVEO4&#* MM$U[N9VR*%%RY#)K0?!:K "]3#H!(-AG;T_C!CQ[NX3"U,50_3 3J]J> MTOA._MD'VZZZ]TLHD[GW9U<#OE=*@<^F#IH&7C+BH:Y[:\]W+BO_Q- M/S^PPH: ;ZQ%H1;2VR'PQ>' LRH!WW6+@EIQT.Z*@LW&Q&N\.!RR ,"L2A"> M%A0%,(LVL&KC@W"V4\28A:WE/JYM7KWQQ]QZXV@,)UHPB &)1L%818KUQKS?N]<8@8.[UQKW>N-<;0U*&]'KC7F_."?LNTMO M_!8?O",7N? 6;@WXSEI42R4G&IKZ:K3>:)@P 4WK:@(B34:D 'OEVL#W82G6 MRD2VJ]F:$'I (.YV8FJ62P_G=W]Z>,-&G4]K]?GL_%!K%;7\?P=^V[[R:M=Z M]W110D:I::*RJK<2Z$LTINOMC/8MT3\IU82H=U)#,1$ 3(54 $NRF#+:LU3# MI%03B%8IA\@J@1@G\=A!3$1W/?]T^>'J0_M!:^L'EDLV *R9A[_G(K(;LES; M)"H-04.80VP3VB4130#0N?<(928]R5!R[O$K^R372\@J0+BS%,1(1A8 F!X0 M/1BRJ KTN$WL%P7]D;0&A M'0:"D= % ZME>N#\U7XZBCZ%^A>2)O-,J:Q[T+BP5B>IX $UXA$,5 M^YO*JX#>I(O->Y">IG$Y%-K#XT4@>)$6 R9)!S0@;K0-=C73/Z<;V>\MQ,4A MQ)@N!I"8)LA@.0\LW0.*)^7D^+$=KORR"5=9ZQ""49<7A5(L:-=\=J]A\ETS M/?1(":%_,[IWWXVM*6(1O+"UO-8T28VU//";'L3ZBWYX\7^PK8$V M(%&_@SGKN"O6MAWGPNI"<2@ET.FN2#* M2#QV$).6K2^7YY\OX!CTZ@.62S90K)W=&B4W'BE5A6#JRR'06;"F"80$XO5V M]_%WC AEUFK[P%3Q:MNLM'(+.ZW(D[&AG5;*#DBPQ^4S/>C<*[:D#7@;L(+ M9\YI,;UO$>6N[-!U(@]^NQY9&\]U?(+/U79I7@VHFW.F?'.!Y5$(%+.+W)A= M0/++J06S"XB8E3ABI%2)-2AV'B"X'M3"+*ZTE#_P==6-(7R#$3%BKV$=SAV7 M:+K0P)U=#]2"4I<(*? !GCG'65$ZV3_,//&BF8E5=D^"T&"C7!_".4!9PI,6 M&64:H<$;$_#\TUJU,@2OE-KGMBHSH$G ]=M-6L67E'Q3HL]>=9S9JP1'A$:% MXSC26'4_R:%@2VE4%B"Z:TQMTUS8Y*=&C/&">QO/Z[>12OPB]-N(]2RJXD$NEEW M=.[9I&1;H$XM=4\\21)=57Y!TY-5R#ME4WZE70&PZ-? NIH6K([;]WG7DS^P MNTI1[23)=J8'=K)P4OIMY;A_5] 7!"-!XX);+0O!+J$YR110^94"R1*JCRS= M] P6F_1.(RQ^;.:Z6G__$,P:T*6W %OAF4Z&AH&#$8RLA4W68;"+?-:2"V5K MR;Z[0:R_SEE&^L>M//;$H/;G2T8$6G%Q@/:..A[7B!D 8+/C#4ZJG9!5 *+/ MRA+0+' Z: JA">AQOAP=GE^<09'ZU,-9%P2 :+(-E';L]RIYB*I@4FE(@2- M3;:8R@#D456Y?NVPTRD]05D>^FZS?$E2;9IR30AW034D$5Y>6L<^&5L0 I%/DN 3K+C+X ^5_*YVGY9H$LA1GBWHA!VYBK$>Z?&4B,;K!*KC[72QUJ!X(MUK($WVHJ]TN$@'87<89/&!(&05-(R M**>ENL2G$DY5)UCE/-:?/,;3\6*&])6%=.N MG=R2K9P4J-1B]U[3_55'IF[B%(3C\R7A?&(?YQ !8(].#DNJ?.<7A:+8$0J3 M& 1 :O.2,"0U"A>P7N(5AX9+%@"TINC%-E_H%ID<=(;>3%H'@CI%)H1)W9>4 M% /2#794>58( 9V:%Y12%<+57AX%, (7O&L%L.V3^>)+M/5T,CNN4XN:> M)@$8^Z4["J\@D&U=)$(BY@/:TDNP'_1V7@P2J%LYO>T9MC6RZ HZUZP?X\4" MT664C?MA=#V>RK<.M;H0MG:Q,"9V$C6"JH?-(6X,,OK7(5STJW].-6O)VT<. M?H/C^96Q>1R,NTVNP)7!A*,;%E 'RE3UMY:R,R#W]M<%P3(1]P\ M&&E;_-1>Y?Q,_M[FF3V+G\F1 MCWDFM32CLLU1D^0+#E9A"0S!+.68>[:E]- M$D-OAVBX9H^>E)"+%X=PQ2T,8IP0:&9/1D9T&]_I1H(%X-HFQ/[)-"?:AOXB MC"V=KPD(ALP<2.8CK@OHWMCK-79]N41H0H^)]).V%!E@)+820*4-8"3,%U[AZ_(N-F MI9$ENK$+@)752J.0758/619][3JYC"SZ)9IIK_D\7*[2'BY!2P/:5/W>+3P1 M?=97R/!,"L".)I[#BKQHFPZ-0_U/#SN!@(OM6L+2[?NNJ*# \R),D0)@C^>- MC7TD2&YV4:@'Q B6(7990!T054-$%,1>83A?U_.5)/A)NA $PXBR].S#G:0) MJ7='WTU/D99.5*AYY9Q\N!$+Q2M/5Y5R.SKN7C=T:J-K9%&6BZX]A:CC>A9[-H!\_30)M*.'7L\E!4[ZHV MM"Q/,_%?R$B/23J+\E9N4X.FMA[FH:8]4!3G3O%FVM2*E0>JB7E4\6:5C$_\ M[#*''LMXH#V;NS)(M#;F;J5-U5J!S4V5+&CH\B6S%-3EFFQ3D5=V8^RJ$' > M=3%2EA9;NT8&/3SCA:^W#U^4!3<>(_FRC/[FK9%QBQ:(T!]]#NY^S+A4U]EQ MFVI&=8%J@A/0Q"[<]:PE"VA_HQ&R#5/=BL1%5J%1F*^*PBRC !H\,3$*A.XK MH8,66C/YA9M5VIP5Q44T_'9U^,^NK?^XUAQDT&6!'>SSYT\X/T\K]/UF3_QV M!_&&N_)X=:\0>EYI!*48-"2$^=;Y@=>NM_LR$VWK)Z5@\TWVY+7"]MN8MT'_ M6VEVA(,R[9L8:L,V/LL/J :PQA8G=6.JP 8 H.[#%OKC M^T;!<*;/WQ3#;G+K0' !;PK<#%8 #BB07)>3Q:!\^"]UN-ZDFA 0$E/24!/ MR#PAXS$;T-&V +M!'R?S0=#,.7"\MO#<A4F$3_/]_I61];RPFB5!FBAW?5=M&)JU2STL;E M$TA!FV=3-S^D[NYU@P-GK8 VF915TSZ$1[TUBE@U3*K7T['X7/!] .G)DB#Z MT\@Z7(&'SOZ)\W@Q]ES'U2R#/6FWUVL[+,XY@+<]( AODJN520AAN,#0, M'(QA9"ULLB[D@W"A[(-P,MAW.,#['GOGA-XYH7=.@'46AVU:!J-Z?;O."5VU M1[9D8Z[;'LD[V=)SB;_'6CH;6Y#1S!]^<"81:H 5ZT& +5,*H^.?(DT@K[*] M;KC7#4.7M\C,$L5;<<;N"I'92K."6>E\I4VXSDA!L])(][TFN3P/CV:Q#.F+ MW=T#K7K54BKNIUY?;'',IMO_^3< GP0@& 5M.-L$8!FLV MB%[?#5'?W?',(TWJM?M\)7V^DK8T?WV^DFJ5$9W+5]*K1'N5:"?D+9ZLW5L' MIVMF>T#NRC9LTUYNAW/')9HNB@[92,^](K04^X[FYLXC>HJ='_<$(3\/(')< M%@@KW&";$%EI]Q"LCPTN#;4)MI3);T^Z@^-.:](===_I51FZ=$=,!BG=15RF M>92S<+'L931+"B-]+E%3AYVV:%4@P36Q%:3,5L7BB-;OMDF;89E8&CYQ9 R@ MTQ8O0*MR!IO?HHPW=^[(&$"G+6/P95S][-&\ >T@G$K@WAYH8=>]N0RBN:Q_'M(_#^F?A_3/0XXTLEG+ST3@1S;KS7"] M&:X3\I;IUOYD6R]TNB%C:IOF?1"SO_'W"?Q!=%H-7(]QKB GCT:GH$Y_/6\8 M\O??B7V[EM6C88$_NO<1_:.R!I?K#DCZT3Y RZ3\N\_XU@3]L/M.&_B^2FRK$&;:&]I M=K4<;Z/Z\;T1O1/<>?9V W[D5&7 FVRYQ]?I ]\Q3+;XTRP<71']F_K=,,6,Y**]#\^<<#LW!3W/_)SW^$PKZ[IY'\R[. M+B(O6$<"J3/]L=!/X\44Z?;28OD1@F7ZQG9<1\V[N=*^VEC?1Q8%GXJN:E!\ =G#!^*2.SAEU@'@L*\BN E" ')$KARJ1 MO//BTY>KBTLX>4BKA(]+* !$I\A!E$&KH67^(MG4P8 NV=DTC:7NQ#\]+,*<-G5(*C 4&(LK=554O[;W/JXEA_,=ZE>Y877VX%](79MH2J6-%QQ+%RA"._PV( MEBH[H%F\E%BSLXGXB[3CYQV(_\[8\V2[?T?NGG%E%JQB_4&XJS0@:35R\,T( M9\#K>YN$7[%RHE!\30\"@GFURV(L8&NGGBUP_2E\ZC.]!5H?#82G"S7*;^O\ MA6C/3R1[G7A$7]$2[!:7UY;_)8\QL?.8ZG6;KHUE"@'0AJ_GKDJ@ S@.J:AI;E ML83!.D'TIY$5T#'TW!4=[5_(&#H3>GRAI;4EG46QP @A"_SB5:J;*AH0!,5_ MM;('@:O0-M/CLU96_;:I(0-E[>K%E6U2_CB!LC2?!O'#V3E7@Q@V^;=!T&AG MU(.1TZ-4QW=0") O_Q$\K.$BT+^(@7 C/[H7,.5?!1W>7E^?M7^Z[_*,>126;F*88:7B'PU[;EF/FJ6%EP['DQ=J&7. MJM"Z.2NO!$:W\"S"ZE7U3(C]@@UDZ>@[QM_>.^]_I_<8>E-W'MYOW@O!4*K5 MIL*N%")*U$%37CQ[!2H L ;A."7ZCD34Q-]\5/>B\2%89P M$5(7P(2A64 1 &1&D[$4C-CO( Q&A?@?(P( R\F?>8G'G':PO//2=Z$,;<O6C4( M6X[-#HA://2GQ^*WO;"I*C_2"TNWL.I\+J/!XQ(!$P[Y65U<'LBRE"%@ M&< .C]7!DW"WO7Q_/+\TY?VK7I5PL4E$!Z"\B"0_+(0MJ%,092 !.ADNW>6 MR7H9PBG8XDL/X; 3;#_8A;KZ_**PXRXW5\U78CN5O_^1]03B+JLF,'60#^ZP MR2[9[$T),FX]@JUE,-K /?\)_?1_$B\#:I5!J/P5%PDUBCH"HQ_,HR"*AW5! M/%HH ^(A0> P](4L&/>$8!W18?O?R99G?GD(T7%R++)\(FIW>M(1,IQ[.NCH M3=UX$7N&=XT6-D&C]4;3W?'BFT5I_4F'0\7I'G$?J)5NL5'4LN[J7-0J(1/: MO,LD2.CSD5FO442_E)F'"L2 PRTXO L2W,EL*LT$"Y&%9,4Q)-\3/EQD_GG6VXRNXCV%#$>4L:-%_?T MYJ^9?T>:,*9)\?8@G(H*"G]>D1!PH(O"0;DQLF8_;4:!VL%)J1UXVV]MPG! M>7>%@/:*JA$OP=OZ:!2%&>V=%X=[V2"62$&L(W@&A7D&(D=Y=.< OU:P( ML88@/-MH5 [VI-=[C5,>T3-^Y8%:L T(#SI*X%F0ZM:AI..9K1!!VL)5T'*J M- 'A'4?]0!X0W=&EN=QZ#.,52'.+,&!K?N*/O+;\CWEM^H!L<]G"%X64 =$57ZZ^0==GPC6?SQ]%]IHTT4@:!>5)2]TY&'J;C.7*=.I7 F14F*08&3+F<#"0YR0F0>_MYX4 M)XU\Q,V#D;;%3^U5SL_D[ZVGM)'P,SE2 >*U/*4,CEF'5(?(#BA9).1\%00 MK,G-NYSPCAC13DTO1'-L^>_9)H@L;+)F(03\AVRWH?]W=$\E/V=H%;%,H]N]/J#QD*O?*C[2M- M1Y0?8\\E>+E$Y!$96!,[J7.+=5()PB<%FN&E&YFE1)$_%%>F/K]4GU^JSR_5 MYY>2LP$ J'U^J2//+]7=_"^B4$N*6W"?!:;);?%8L\#T.41 Y&N#G!U/% Y, M<9WJ<^3U.?+>6(X\ $)^,#NS#(GBXBTF*LH@0;;G=OO5>I^TJ/P%*8_PO(G4 M17U8^>:LJ(U(7XO!Y:M-23&S0[U_9!% CFS-RJX&X85@'A'(I@@:=!S_C1LJ M<=CPGU'8UHR*GA/X;T1BZB*"'#>,W#ZT##\-A]C\7&D/$)X*YA&(2HGOL.R( M(JSG:P+"P\*:T%<*D\YQK?GU-& K#EQ1_O/_ U!+ P04 " !$@6E34Q_K ML;]] !.@0@ $P &1V+3(P,C$P.3,P7VQA8BYX;6SLO6MSY#:6)OQ](][_ M@.V=B"E'9-E5=G?/VCNS&ZE+N;6CJM1**O?V5DQT,$FDDF,FF<9ARQ$Q;)0'G\A#GP?W@7__7R\XCSS2,W,#_MS^\__;='PCU[/_CC^3MVU32A16Q MFH%/N,COOWV?_^4RE1KX/Y'W[[_[\;OOWWW_GOSIIW=__NE//Y"[CWG!C\S* MC=M8TG/]7W^"_UDSE82YZT<_O43NO_UA&\?[G[[[[NO7K]]^_>';('QB]=^] M_^[_?KQ]L+=T9[UU_2BV?)O^@;#R/T7\E[>!;<4<*ZGZRSKT,@$_?)?K4I: M?[W-BKV%7[U]__W;']Y_^Q(Y?TA-A#]K*,F*PU^=.*\@%_[3=^*/>=$3T:G[ M[ /]^!W_ZQ\8<(3\:QAX])YN"/_=3_%A3__M#Y&[VWN@EO]N&])-M95>&'X' M];_SZ1-\3W#S1W#S_9_!S?^6_OK66E/O#P1*?KZ_43K\8TE66HF[HX71=Y/Y M\\A"B79R2J[9VC/1R*'R+?NIY"!]B:GO4"=S$736B.8F%6T 9 =V2: '(1"$ MIY!%6<.+J/WM4_#\G4-=B,EW\,-;^.'MN_=I,_]O[%=_OPP8\RS741Q:=IS) MXU[\VQ^J_MX2%; =A"W#L@-6:&?*V(\->*0EOK,#Q@3[^*V7?B%>?1,&NVI3 MA;J@XH]_]]8=OG#F2\F1D$9!$MJTU:>5[5=AG=O(2D!'0/VWGQ]:&/T_K[(^ MPO(=G_)%88T] [W--]$%8QF+KD#!J8PKWCMG94#'FS4UG; MNP7F@HF0/#VQA98?N4"OCU/BKED4VWRCH9N MX%S[SA4;XM9@<%QN!JVQTK7CIE@JA+P=5MO:NQ$*L6P0Z! 0/%D3%*/.#ZY' M/R6[-0TK/*\H@KCAJ1S*VMSQWY$V-Z6975M:.KT B42(G+B-W=,G%V8S?OS) MVE6QG*(8^K96[5BYO97+H&YS"E-[MKM"*@&Q$[>]&]\.0M:U\VGU0\P(]C)( M_#@\7 :.NBDVU4+?,K7<+C?4VBJHVZV>Y3V;<4G)@G U) A)JHJ KHG;]J/U MT-'KBZ/OCTWN%INR8K"J-MPD\T]6R\33\KRS0P%EH[#L(O2 M_]RZ/GVOA*2Z+/JF6N-BN9E6%$3=1.OL[=D\4YF+[ <"TLG*GYI14_67[,=5 M^!A\]9O *)6<2],\=:^R81;%YM L*ZP=JE&":.CJ0;B9!LE'&ZOP+@R>7=]6 MCUN5Q>?2-!6.5K;/H[)S:*0JDX=IJ>F@=!623(&9UGH71+'E_3]W7SO'4A2> M2TNM=+*RG99*SJ&55AL\%)L*Z82)GW;.!"R^#*FE:)1'?T;<#*LS:N'C7#-*F;4MPRLV[VP:^>NV\H@CB-J5R*&M7QW]'VK:49G9M7UP@ MX1*GGC _4#L)6?-^__WZT8V]*LZJ*(*XC:DCU661MDTMDWM.25/I)!=/A/S)MZAC"D>] MW6=Z9<56:E7-;J>B./K&6N_H\6YT55G4C;7!Y-[[S[ET."=F9:W7P'FQ\-** MZ5,0'I10')="WS0KW3H].)870=T0JRT=X/A82#*I$[>ZAYWE>1=)Y/HT4G?C MQZ70M[I*M\JMKE0$=:NKMK1GJ^-"229UXE9WO:/A$QL6_!P&7^/M9;#;6[Z: M\U2ET;?"6C?+K;&R*.I666]QS]:9"2=".DG%3]U,7XI[#.(PN1J-JJ+X&ZC2 MP:/6>5(.=]-4F]NW7;[(5UN$[*E[["WUO";*/"J$OB%6.77474LE4#>^2D/[ M=M8@TQ ),JT[./P;V+\^;"V&URJ)(3L%K'^JEQ?J*Z%OCSI.'ZT!U=1 W5ZU M#.^['L1U$*YD080:(NF9NDFSV7UH>3>^0U_^G:I9]+0<_H9;[=I16RT7PMT\ M%;;V;9%"+.%R"1,\W6D9L;KTP8ULR_L;M4+U'=6:HH@;8I.#^8D:13FDS;'1 MW,XG;=+%X=7YX^*H:T1399V_L" MM=PBN6A#S5',L_0:9+GL;)IDA8O5C5(J.(MF667O4 TSO> _;=-<,@L<[I]G M54V CO^.N E6NI(UN](?D3:U:AN[-J]<&@%Q71M4UIXV5K3F6I+H[9-E[46C MHEX<9;\Y;EWIK__.+QN ':O-!]>W?-ME812(-2=%SKJ659&VR2X 0'-M4P]A M2^YD?N?1YNK3U?6GA^LKPGYZ6-W>7"T?V3\NEK?+3Y?7Y.$OU]>/#^;:_C** M:!PUM/*30LC;<[53,@#L5R@M/)O/K)=!2E$TNM M8#HM.XN84KAX&EI'!=%'F,K>?DURD9_,PQ%Q0WN9>6=QZ>;B[]**MDO?@?]< M_R-QGRV/614MXTLK# ^N__2+Y27'"WYMZR*/SU80R/&J51%Q_+:SOW-+9^)Y MBF/^@Z1H0:R89+H(5S9*A#_3Q^;1MR%T7WU*;,FK5' M/]&X^O2Q9A7DP:[C<*E/KBF/.+2US.[<0Z?"22&=Q?*&]:1DZ7G!5W@/@FP@ M+U9('3F0GQ41."2%25A+IJYZ],8[O-9&2 11\0)DG6\23QB91BR M,O_TI\7W?_PS9X9_^I?%NS_^R$8%\/L'UI8IW#\MUKE_VU(\HH]-5O*5A:?BD^#9Z-9$S2POW M98+1J(:89]I8WS6X4ATD5<)C@*LA1U,%,_.#*2&@0DG$,0@X!C:2B81.G,\L MHAMC=RY1.FQCG"3J@MCRM&?E_?MO4(10CA"\+%BT>%,@4+PE28ZAXG<7J?.TT+ MI_VQG&YBIU&=%F2U;^WZ= 3V9-K(IFJ;TR%\M0X6"D.1CO$*[JA;&[AP ,"._IHO>2^ M*U"JK8 \P)N=E<-:71IQ,&L8W?GD:"J:"-D\:[\4RV8&\5/X&S-'3<^\I:6[ M3ZRAURYFJW:/,L+S85@,W$XIH]^X+_%L@(F7*Q= M^L,?:64G3M>-$F[LTFCI._QR\C;P'$87 ML+(4'QH.3K:HCCRFV@(A1YUN7<1QV=J%SCFO"T7Y2G)\,'X6TYC_DJI_CE(T M#)Z:ELS3.SI=6V$^,:]QB%I=>AYQ/?1!8TDTGC/5(_J;N>@5*LP?K[RS#G L M3.]@Y4EAY/%9[V3587(OJ;'"0U-T$=S+YVSUSLY M'?\\6B]4;P1071(YY]2X)[--13'$/%-G;>=F"3*1=/EC^)=N6,$^#HK!]Z6U M=X&#*+-NM?;<)_[F=4/GWU@)>33J.5V^Q5A7 W&,:AK>_;8>%T^X?"(I,!RZ M$[GM@?R(1-L@C DS:F?N;N:X_J;K!?SYE\"'>U>V# $)"IWFN"S+?G\9[-:N MSZVY#'QXKX;9SGZ*7(>&_-?9>.I0SW.]!"+GP/Y@R?S871IB[AS J:X!EZDF MDFY&J;EV4E*_R"=D!\.\:Q R"1Q;5A1E5U9,<3-"3%203'R(2'NU25T:.T77<>)Y661A[Z-4Z60J_RI*80[#>X,YAR,2^A24% H(7 MI+B=DDW&/UHQ/"! MT[5\R'MWI?D"GLMW8WF.9N?V>%5"[RZ>J@+R*&YVMFXI;19C$ VC!UQ0,SWH M&-U;^:8>BGCML W0&-)]92*/^D$@Z[E-.0ON&,8O YN5IFG(+'#J+4N)O6:T M;3D!-'7(&-DF:5Z[QL^S%>XH=D00CG9C2+X' M5U/S&+?5<51? WE<:;A;6D%5%T<<=SI6=^\%&EDLG]->6I9,W MGX*8DO<_G*0EF_(MPY99%>:<1Z%=YH19YDH8,3N +/J?L]P(RS@.W742PY4* M$@?DSD)QU7HR&"@7;K8##GQN4^VC5:?%D,>JRK'C_E4N@S@NE:;VZ5G8[(E+ M7(AWI!;D)HH2ZAC;A1O)QTCX^$_OOGWW[CW96R%Y%NZ^7[Q[]P[^GT1;QCNL MBTWB;1"ZOU&'_?%/_WWQI^__F/W)Y=#P3AC^\L=_^2,)DCB*V2_@#(;J[9G_ M0?ZE1L4?WRV^__[[*A7?_VGQ[E]RY:>:3IZS,?J"C=@*:621ZI+(B:3&O:,7 M:8Z+(::3.FN[1ELNLH^VY6VQF07\B__3#GX0'Z,AFZ3C\O6S+N[-< MY\9/SU4H/K^Z-'+2:7"SE)"BNBAB\FFRN'."AEPN <'$]4DJVMCS>>-["B]< MO66>VM6>3IBP(:16E(0'SK1BY%4W%J@ICCPVFQPMY6]0E$4S'&&[8_"C=]^F3%U*F+T/&]30<)%NQ;1?&"_*D8%_"YQ.+]'XO.O-4+ ME@LD3UC>T]AR?>I<6Z'/AAO1TK:37>(!]%=TX]JN:BU0JR)R-M!W7N:%YEJ( M&:*%\5VC)U-!,AWDC:2%I&J,/<9O[?MYDFH3!X&.-UTT=Z=P<\6:N?J M]PP1QWR-L1/L$8X2R'L:NH%S[=?.&4;P^\+RX+G[$7UZB*TP/B.O&D],C>"/ M.#@5H=K ;4KNKT!'HQIR0M5UO,UC%HC)5MOT 8XX2H]7&#_M.(ZS)T<@N<%7X,\/07@5).MXDWA9TO%[:E/W62,[?DL9R&.^$R2E"5<; 8C9H)L? M/683(O-^(7I!WZAR9$_+X>E6.FHP-%?%P4I=?,I5YA:D%0[71JI4?D[A6F7VL#$K:4 2 MN"/X7([>0.VRJ0L*+2?"VI61AW4[$-0W&V8X(V[IP&#W'Q#.BR>' L_LN.RZ MY@2YL=*LHEYGFEQ?8S91/OC<\22ZD:&JIBEX\=Q-';Y='.M&<9NPZRZH:8JE(W/KJ=S M'/T<6[I7?)=?*];/#%!;?5:QW@R$.NC5=6<3_1HN#$8#\EWV0MDHUPN[,<(D M8*34X$E@&)YW5]RP%-RH *VN//+8;W2UX6JP*(PXNIMM'OIRL!!OZ+GW\;TM M]>3F8E3<0.(K@9!KL"&%G[HT\OAL<%..3D51Q+'99''G?9W5IZOK3P_75X3] M]+"ZO;E:/K)_/#RR_WR\_O3X0%8?R.KN^G[Y>,,*D.4G*/GQ[O[Z+ZS:S2_7 MY.83^_>UR?OIS]1/Z ?6%B [)Z#R5S?>7B8L^G8TS!]26T819?_GJ.^P=I.$ M/"IZP%.^TMY:#.)HZN--]RO?7">!ST,RK>0K4TLRO?*S?YEJ<[=:#8)D[N;_ M]"Z+RRIAM>-3GH2)XM7FYR!P^*4<&CZ[-HT> D]]3JVF G)2;':V? 9&51HQ MQ6D8W?TL2,3O0'#A_&I5)IZ ?%.G7T;W-XU1\H8"#_";]NRW#MV'U';%;!S ML'9!&+N_B5]$V^ K^U^ZMT(V=/,.A!D=?#68TON>1I1%RI:!=,7\\8(]C">O M7_;4CU3K=TUUD$>[ELOEP4Y-!<0QKV=W][Y92$_35>7R2:K U"AE3)_OPL!) MV##-*40;S*!!/0\&'[[ST0I_I?!40'WL1S87MS]3GX:6QSQ?.CO7=V'I M!K+ZU0=O"J?M^RR!K-1/:7?5DF#R:>UBQ$_ M."Z-]Q4HU== 'L<:[I:?TU861QR_.E9W;<.R[ 4;.>\]FD\6947\?/AM% M'6+BFL+KG@-C,=XO3N@( TEA(5ES$[/4U1]IO T<1I#/S C^C/,B8TMN/Y_0 M2_:2S& S4XH9?($47QP9ZW,U>KW=/27/;^6Y2UJN+=44QPY*38Y*O.CJBQBJFPTN6M;S5\/-)QV M:WP']W","43_A"<<+ZS(M341R&*;OU+W:;DZQ.#5..#F*0,U17 M8&3J:BL#,:=U=J5KL&0*2:J1")5PS_ T$5K.@^1+9L!_F*%$8SB]M5*<;"D_ MN9PS[63"-!6=3@[)%?6#G>L#91J<)>JZ73=[;"OC3#A5.=ML)> ,V'2864Y+ M*C4X<9T6%Z,36C--X*270)1:4X%(VK/K)M%M+V6>I-D$BP9MJD3,CS@;/9EV M%(J*/$?#QO LW513R"G4 4UP[103B5X&NWU(M]2'I"QB-_03C5>;1^NE80JO M5Q,Y6;9P_^AMKZ9JB$FQC?7=,_](.LHG-!;DDW@)FNE;*(YK&)^73X^1.#M@ M< +*C_%7^ T?+?/]#FZ=!K[\T1X#\]!>-F)J&]K#? ME19M$DM-PDIFN%"UYT-['X*0C>+\RR2$I/2'Q]#R(\M.+_CS?WGBNK_SGXFX MQY#!V>%+]%(V8U+L#[(N1W;7-%/*',#A$1DTM8YDYA')/I[D0K*0%";*U(N/ M3PU"GN%I9WC&$GY6KL_4!'PNJ-G)+O%$@B@] %',UMO/8_#W&AKN:L[*$?.W MCM6&9N%FKAF,"8A(&5XU C68G#1[FF*UX2^J; //83V0N"G;,*O6K8L\T%M! M4,I>JE,1@\5?+PN+K\][^L;J^N[Q_^F5S_G\\WCW]#$!2/0$E- MZ&6%YM+,2TY5MF=>8@X-MVQHYSRTF3CRA0L\62@QT/)N79_RB_M-$,@%Y](" M3YRK;(5YJ3FTQ%-C!VB-()1PJ2:;9/,3WO-ZM+OIF>Z9/,P]Z-O40MABS*>W M]S1T ^?:KTT6-:A3%Q:K:+,YAYN='1HG\X'PC,5M&&/R38=+Y%)#(VN;L]O+H6;$B\I>+M7/B'.#8>;ZV8 M,&O(FE*?A(5QQ.'6\3HB1OG"KAN1+;.23;U)G-KY[2B\4,7>)D#D^HBDD B- M1*A,7V,F?TE!R?1.G3#0"#3B-)3<:#9!2"(:QYX8A+%F1G=[+SA0D6 &7OZ# MB3+6"/^T5VWW'5,%%>;#A%C\'2<5SHE2WOSG(9!UY:>S>V/.XGN.S TC7U M(]YUWU,&8^3&-'U13S#H/;6#)Y]+X62J^"P3J$7.-U,!+Y/6V#H1,]]DKG3..G 2688A$TG%T8 ;WP9&HYQI^/.3DB5F*!8]M)S[4U!M M2;WYE.S<,C%=/QF&7J<=!R]SE_8P=PP"Y3IA-UG(>;(71.5%WPZ"$#-:/W_Z M3?2$VLHYWH)DRL5 D&3J">@W],"@$:@NY8OGKD L\1U()9\AE TBT\ MIPL:\GJ*O%1$UH?JU:2O5LAX*;5ID7-1!/MRPG13SW@90#)C9(J2DR,45<;\7/L MKCWZ0&U6,G9I2Z[2ECE/RFH'F>ZM-!5Y'VD,_COM$O_*_ M=!FOR77GR5+5$.B.O_**\^,8,E$ %W\,# 2(X=>-LF4G4VELSDLOA-HHG/H2'&GE>?)<0H0M$=<,V8YE0-CCJ"0\MS04)P0W>B71[N3 MWM"^%]G"TQS1;N5E8".Y:2ZM:/O!"[Y&^BEIJJJ@I[IFAQ4):$[*HZ8U#;-' M33=SN7SX"_EPN_KK@]%GXL'[.WBPWJ'.Q>%S1)T;?[6GH07+Z$L[=I_Y+*^A MS7<2A#P2NH-S]"I]2RF(HZ:',YU[!!H3T$DRI7!NX0WH):[_#N_,!]'=]V/5IZ;_XQ&(9Z1E*%G)S&!%AY(W @/8@);E1W M.]_\*XR"5=#<+)[ LI33$OX\-[*< ^1A#KG/(!?Y,N'W\"\;\-Y+> <55&R. MB3EJL+C^(0BO@F0=;Q)O:=M!PEQ3?)&&*LB94<=AF>'JRB-F*BVS.S?_5!!P M#76?(2'A@ER&U'%C @%)KL7%6/+FGL+>C>496Y@8%8<+RR$.7]K-'TRSARQV\8/%;5=JDEE611W@; .1(UZF'..);F=^U MQ%NUGBNH;BR!/5Z5K?.:'2ED+;3$0>(=Y/N=G>@0V9/]A ->$G**0D="'= M@U7L7R(=W;1IY\:&1)8/H( &DF^H'2A-+7''$((S"8+AI87QO.+A9IEBP1%\$_/M=:N9WBZ M?Y4>FA.+)X_62^KV!?7IQE6MH3;70AZ,FFZ79P.U51"'JJ[EW0? Z<'+=&V1 M:2@F_*F2<>;[&A. B5R/K1>38J<%AK)?;1Y^FY\1ETT2O(33.#5S4NDLCU:10Q M1EJ[/N>-R\"'E1#&G.RGR'7XOEW@2XP:76[AQQM_R==9^!68JBJWZ=C_\%Z! M]'3:D1/(Q)]!YJ.)5".FMZD1Z+SOEMI))$/Y#;I4+RDIEH= <-&.FPO78I?Y MXJBJZH+D5IN9T,SEBQ2@;BPW+)X_L0M@;5FUJ9'G:\&SU\-*J_0^."P_5ZQ7 M5Y5!VJO4NE1Z_D@N@'S?2&UOCQV"E C3A$VI']3K,J9MZ"S.FW M?\9RJ_01I^;;<1Q;R2X97'Y;L1 (*\X79E=%\MLCBEZH37VDS-H9"GG$K5T9 M\9BYO0^=6S]HJCRDNQ"G>D$=R?69&;!.#(?))3WQD,H5%?^5#ARG;Y8T7$QH M)0 Y"[0'H[P0J%L;,0]T<*+[ZEGZAL^;3-DW,%,HF"%5./;9?8WYUH2HB"D3 M3T,K';&/(AI'_)B>M/_.#^;#VVIL/"'>[%QG*PIV,3$T., XA2T[LUR7 ><=,(*IPOPOIWG*= M[+Q!NO6R]!T^ZEER5M,&3U/8["BA#4CU)*$C:5:TT&H:L^.86IA:)C" M5%6=%8?4>S#TY(4'1*%M JYX;%K+F H2X;L?^&_Q$D(V +NS#C!8XH.GUJ.W MH\JSHX,Z$/1F(7+-69%!K0-CS41290O"U9E9T)P("C$;V0N1V"(_3-C(JE@^ M:8/4:=4Y1KT"@,:8/ZHWMXA7F3]\O(,F_&V L%8U-%MUW.\7 Y72U P1GZ22T5(+82@)POVH/1 M+275\<3$F"!//:A X\9/'VGLFUVZ7M \&40#' TF MJ9$R/T;1<68D9LE58TJ8:@"F @<4V:73J^_18["$_"LA95@PYHL/=\R_>.D[ MU^RW^YKSV:T$(">2]F"4LI]JUT9,'!VCA6% 5%@8I([LH"*_7I(^ I']Q= &M%S$WVM MI)8X:NK/B3ITW!B2/ I]/!,$OZP, Y),*1KZ&!.8I91&33JL#9BD)[GY5,<: M!9,6N:8GQ>3I*>2?2!63-C0\<4'U[=\>X"%H'I!\^0/#7 T>*1&ROSX1,>9D7@E5SV# MA: Q82IP0+$0=$_WZ9!LM;D-_*='&NX@O[8"L)KBR$FBR5&9"E1E$0=\H\E= MVVLA&"81(/HM"ZL=SPMO:F8UFK-WDJM>[JI3X>KTZRZKS4<:/M'PGGJ #T]\ M7T%4#1,O?2G(X[DC+%4+,)HB$$=_5T^&B!.AD:0JQ0L1B\KNWO1"S%3HY"FP M4Y8B88I-',CI[HU3RH<@;$K3UII@.LNY!2AIRC!R-1D491[[?^ROH6O_BH30PL"FU(D^L)@5.=7V/#W)]0L-;3=2 M;TAIU,-.3+JN'[W865\),\%HV][].KK00 !IDF9 %$I(KL7@:YV3NF\'NQT+ M?9'U$I[$8O&?[/F+ 4*AE!-S;S@GD(Q-]D#8:L.?4H@^^XS&;M@O&+<]0P*# MZA<68&N_YE7?H<3/B%2& %+%/7UDSX2B!G&Q;R@OBA?\6+0*0Q:D\2V4ZQ?; M2QP8'0F2&9G]&I=KT>%:0Y%@#J&[O1<<*)7VG9E&7 1YX[/!F^7=)6O/M;/T ML2T^@*K^#"FN%HHF#JNL/#.2JO=AF&C)F2A51H2V/,4=SF ML[BOH?9./FT IPS8W#)-S'T+-]E7;&CV)+)A:QQ7:!2 MG-#:@Z$Z6%-?&S'9=7!BF,,WH(S?!N)Z2*$(PSFN%SG6W@P1KU+$[G*[!M)0 Y M.;0'H]LI?,1DT<&)"4_=H[K-,Q8F)XE=BIL]FXH3^.:XXYH_L+/:7+_8_'6> M>\;#*Q^@@O^'&^;/ED?YNQX1G+B!@XMP2=)WRK^02BJ^P#B:D+/1B/#*M#6" M&L3\-J:W78/^.G^H*K.*@%F$#9M 5?K^GZ1Q00ICQ!]A:G7\.ZF"F95FW%C3 M#.L0L+;3]\48YG8&*/^!%LKY+\,"9?B[.?;MA>,=?^'W-+-A>FA"_F(",<4G MGMP(Y)QMYJ/(=#ZM!8B9WA 0W5>)!F'Z!1&FDXH$JPN2.W#4TP@?S(RN9_:= M8(3N9MBZHK=8G'05BS/J*\;X;F?.Y(,3\[GR+!;:'(7Z]IRQ)XR&=H^3#W_-&+:N8Q!M,MP8!&P\T!1K MQZ70!UJE6^4H*Q5!'6+5EG:/+R$OC:WB#E]ZA,K]C<+"EBBTF/#IC^9@'!:( M,L!<4N 5!T*,3A.SH_64^>]:CY1+H(\XJL< M*DUUI;\CCMM*,SO/U/+++*8NU _JSF7 (BJ,T@ST#S2$#*]+L@^S=&CBLEH< M-%Y>B[=TR*NOSC.$V?MW/_[PC@>9\[S]^R/L/27A@2-P3\6M_<_[P"^\@/M\ MJ>F\U&.@/MT]D$BD03PD8!#T0\@S3!).8"=\C05:[0B-H?]2,8LA:\>O3[%H MC%-STI@+J9S)!\+-+@5O0\Q^.PI;5?$N#B@S\ 1A9R80L(%(K+>"Z\D9<*+L M8S#BV?TFEL<%GE[+T^TV3!X#J+SA="/N6ZLRS3770LK]+=TN;];75D$\S-.U MO&M0'%_@(YED,\/ L=T]>IPH?\PLS9)DRW?[C ?V]^HX;)PSJ#(&+)/X4 MQ'^C?&VJ'D2=ZO,(=6T@*F*^L2[^X-=WH>^=5EE3S@1DG<2$*2,'*I9R3=WW MGQP.*XHHW(+D*S+B\HYE\T0 $5S\M=9>)Y*HF@5F29T@>8%.K.O601K@K5S. M)FJ-%9#/Q/3M[_RD2P)1(?;:@R3FV^ULN,K:*M]Y**7M@&.OW(1IYU#C@Y!I MX#E9"A:[2%GL;V.R6.T,:$+7>5X6^,)>XO#+AB?$Q=>:V2]#F )1H%23(YZ3 MDVMZAY8UJB$EP+:.EW.7U-=!/*+1-KU[GI+3@\*3G [6&+],Z3SO M[(!+ / M*=^"3F-='-$,XBU,>]+\;.EX)UT.N0S8G,B/^$LJ?A1XKL/3/UU8'L]X];"E MK/ WYCAC%3Y9OOL;[VT+"^$ F^_0+F$:X M;8;.T:"#&!U9+L6,C$W7[A@X=O.+R;45D!-8L[,R%:E+(R85#:.[MMT+*W(C MD71:X@$@AH=DM[/" ]^P=)]\=^/:%CR>D=M",F/,-71N/=_;S6V'5S$*W[GP;_'!]0ZI(/#*2J1(GL3-E"+K/J>$P.')/)\F7P6[-9NG\+%9# M%]=0!7F@ZSA<&EG7E$<YI&!_@27-X>NLZNU;3T*_JU$/.$]JN'SV^6U\),1OHV][Y M]:E4PX)P';RQYUH0-G+]3K*EB+DV?XF'#"I9.//&.!X:?2JYQM MZNF:ZLRP&=?V9;459M:0AV-EJ25+\A'T39.YC2* X4%D[;5.96'D(5OOI!RK MU241!VF#P9U3?P3^TUL6*CO^G/?)+6!3[;.I:U&7GE4+K>U.%$5GTT:'/+6_ M1C:O&E1KN5N;,GU4/HF-U_RSZJ-IL4S?24&5^K;:V M0ZDK/Z]V.QSA%@T75P0I&'^C"@E6:!O20B)HV!'.N5[?[MA252VQ3J9Q!P%S(@C2LE MO:6>2\C5P]8IYJI%GD/0-7C6.>I ]EL>T2253I9A".]Y\Y_-=^[&$4+'2["% M'A\:.O:30LA9H]JITD"\5 )Q3"L,[=4 MX'GL$CY9R*$&WYY*+5&V/(IB*G^ M"D^;^LB;;&LH3AXTTJF,N*&W]V'(&("\L137(I%90 RFQ@]V.S<6\P'?@>NW M;-),?4@*H;U?T58&$)D=+ M0VA%6<1QWFARY_&@$$QN_$T0[@PO4!Q[V6)VJ%5S9FU8=T;87&U&+7N424_: MR',EN+JJ*2' $>?).J+_2)@]U\\:>XTUQ;%'=(.CI3!6E,4CUNL!BZE>F\'>K=O"*5[=X*B_SR+IM% M[3T:P4:>E'N>YX\]J )R"'E( W8PJ+*W^'H)0_Y.WS"^=;[Q4 PT@TWV;!N, M0/=<$7_(;YWE4-X?YU#>YV;"GVW9T&G?^3,+HD@R+9Y!S_23)7]((\>'_;7\ MT(8PPB /8\$M*.-FE7$+CG S-]+Z'-'5YCJ*738]H:HW D\*(:7H>J?D@52Y M!.+1D\+0KHV3B8/&EPM1*KQJYXIT\.55:ZYNF^ MJE>#S$7O)_I5>F<@#'SVHRV,$M^S?K360PQR!N@*C,P1;64@9I'.KG0-.Z:P M].A$224^TID@=Q$$;P>K,3*Z(%JZ^DII$_I&V-I)O5'>/E8X]BT M5EWD+-(*@J,CT,T5$?-%._M[3-,D+=#Q9H\7?.&:S//"-#@\V%OJ)!X?J#B% M1D8+H>G7"S+3P'4[>/+=WZASP\9%L;MQJ2.29B[M?R1NR/[E.[>NM78]-X:' MVQBQ[:BC11?#:T%.+"/!6EHJ'E8%8K(:R],APKFPB!0F97EX,Z/XG$0RBZ1V MH:%!S AO(%/4,\\4!6M] EE+1M:3D+529*THF^?QHI'+>R"8XF'@6C;)=&-Z MZS[3DYS(+?FTC:39<&9K>*IY45O,++BOO3=#1)_0^I:KK<@TCH_ S,#D%LAD M#.7#Z(Y?BH,-BF27I#_OX#C*;Z;/BJ2V!W5X?4AB. PN&7S] A?N]*:( ZN8 M"7D-"6@5JPTA?P9T-ZB;X_/@@@B;B&P42:U"1Y+HP,T6[QVR$3!2IM(^9DO^ M6S^JYMNASDIH=21_I>[3EIFW?*:A]40_1W23>+?NAEXY.[:[PS<6P$%,+ZEW1TXVMJR5M+F,*&3#O+A20_ M).%6LS ,!'LQ ;[Q"[[AGO)2@$OG[#"M,LM-$_<[*OZ=V$H:,OOA9N+9+ MEH/H0$XJHT"J6.;LKP Q58WCYR!+ OD3%HML.?1XGR>SBK#9:VX7$0=(L5 @ M7H W^5$\UX_B,!$G^G89IE9+@INTDCLG/$_%*-Z] 0R3;7:G.J'PVE M84#,#G:,'SG]Y">!UCEB3HK8]=T#!G(J$N;**6UY4L'5GKNPM&/WV8T/+7FJ MA^#94%9?\*K9JZO461!9;^=&RF^]($(]FT^G^A%RFCGP)'J+0!T)]N+N::H/ M%Y6EWW<) T<9'1CLBCN[<%13_*XSK?52,D.*ZP]J$]UUUS SZAO T2$BN9(2 MP:8%X5:EE,CFM+EA1+(,-4$B@?C"L^Q?W[+?,$>BMQ]I&,-E)*[V[3YT;5@W MV 4.]7 1:/EYA2AFEK(Q*\?QL^_&$8=UT(%A>RTSI- !8&TS9&RI8F8D.H2G MHPTF"X-2*@639CBVG!Q8>?6OP%",.3$--J]W>R\X4/I PV?7IM7H+3UN2WJ] M,[O==$=#-Q#/U;18]AM.Y?-H[)H>"Q=7\"ZMO1M; M'EBS@$/P":(S/H@Q/I[1IWC;DCG9J7<,?+NT[3"A\JF EL-.#0&S841=,*HI MKJGV+#A+VXDA B155MH#QDP7P0Q"N]GQ/V'^ZI\F>#;,, *'BI&!WP;/@HR'\&^1DH+C%EAI" MA"79*"KBV4ES8XBP!B&584$SO1.X2]'T0!\)UIXKDO;@8SV.B 15.CCN3WGM M!,^3[SJ IT%V+:3.C^FZ.#<"S7%]999++9D)QYG"L9+@]AF.B>_0D%A/(15O M0+]Q?=M+'.@Z7)^Y2J/X&PP4>)%$KD\CD2=(Y-N)+@[2OSB"C5]$6\QLZ*T= M,-5DIB=C%M35TI5!-@!3E436N8!;Q=(O4G8ZH:3I8JD"F>6+J\K9K2Z-/#(: MW)0#0%$4<3MOLKASTOF*)DR^@&AD#58D9J-7 5QP;@'2<;T9-N)*UYN:V#-O%,!_DBM!@:,9KQ?M'L?M<\-U=!PCJ[9QJZF\.-;W_[D>[6-#SR MOK8@T@!M=B[+$%-="GE^EP:CN[8^Z0%#D;4.IA=Q0(0Z(O014#AI1I61O)7% MT) T+X9HX]"P0^E",P27T$URY7FN=C2\,@52JZ\^LVSK M[LF^0,=2(#'AJU<)C('@^!6\W0VKHN&CQ$D,FG&32#;TU-86W8>%MI/!VPDT@.+NX#3R'00/IS.+#IR"F_+\^-+P.?37 B.,H.4\SWJCV"]F*0QW978$J;0"UE(.:!SJYTW@22%/XS$2H) MZ,PNUW&U"U(H)ERSH6UI(_"02&!@%QB$51C@>)A. 5U#%>0TH>.P[NMSB,-? MR^RQWIH;;ILL"F.I+;-_';=C]JN_B[3"210'.Q94%=NXRD)(VVJ]4] ZJTL@ M;(\-AG9M@9FTH;=EM=K;)VO'YHDEKRJW8)O*(FY]C2YFC5!9$&E;;+:W\WR! M28:D[VG2]KR!&ME+'=?51N>Z[I0N'38LBMV(N77EAM2.E5NEZI)(HTK#O6RS M5%$,^6YID]6=MTMCF( SB_D)3<@MYDH;J)#B.\WN'P?$RFR(%L3A1DR[ASH6 M!I)<(@0;W$4=WTGR-OUZ(_#*71@\A=8.FH^MPRZ5Y>?!,6I7*YCFM/!\^*;& M]DE9AT7G7C+%&/>,@(?,0+)X'#PTJL.,C>2O.MCK9\E^[QT>7(=FPRDE'=44 M1B!M!(/\SL5,S)GZ(:RP8A& "DJ79E#&V&=O/ MM^6/B&Y%^+;A&)E&-:18"^[._ M=CV/.O?4IBY_UR"Z3,*0]3(*D&HK( _F9F?E,%:71AS &D9W;;V9:"+)7I!4 MNIF(G<+;,)=M_ASH9;!;NWZ:DS#+C'7C,'_=C6OEKVUFQ]/*#TCQ7*_LEZ+( M.HI#RU9%^:@*D;/$^&!7G3D=7AMBEIK Z=YG5R7;%J2PCLCF9<_.90:>O#^7 MVIB_3_& M#S :1ROTOA:F;G(?&U\+>],*"WFQX0QH>ZR/\1A:#I66*LZ$M%?QEH:?&$_) MN$WPG51Z7Q%=UT(_%E=7*GTE1%WO.S*6YL:2PMJTYOP9>IRO(."R*C&:)S/? MA0$<.CC<,43B=":RWZFWC:;2_8H8NO$3C,722L6OA*F;_4?&UIG!["

1CLUS3:/R:&C88!&8 M&,@QDPH=Q W[N BCF0M_&,L!MDD@@6,'3$_\!Q]MJ>^P.I;^Q_N,_,K\\^-N M]U2(&B-!6N 78Z5UPUH<.:ZIH)Z.^\0)+(/;\+: M >&!H%J]U-D0-3E>V2.K3^,Y9BT.7;!%!,K/C$=BGF 6 I66QD'=V#L]@O! MGQ[!59)E$ABP3!OC $P/KPX2.":U2\4D2;3[KCF5)8-)..%'%M14CWN)I:8']?++;$#)C8 08?43%:*,K3Q6:R[+3$Q_6L_ON9I;JP(1:HK;O94&\RR"P8NGD^GQ1A MYB-CA>@47XL-E&&S_A!=&=RW7VSDCGTZH307%*)UI$8)*PC8('I]JHXQ#'FY/'3?_U];/ M3.X\ Z7'I6%N!MDPS:9BCW1.&L[K@P8D!%_ /PXKCTIPFV+_+J5YHM@&0E]( MW'@\.DOR7&R[I%5ZFZ*1R=SSW4)XL8ER0/+3!MC^38*Q.S@T#O+PTU&8%Q(> M8QX:V#JJ96N;6)[N]M;Q,(/#EKK5>!WE38.,ZKBL+1R'"X:B[VA^ABYYQ3"M M-K9FXAC51L=4.MI-?14_Q4%&%)7'TB;73=@/^4SM.OY M>;GQ_![VTQQ0=(F#C*:+=EF\T-*)HG$&VC7:V3&C6C-ZV9&V-J8MM[W= MJ=JPH\JZX=3)MBI)G1)GPS,]$*GM8BKL!31C MJ[XXG2WK/3V=V[:%BOQA.L>G6]-E25IG$S;#\<68Y6RWFI 36DKU,ZHG.1'Y0]![?^.E4+?^A+S.KLH&^I M]_0T4UG(N72\P'5&J[?R)=IC YE@\^O[B#&-(Y9=/<)%)T.,3U=FI1&5Z7![ M7)M+_6HIVY6A,?W=:2'OSLN B&__MO 07K>O)7']#C>JA2C84&"_]X6\@2_H M&AY@L!C.S/LF*^F\8DRC@V4APT7EV_#^2M7\J>9@MKU,<[!,X]=@S]Q;:EXW M7LP^VL<^4RS,+?U^%9EF!@VV5M57_6W$*9([Y=Z.L";U'=3H* %"[=H#N:^D MV@A'QON\"$3&(_ )]B-18\BM_]5J1VI9(0%1451D6I@LEQ6N1&?CZJP7YEE[ M,%U'.Z5"DL5>??3NU SM]&TFX##6GNT\>E^6Y864WTUND$W.MWRVM.CS7;/: MT!6ZL CK\A=2JE.&N.;TO H9T4F[8BT:*[[0LPMUNYF?]C(KIP;X+$><,4FQ M$0QZO6*YFY9_9U?S'+4QD+D$/ZL UC#11K/>>,O7S.UFDRZ+7&>+Z)R( =*R\)N>>1N4OR6MXL?7\\!#:3.%XGR.:4L1[K MW]_)\N[N,P8:4N90VN4Z9F13\(RXDQ4?TX9L2P_A,(K@]*&%312+&@F*L2LE M<^O!9'CA0?<4K]IJZ(H**(\G*_NZLWTL[$URB$BR=O="2-R3U\R@,-#YNELD MB+4*J,"U,E2"P5S[C_+T7MJW7QG_"&&O!A'+T:]WXR*>!?=$T7KH*=:ET%_0DZ-3.,D*YPDRUOUU6!E3+YWCPEOV6):V9' MHXR?1%XY]N8L!I5;E<=5@:OV>5:K\#&]Q:^%-C%(%U+;P+* R&>)[#9?/4MK M.[H4%[GA4*&19#8YFHM$I0S91CCMM.K1.H1U _8,H8()#C"2HG*3G&,PW&KC M_92H@SF9E#N99VJ-TX)*-EI;8X3G M\N[C+ZG7.:QSV(G\VT?<.\%DWDXPBYU9+BKDC,I4*+(S+2]$Z,V,>PGNY ME,O)\"3)F")?CMN%/(029/CWP1N2&UI19^ M_?7DQP4VVB\_-,F#-V'51%K@MXH34OU)0CLRD>VHKL[NIP5>BL=K\V:TW'K3 M(S/O)E_39E)JS"NLS2_$>J<67_2G'"N_7+YD"'RNX9,7Q1;9C026ZS7PN?D6T$=5[72O!&;LK):Z);ZT6IU1'#APD&^8[Z](R[\ M7MDH?>B"_6V5O<>1^5L'>!86![>B_" &AB.,;@+JW4(-QQ$F?O"#6U%^KW"G\#XF#'RVCP5MV@AIF>K>F0PVZ#71RR_F;3B1-&PX2CDGO!P+/*L MME>F9=.8U,HF+SP4'FVIEZ&'+RA?-!#& ^'M;X#//FB_V_UT49[^ 8G@\LKN(8KNZM:3?376ZFB\7" MFN4?V.Q(>C=$^0/),;EVK&3)\_J4'47RS>YXFRTU5\^X@9"F<,1(>GLQ>@@B MAEL0C.QJWHNV=M,7)[HZ@M?$KTZHN3K]Y!U<'\=S#H%4T[!Q2*[5\'3&-:,(5 M6FAB(''6A>?< ZX4PMR=X\E8V!=\L^.N)X>[G@XI8G=/'Q_GX, @?DD1J4L$ M1UW@A8)FAOUO/3PU^[IAI@&*\=.!5I4Q23K![C[:%UOQ5%JU2K_7XNP^/+6;C))YI& M,Y;6TCEETI[4I7DUUTB2DLGHI;8LU]NJ8EBWZPTF1BD?5\O-2)?.=) 6[[2J MUK3]^LJ#%]&AWBN/)OWR0X)>] ;Q9(T;*K$>'"9B+Q4M'H&#55B'>[ MZ9$\=\I&+S@DN[/B^R/[>__ .S7O50OLN7) ?PG:$DJ^H]1?H\L+&W1Y";J\ M!%U>@BXO;]/E1?#Z=7,M^=[H6]4QW^4:IK:MY6/S=0-;%?J;(S*[)QF-?J3[ MZ&%#SYJ5$C^-E,K6D /[<_QD5ZDEI7+?L&CEL<4\L+; ERT8DV&.'TVG1LMA MHQQ>Y83'F%::)-K8*U@-V--!L[/L?2?:6B;HN*ZH,2OR,GXR>?PDGYKT^VBA1_BR$OPHK=3EC#AX*-*%4GKPV&&C]4J3/)HX?K3< M7RU;:JPF3%%3W&XKDV9D6>,&D=/E-W*LG4T/:@-^H\5;'9Y71YF++\W%*1, M)QSM8TIU&+;=7N3SV=4@>BI\0EIO:$S?;N7"47[<-!+C':#FRF0@L%NA*M%.RU>K2[LCPZ FC)MF&7'FH M9;KT@JZI\P4S2_8,,NH)IP:;UA5QD69UOHR&?5$HBJTI@QZ;#&6 M8\51?&,S$2DVD<_"6=*ZCQ8?1RIO;RL:WQ485FN![I\\65<;-MIN&X/<8GD_ M[8O%7EI1SV*45$LP\V2G%)]F^%CSH3IM+JL;$/V3,5O-\,#>=#I56FAUZ,?: MRKHWJMQYR1>WZJ)8K?+A6XUALO&7SV]H*!R4G3Y9I*5];1,;CJBE6-'QN9!6Z"'4;9QCD=LFC'SPT:_ MED,YD:ZN9ZU6"^/8,8\&176:2,2C*9;Q_O!$M[6+R:BWFJZO1G(?=X4*8]@X!XZ_8H/6X1W^[+1I)X3Z2;R@*V<<6^(82;:*:J,++;F)OWV4=BS@2&P^X L1I=9M-CO\ M1MEH[4*G6ZFDY2OE$GUQ$'WWDBY3\$WXXPO+*%Q>NM&FH\*0]'5"5PY4GV8[\W*V M^Q(.?WS]53P:,.(F&!%E T;< "-2=_& $;? B ":;H81;* 1M\"(Y!U[\>[1 M@!$!-/UMC&""..(6&(&A*1(PX@88$4#3S3 B".AN@A%!0'OW*:8]+R3)5PB)2P115^'#__TW"1*)W+%>;;A7 M(<_,UQ0YE$9Y5>=7EJ8_*3[>G1YRSCM%Z)#S ]2%[,MK;UMH3C3JZ=-< ?,/ M*L_=,V(N[YD][^E#WM\)?\G2W]W64C=12\ZM1\N"MR^L#(0@6N)P,7+0!59?P$6 M!&8@, .!&0C,0& &?L\,O#P2>C)J?)_@Z-TBA1O5BQ?(P>O2!']J 3]QGL Y MK/U9$/%U"=:GA6!X'?/WN>5@=^0LD(8WL82?6QH^,RH$Z/]W\/F&]#U _T : MOC+ZGPF.3CMQB2)"H]$_M[9_U#8$">%/ILZ)^Z$!6^?G1/RU*[K5S,#OA7EO MM_HKYP%N>O7/E4:_>0J M!/P=ZJ(0.L*7T>]MVYQ_]2-"1=:1Z0W%6&B&QE5 M,,V#2Q3VJLF1N]XE5!5FNTL42JWM0RWY8,VFF MF"!)%._Z.T:^>?U.-D)[M.BV4\.<,N*3K;RFU&U>'D0'D6^_&":4B,1/;^,* M@.5JJ[]<8_VU5_]<8?/5@06@Y'N )<]BB6^GP>]7GT&73KP4K^?7G7XNOBZ( M67N%9[P =(E_^Q4)L?3IQ;\_ G2YWNHOETE_[=4_5YL2P M M03@4A$-_,YJ\/!YB42VV*>31AA:JG?D];=&;20]Z!4-+:384BY]>)A4$1$% M% 1$ =A?HQVIA[E=S>;_XX(ZVWR-IZ>-/UJXF'4-EPO MCO+M"AW.VT(I-S%5/?&NFTVRGI?']WQ/H,O9^#A1R4C"9 )7?\!F$YT*1>C3 M&\4"'?_*P5(0$WU%_7]Y0"2-U6[$,!2;W]"]>]F\9R+Z2L:( !M$T1"3BKXL M( H0X2;"FS>S^G]+:$SNTYUQ;)$D%YN1;1.:#;'LR_9- BV_"U3;ZN/+!. NLDL$Z^@1CQ-T]D83R=KT./$;; M+]-89"2A?9)\()/'.6YWE8I2TS5(\.H<6(#@)P8 *M"L(!7E0P;3%6L'W@(0 M7 /KVD"XOD@\C<,&,J3'C\R.'3UAN![.NB U&J2[?,48+978:C8O7-3TR@"R MPBY#8[:;7_'+ZF2>K6C0]$K@ZZ/W71T%8N0E&^K:''03V3#7!L(=WQ?=A.1X MOS7&6ATR76,UD5TX0BT7X4NE3 ?)DC@TQH*HN[^+NKLV&UU?EERWPG>@DES& M/NN%(K&^T\BEN]*XTIJJRO?MZ]T!F00X)/@()7M1M M!/ZKL/V_SA_H<_4-WY+55R!-04C2>JQKCZS21A"L8KW>O*3'.&%$394OQ]5N MWI;85;)K%)MIADOB(DG)^$."# +\+AVLB"#;AJ7C\6Y.I]<5# H3QY0 M8$($)D1@0GP%.>%O0XSR?795:-MMN1Z?IRN#S6R5CS:13$A"=8&F'A*O)@?B M"Y;_6#Q\RI_ML)JM0K@+-\.^IUF&1XHA!8RMWR0BDWU"FMFF)8W7[D>2!M=B M_0ZYH_:H"_U'T3OBVA?7!%C-@68"A&K"F@+XGP& FWZCPI5,30+ :46B#>86 M#B4B(N0#@>Q0W/3]Z&.2D$SB7R".OF<0#S21;/*6FNI* M:V8]-2/EV:QZ2,RQ#Q#S/GSJX^?TO"/FN$O,-=XPN!5@V:DVUSJL5&V,)]D< MOZJ5G1]_HN'CII $) 0% 07![]R0(O-^>#>24+W'6:]QJ-K6&:U*RH@5G8A5SE3ES29 _DNEQLE3, MQTBI/IU-&Y'%8"(TH9B%I\Z5J)/RI4X^4DN5ZSS79>E169]9N;39O"RHK"A% M&:*H&JS:XI(]4[>G L5@4+U,GCO9J4D:(#XG-9^3^&V=(/#08.$P%3/8V+9L M V"^$]![WH\;];$?%YKH45G1!]I2:$1?-R',R-+0A_39LK1"=][.S3/,' M 2"ES>'#+<,&)U,G3X/6 \7&_687= ,UAG_>J>M@36RGM[N:-M39%7YN@M_; M%_L[B,.YIP"IP;]5?A7"^-6V:W/WQ-N6OOT *\SN)X?[W@.$.P9]XMDY)/EO MM$/+V"[,>R#E[OQ]N9Z)5)B*O68LBM+29WX=SCF&U+R%VO9]"-DEOT<&X.60 M ^'TSUPW)419O]T68TOP;$X/&?C!VZ'\R-05VP+/-GINO7=OX/LIXS]P+[N_ M?Q48%@G'7ZWU$"#B0HB@PZ\6$@GP<"$\4+$P&6#BA)CX8!F -X^&O]YU\AV; M1J]_2Q9ZEW& MY;GTK#<5E^?3;Q3,Y&/'MX#*(^/8J(]S$G('/0+>\"M(YA3-4:=,+[O2=)$4 M!+)M166'HU%P=/0A$7LMWNGFE I?&47?C4IPY?2DRTN<*^2A!6+HHF*H!E?5 M<8"R!%7L//:10$,E&XLNQ45)#C%UO4IS385/.EP$IV>@*.S76EC?N?X4"?2G MKZ,_W=#F S%W63&'E*N.H_M(-ZG.J17.X4?=4#]DMBI%D,SP$R[J)I\]I.C7 M2I;=AX(5#12L+RR2 LES^Y('!3;YR!ZKT.C&ZINX3=IQ<5A(JWFQM$"M19'L M23Q$R,C7U:QB@685:%:!9O4EY%M.M_U<5S1EQ;NAQ7K,YOO3;M[NV/-)S'$; M"5*Q!RIZ'*!X;ZI5/%"MOK!,"D3/[8L>.-9'](S;<6,S[C0[M ]GFRCT$L M_HH +!AZKJ=(-MOM+T8K^-/1JI9LNC65(C04@,=MC.Y*]\*EXKZ \G44-G4Y M;>SJ68EO!S><0DA]RW3+VZG8(F=*"5Y6ZF66-MJ/]=1DZ=28)EK@>RJV!,F6 M'\NI@.H?X4H3((9XR#[\!*6GH5 3.#EAFV!L*X0BC0$Q6A,JJN7N9L@0 BKI M#FXB449<3G=),O77DF3ZWDX9=Z-=O+L*W-Q^F7J_A)D\U(CFW*;33?'-\JK7 ME:B"4'-FD=":/E?.S%^3V=?-(6POKI<"P1(.(&$$&1X0 1UTNO M>%,B76[7* _C'=D6%S(;7AIG;G-] 4K!S1VR:J)]((I,@5C\MCD:([^\8>@ MJ",;^K,^OVNP<08:P3IG$KS4_0AOBEV#;CR4URY)8[6/FUX/&EV M+8-WEBF>Y1-")J46LUDNY5R,)W4C,EE'0JI#2IIISF9L130W*( >\63R0RQY M-T?NKFD[8>VZMG^Q$_>&;B0#(>#^9D=UG1W1M=!*MX* C1<*1;.;JYFN4C M<:G*<#',D?0;'!G<2WVN""B.42(<].?FBOQ%CDE/LU7D-#6!]ISZBNJE"6^197#-F#R$(9,SL.O9T*D1>#2+4\ M*Z:DNR-M>L74F,=EGNW'U\,.5WE,Y-#L;.6^V"92P%3&<M2OU:3-H9E M,0RT1HZ>+I2<3)-<19.LG9Z.G%K"Z.C.Q+5;#DC6 M;(4LG*.GEQH]E1MDG039IC?CB=C;*#/2@2K0T=-G\2$3X@I62^Y++6%A.U:^ M5D2B^6ADB,^6N,XL+W?C_=*XW*HM[.5\PL6/1QI@(T6YHMH@U4/O:(;Q_+&!*OP(<44!8\4N_0 WG-#.T_U7N,AB2A\LHUP\%E MPQ;@#P0&.78^[X!^VV?TT]+GNZ6#[=(?"$D3%!L]\^E#>%*)4%Y"/*-+!D(! M/*K%.H)+ KO6[ARJ%/K8\OAH1(@NE8;GD303=>]9/B]%XCD M^Z]-OV2(R4O&63P93@1W[+<0[$"'R7B B!M A-O/+4#$]1%!AR,!2]P")@+9 M=".(H,*19("(6T $%4Z]VL(LP,198Q/?U%LO&YMXH<##UZ7P36\9&D[HP__W M(_;CL]M/A:GXS8<'6Z1Y]/1KYVRCUDQ!-Y+IIZW]+-%D@[-,,]40S MY)NB]%3A1==0.3*Z.H<:G>'ZC>?P!_,I,'CER>%\WG"RB_/11WHPG*X?[^L. MG[LK8O^6W^3KY7=O8VQ>O+-(KSOK.3B,E?5X:S?&"\99&^K"["_HOARJK/1, M8IYW%P.N>E;L3 F\Y*+Z*$-CKJ7U**9#*U8?=G#=_@7L@LO4W[N\-G.Z4.% F ME*PT^_*"K+PV%[6TC^@2*/FS@' M?'VS"LKI^#I01OZ6L>C+E[-\[M@&NZ6\OEO2 M: (GS455G1VO%?=8S1.)H<1Z(BAE-2N'R,=%K-\H*OSZ@B::2O)TJ1I36F1H MW=;K@&PTY%[3;5R1>HA0KY7T"V3$W;MO+B C K7IKX7$5 "=_..TQK.\P17+ MQ>F@.+8N*"1FFRR33E,@0V MWAUJ.H%"12YH M\<6R>;D_B+ M!\Y"*??D]B364%-QLTN-+JBB5,%\E!G/^%E7M6=R)522&MT.?]]7,@7EBZ.P>/\/7"D OH @]*)[SDGCUD:PA4^R2 M*F"Z,JW,^I+-1NR,Z#7@HB,/"9(\$JV_ I%Q7A_1M9GG.CZD:^_Z*B)C3X.C MB[FX4FY%^F2F![1XKUVSY,[G[\7/*#/D1K29"Q4' WFA#QJ948E?;19(9L1Q MOU Z>MRT[]==N8QPTRIB_GII#0U\A8"?OPW]_QLOTM7[/[T=ZW@*[2=H;'5* M7>A%0>7?ULI@V76DP#83W5"VSU>&PV5]RD_<_GI4_"&>>JW!Z-UR]05=1%>G M]=,SL9\^\BV9^'S:R0>Y6-53ZY3<;0AROV7F8II"+2L%U"43:1S)!XI\\X[J MQFN 'A4PQ6GG>]GT@@)X Y'N=%ND:4N8Z*'G2*=_,1F.2CZ1GD=^5.1YROS_ M_L]!+8 C4\'CH;UM>34(:,Q.$Q!R2PW@%LF_><7AU^93&]/(ECU_[]@0P8&@ MR' D]F]B[S6"QQ$P40VL/9 =U+CR?G98YFK[X1LE#SS,6/K\-TV%4=&MO4I@ M42J>\=/]_JJHG^M]](KM[:N2WD=[-(2 MBU1K7+I,'Q,9'=<@,W=

+@H MR,\,N188CF2B4G3(SOSUE.CZJO@Z9#X_GGI6O?7U&I=>[/[[RW<'D@#&#.@8"X3%F'B2U9HHK+Q.T3Y*F/SXDPP?!U->AB _74/]M(RJYZADI=MI=O,%)L;9 MW#HFI"!5XH08D M>'F=^TY%S%O@],3R":?,1ZC#B['#48ZB6T7^\"I_GU(D79@4%_U&BFTOZ'EZ MKAI#?M6$HHL.'SMCSLI"G[%RSP:6UH"1<^UF/ME=]Q]SW0);*=@%R$"H.P4;+!&B"!,S7.U%P,5%("#$APHDTB'%1&D2Y%"TF.3J6I$?"F.>%I/B\ M,T&N0E:+M5)W0]):;\,;637;7?KVKM@\]@5F7(Q+,EBMG4J!&3;KJ:9?1XH< M-\]$)J!/RGRV&'JD!^+$GC7]ND<4AFM]-EGP.78Q!&*,CCX.JB/4/2+Y?&0S M,HF0/=5I=_MRJZCD5H\I56[Z=8]0R7BB%]DL*BPO,T(T+2>*P';<5EO/.F6=KK CM&<1[TK&K)8G65)>M8MI^U07>J0L6B3@2./UME+ ME#?2)"5FN_&"UI=K$EA$M(G;5NA9]PBN-V%!*4.28!%WS&Q;BE8W:.31T\=T M.K9@Z[-UE^8C"\I,EPJC# JG/WIZ:5Y_7'"]%,FJL5*^)3?JHP6/LG,HZOG0 MZ$B;10@:I.G +3WY"JQ&J#!)=\S$51G.WQ0E-2 M/D<5'SN]+ETO5)DV9:\6*\>O<\>F:]="&NCDR34[B];:&CD^=!.+)DK ME>M D>.I+!"Y>2%;J.&A1YMJ14*]')]H=+N94G6=,R2Y1Y4F$$O'"S"'A6*D M,8NI9-[*)9O-;JXSS3-HZ-$"Y!$7:39!N]3-D%2DMI@)BUC:04./%E!)E*JS MAKT$W75ZT.738G.I)O"L1V!M1]+=4-MBYMUR;&P(1F5LJCV\5NH(K0W!MB*) MPD@D0:L[DF/9)E@H3702'>_+D@H]HU&MD>6I-I/HRKK>I!DT]&A6L6&)NI17 M:#D4;40F;):?;&H./M^>#W4>"[D05&*:3$*Y 74=/A9/L6,6YVCIF$,H6G(&\FO@=*^758UZHE]E> MMU^K]7)%H )(NKY-B9@Y\SC1UBVVS?9C8G$XF\BAIM^Q$HD4ZV15RXCL8JVP MT6Q/<#I@XG>LC)NQOL4SML*VT\G.1E/ZJ^S"\3M62M,Z^3@FM2%9+LYJRW+2 MK#M:T^]8X3+U:*B3FZ5D8"I2NF8Q,EUJ^ATKV=1B*M,)MB*W>T!N4/&$P/0< MOV-E8##.E)JQ:Q*$YMIF$]<;(=;_6*GFNH.B;JXVY"+;XC>B-2:[$\?O6)&5 M*J@DRK,F*ZEFNR6EG5$1GN@^QXJ0;Y"AYM1QY'QC,T\.EG5A-6SZ'2O3T73< MD"6V1MJS?&@'6VW M\JS=Y>J)9 PR=\OQ.U8JF;C)YDL3LPO*J:2Q*8LIR6'\CI5D<F<_23FTUE7FGVEKHT$B,%7R/JJ1D,ER>?IR14L&1Y @_ M'_!C-/(8H,U$O60]*JN8+)&EJ<5GBL,*/'U]3K5RH\1FS>ED+O-6<3K/%ANZ MW)_XGFK9:F39'3%1OIM?EOOMOE),Y3>,[ZFV7-4[F9&B]-A%CU:R$SM9BY<9 MWU,MP4F2$(G&0#??SO"QQ6(CSX>,[ZE6KBZS9**@#F6>Y@:L-EVQ+6?B>ZK- MN.ERM9)9L;N.-N-#$"FG0NA,\3G5>#;/3]5(O"SS9$-Z["\YCDKX'S^#2F9& MAZ(1GK3596S9TWOVNN[X'C\9N[62YH-RC[5'@YR1%BKEF,[X'C]3D'MLYX_P4:N5D;!PR1#+4W6Q&:7/*V$O&]_CA^R6[O&J5ZMU\ MO9$"^7J() =-W^/'II*5MI,L]&6Z5IH:PUF\FD@='C]G;O64XR6CQRLV>.J! M9AYW>>*Z"L@Z=8TC^U1=UZIL.[E:^#1!\Q]W*TW0$N'7NY8A6! 8&$05VLH0 M%+??IZRSWQR,P,$8)@%-=A,YA= E!*IRQVMK%!M!)?XQ/4>1Q"N$I)D0$ZZ1 M;4UYBT 7D:J[<9& [\<('DL,#^3Y@%:[8!NXG^2(-R7S(JW(VL(4B+8"ZN,= MI;K^"D83*Q*/0T D5"K'779=:VT7F49KQ-?BQ_1L&;U9+3.:UTA^E,J-$@M. MW"C?O6O9Y5J2X5FB\3 9]!][AO:@Q\]W1@05IH/^8[> B%0X206(N %$!*+I M1A!!A:-!TZN;0 05C@>RZ18P$ B$ TW0@B MH$67"A!Q"X@@P[& )4Z(B0^6&WC3VW?3W1OO,UOYK[:\ZSU(49]M/ABCPLFO MTK;5_??]'2P#]O@F[/'YUIS0;#EO-<6_I?ZFK5M ="F\RALR*LPR^O:8/X__ M["MN^2U/U652D@,I=WE:?]T?\P6W_);G(R#UKXGWM^S[K[CEMRSI>Z+U0$W_ MVES]'=3TAB$)P#-4)KUMN>'SL_T2:K\"B?]M]%O7 M]>PIN&/=".3^2? >"9.QF\;[WE'OXKZ.ZB(&V/\6>EY7TT=PTB7*;0I0'BAZ M@:)W$XK>[>'[KKGZ.ZAO193(C';D>29Q]BX1R/3OH<35=Z>XB_ZB-K=1GL(ST2(/V;:#Q[5<+,NTO_< WQW_=)IR^5 M<#N-S_36VLM?O@>E6P#GVD!XO77TB?'^U:@X>@.]OZ],Q5Y(V[6A$)#Q7Z:2 M7!N!5R9C-[GDVD (J/@OKV&OC==P4!@/'XGUM3 M\S.\.<5]HI:\XMHIQYC\Z&9NB&M/0,>GVKV?X7"3?=M/M6$_(^%;]G-_*FKM ME:WF=L6JT^O=RX($#-X0IFOL*V)6DGD\W+TQPP.H*JXTX3?EGM\A9T#>!IJP M]I]OWT.QJXSM31RCLCTNK12:Y&(<&UCYF@"& O/IUO-(T#":B/YAG\2-3WUY MGS[TD5DV%(G-,QNYKN:7RJ07+VYXU+0A\N,/13TDZ.,>H($<.Y\<.S8=KRW' M;@D\?D;EK8L]7/Z?]M5E Z8Y#=,<&ZH!T[QJP@8\\^UYYM@L#GCF=8/YUIGF M\OKU:91A8Y289):;+BNKE>2&S%F9=6DUN8HR'!N8/*<5Y1$IC7LM!X2:!NH: MF,0-'-_4AN_@YG&O;\^=7C]>P7OV1FN0+[')M]IN7,(#>/E=?Q/ZO6Y!C2]: M0B,@X,L1\'6+VGW3,G8! 7^57- OFOUY2@E\U_>,.FH%.T%M1Z$!9TK09L7= M/PED9VW;J 9NE+/=.UXA5N+\=XLWY=H(_($7N7CZMKN_NO$0D/R5KHV^Z^XO M;F[ M$E0B"!BY\#W>%U- KV])WH)PNLG+M9-*$F%)CY>Z/9ZS:EL5A1*YC Y:321) M\'7;&Z+D#F[;7C3,X8Y"KQCGWT($WG]NX,F2%&X^Y>]#YDE O4%.X)WF! 9T M'B0-?H.DP8#,OUY6X>DR)F\^6? =Y'O/UWFXF!NV%OULA\"7$B01?N,DPN!: MY!NFH)V5"X*DLH -[B.I[*QL<(]I8L&-X0W=&/HX^)6(VBJ"7*U$9HHK+=]T M]-Y&F7 4'5P5!BE_YS_8@R2^[W3/Z"-_5@U&R;./_(#,Q,E<(V&*XTF?0?+G MW1>,_[%0 X6;D0UX-3M&<2D;,HG"STWP>_MB_ZEQ^*BI6SE5Y5T\-N)?=W[-Z< -$7 @1;T67!XBX$"+> MBH@/$!&(IN^%B+?R!0)$7 H1;Z4N!)@(9-/W0L1;B1T!(BZ$B+=R3 )$!*+I M>R&""L<"'\=-(((,QP.6."$F/IJ-\9:W[Z8;;-UG9.1?;7G74XRB/MM4+$:' MKYO!\;<]QQC3#;+4Q^Z_62#@RP^O]QSUX'4>)&GR[UJ2!:T6^:VSYXB4V@K[1-['E:Y?9N,*6;Z^47T#JER'UUZW[ MK[CEM^SH2^@M[^@9%JC;7X@[OX.ZW3 D 7CVIJ2Y_S("\B0%:G>@=@=J]_>A M];^7=JEPXKQ52O]6V+7AKZ0QW)$6.!4"[?.6M,\+2K>;TUJ3[T W>OU;LN#Z MA']\&/NGI!'65+=-7A/-7X% _S;JJ^LA]O37L6X$8OTD>(^$R=A-XWWO)'=Q M7[>F(,#^]U#CNIH^@I,N48Y2@/) CPOTN)O0XVX/WV?GZB/5U:#]OG^PC+W(WR+MQEKUY/66_$M3=I3JX5O#O^Z13E].._P8= M5NZ[P\HSU ;$>?L-5$ZWMYOOBQ)0Y]VU/3G9WFZ^FTE G.^Y4+PV L\D.MV; MPQO0*&G.&-Z<$6-C2DE=R.R^>ERSDB ,)J(_F&?Q,AN)5G) M%!0=+<:GB+.3[J\ZZW8KQ[9I,*E:#+GD9TTNR45^_*$?HHGH5Z\A?PGQ%/1\ MN7WY]#5[OER"NH-6+@%Q?UGB/C;NOC1Q^UI\MT[=5U M3Z,'SNA4M:_GC*S< M[E)2=@64PK+Z^;8>?Z,'IFPJVVLM)U*7[P_8R$A8+!9Q!^J!J)?'6XK@'5Q+ M;1N92.!>[Z:NTH?WO-?CM[#)M[H/7,+!>OE=?Q/ZO6Y%@B]:@R @X,L1\'6K M>WW->EX!_5Z.?J^;;/=%T^M.23< M(105>2IH5KR5ZM9K]2+?4!.B[3B7[(B=<95,'U]Z+%<*K9/\."W'.X5NGBF+ M:6;0Y"B22Z&^V%0J^=6#*FZ(C^_3!CWQ?=YW%V,W>5UW4IDS$W5YDHOVLVP[ MF8[7C9' RO$)DCGH N\MH7,'%W@O&OMP1Z%7#/YO(2R#7+3[R47[D"434.]= M)*M=[=KOVE (Z/S&PBWKM\&9OJ+*G--UX07M>9(KIE83+J3 M#)D?)A+--*NHIN1P%(4L]6B='LBN("LRD$E?UN9^58 TNQ4U+??I#,EG M9G%*S]6Z7;V)! @RNU^7(/=\]8Y*Z2F8)/QL\L";&:2Z?N-4UZ]Y,QDD2@:) MD@%U!XF27SI1,K#=;\EV]U&X'U?]-3-[K/?)$+_BF&Z:X6(I!H$8WZW'X^17 MOUL/LEZ#K-? I#^U7!G6F\->5*$K7;JK)9.5I,#D+"Q7W/OSUP7+5ZD8OYTV M Q<],B0X30$H2X V@J;D-3-T/"\U_[H5YD]<_O7>W!8W&1@?9&X%J;/WE#H; MT&N0*7M'F;(!N0:)L?>4&'O"/-C_6*@/W)^MHE^S5?A$X686>IIE>$@(*6!L M_2:15;EO=\YLTY+&:_*FU<086NLF^O1?9S%@4UR$1/8KM;-)_:LB8;-57$ZY*EI<%:\MAY8& MAR+X9<%<-R7+?-G)=K/519,1.YOA](S%QAO=DM;*&H/VZ+"Z:.RL5:7BKE5= MXPV#2U0H,Z1QFX5,I[-./;IB5A6'@18U%4X<&=0$I&@%D0)$O1_5H(\MB!RX M%1<[YZ,C'T?(MR.DB%9V9*&<')(@FRWKR\QH"-K.E0A)7O7%6$Y+.7)[D.Z- M$M%T2)>:/_[0X=@K=(0II WF%MX1$2$?""0<,"5E@8 _]=HK4?@K., YAS MB2"(UP^$ PQ " IOFM)8 B*:$D.?H-#4UA008[@#8HFV0$RW&,0/P)^)!/)/ M38B%K5OPC4?/CL([@P8@H16"A^Z?0@BD+WY)9. MOT-@MQ![$:K+I!!4\+.);D 4XY^[A!AQB>:YTO(?45K^^2_\LR4F00&\@;2V MJ4<'.T\W(H&MSD;^^RS^[,,F6%3RR9?M$2 5=7>!5XW__N__[*_^V-?O.>7W MMC5UVVC16,N9@- ( E$.\6/XY-^\XO!KT]MF(A7>W7#\WOGU(Y@GR' D]F]B M[S6"QQ$P57X5V@/9@5+E_6S[&7;E[SY$AP&DJ-^8KR#GH]D/YL68L?3Y;YH* MQY':!=]Z&XO"0S-V)EP]$PUT=(>9__+$U$ GX_]UZIG7O,8??:3[%DT$"1<> M(HK[B=<,S?MHCX80<%'LFM>N58I;IP#>Y M8HVI98I,A6AWX =5MM9I$S^[-::;+<+O?Q$_&15RIV6ZPE2W37@$PCV#E0"/ M7V(.3U]SBJ2QR%O\ U327*D,I:3A0'$(5X8.A[T>AZ^*KT/F\^,I?GNS,S9S M5'J]R'=8==H?9<:IQYF>8#B*(W^X)+,;.0CU8U:SO.#84-$N]63Z4>X/&(X^ M'EE?,=5LBS8YN3]N4)U8*6N-% >.I(]&JJHA:J5"FPRU0HL^/71'#OD0H\_9B?95CO6:G)1GZ='K!8GC%89,M^*-660K3U6*PX<&7D^ MTY$G$:Z#A<[GK.53E8WZ6$[TXV#XJ.S[ ]S]&P"1VYW M!$\7-]S3/8?=WXTXKJL J-=K'-FGZKI69=O)U<+AT%#J9++I#"9K2U<4>+0Z MT#+PT>/4/:UX^_5+P:X'AS+6;;QC>:N'O*B$2OB[,5R)[GA5:0_.\ .S)&N[ MCX.$2[D&;D??LW;K-6XUFUK#-2E9T8(SL8JYRIQYKH+OE.V]!2#6M9W^ MG^:A]=[5GA0D;'7 KW5-@+_"Z^C A:4579!_;$EA;J6AC34T^V2(,E8B8V7$ MW&KR@P!0FY_#15BYW7#V=BF3X'3>;^)?D^V\JL2=HIWNX@0%0[U#XN0E^ M;U_L+PH=U=Z"D'@2W+/I&>GNT;*K%1QK7I:Q?:HW&^7NZ'V9V4E(]Z_V(]X3 MJ'OSZW#.,:3"+4BV[T/(G??;5:,<"(0WU1=/H\0/W@[E1Z:NV!:XA-H":2'V M=-[Y4\%'[JN?M-&_=FN_ZKH/T'(=M%#AZ*LNZ@ O5\)++!Q+!(@Y&V(^6/#C MS6/EQ W??6#P:IMT;#4<0PF;EI(%-R3\X_.S?4/EUREO,"]Z2_L&O5R^OWHB M3%ZV_\'/0F6:1YA=<$0/ 64>*A&6>L"=?G39TW0OJ.N>'T M"4X7O1 _!L9YPZC?.K0O%B6]O^4ODM/Q5 ,,W47M;AT_$?WL/:/+%4=6I)$! M;%X5=;U8RFPX_O--*/UN%/N2-3UR(YB'?@3ST.NP6R6>RR=0N^HPZ7&RW!#D M?BX3:O36()&FD.LM7^E*'X&\HEN].^IXNFOQ;2-HW M7)YW*G=KH4PND=4Z?5*M*UH]R>26=.SSZ2^?E;LOB-T\+VD5W32+FJ#8(A"+ M&LL;Z'[:])'%@[["E%.3#4?2Z7$J%F$ 9\TF7 3)XMAQ>,^7U*H;VU (T4;0 MQ%<%:\ ;@4Y]29WZVL5X/B?U3ZQX7QL('STNCBH)W)]^MF=3[R[XO'@R\L%] M\9*!?=<\?^1-NZ &=VTR_[!]_3VX^4+AW'>F[:EJ<<3T8_VR'&\8$4Z:+IF$ M_/DB"I>RLD6GYG0;LFC*\75";IFC=KO!H' 0;&4GJ#>5N_.F4KP:VOI<5AT& M.Z(8D/=*JRO$X78. U%VL2?J7-=0Z G\X,5 %#=4%\?<\L)4@J2N>C\QX&L- M3F?!YP*HJT[Y)2!& &@$@ M2\:_<,&6>J"(F)#*\H>B$JHM 0?.9DFJCR8FQ M;4&R0^%>MD1>\D-]=8"_4:X !9S0D4PYIP+8,7B'&!B1H1S?D?^"D M$TT:0\D(%PFYS5;G;H2OY-H>VU^ZC@\XL2B9 @HQ(PRT$OC8=XJ<.5PQ9^N@ MGJVO8SFR/UC%0Q1\@X.I,SS 5EOI2VX4$\0]$:9=*?: MK$^[H=PFUUS7DM&I>N!NH\Y;].#Y&G=<3^Y%V2<3D=YZ&>)&9+PSZLC<1NC4 M)92N$?$)L_\WCG+?TM921S>IZ$DW@1JSVS5I3E\C\(J1//N3I>2FX[0D_Q5KN $,A$P@( M2^BRWP3:%D60*#Z 'GAH0>JHCSM F&I(@=MMRA<_LTAOPE4BA0E;5HMBJ-B; M6A3;_/%GK-O&<8J*M9T4):NXL[XFETW)<@,O0VZ: Y;,\(L' NJ1PG2'/A,C M>6[H(X^T/"T=_F1N !,A\8

LZHQBP864_90\>!B9E:K=XTUPF1 M#"6ZUKB@)$R5]M1-N#<@,M8KX[Q8UO.$,1[942]K!LFP:T^^]+>B:Y,02B50'03 H[#W!Q3J"DT:0W?@N)^(])#"19/_I+T/ M\5OJGU\/^%2I2F)&QS^:V+P!-03=>"#P/3].?4%R28/$"C01"R;W(,(QY.Y[ ME'>#7^&(7/2X$:_);@HA#CHGQI#YH8(,&5#2X*XLVU4^YKP!3S T ECN A2 M]!C375>&GZ. $J*N@0>BAFD7OF.\[";X#O^$%U%2CVD9.+8(K@:NY %.9,'U M8[D+=R%9A 25'J0AP7E-!W&Y^ZB'IU7"I\*M_I1^N7O=WR?>5,.0=(/(N-,Q MNTW#)8@ ;M!-$W('ZCBKS39=X/O_T%T\>A(X>!9.JSI"\AX2GT^T12:>Y*<$ MUV^ N0)-W>-5YWAAF\7U\[5U_]HFCFF0*' M&P!_!:^R/G:'>%!O2Q0HDWE[T 6.U6I2G9:I-CX/]0IDA.T3=OCE5] 44UVA MB;#/S^$W>R7-]C&A=ZSA;%HL E;MQ"OSMJ/2:L5!F/!!A'N*[&7.\H0)A;BD M2M:O,-&V1S/(A@CZ C L'K$G/&M<@0IA*>(82=,5"EN1CC(<4,:HI;BJ)$Y% M-J%X$MWAD*?P@:7HD./&3W( *+%R:>_?B6IIHV*L\ M[NK$KPY!2X:JT#8K= $/'[A$98T/"5Y1W.>-\0K1861"F;D[8IY$Q?B-!8FF">HC % RY#$@P6X5C'^#BT /='6;/- _NV8 M!>'%^_8Y1[E@>((?FI+ 6??K[4^VZ]^#!C3Y)5U$&JOBSHY2?>')/(%+,G3U MY!;?DVJXXTNH&SZ],0V+:Z''8[Y$[ZKPS(6\X3$C*3W:9'U46W073#E:GXT: M,6MU8'!'_Y(7,SL(Y@!H /%(<*C?L>*(7J/%VME@2X6IL#LV@,G1\EQ70<& MM-[(,.UG64-NN0& NL+& RBEI&.F8X Q"Q+MZDJ*E,1&W[D:0-O-LMQ)"QE9 MSL]:RJ1%-E:M6A,!-.IC#GO9X3:T?3'C6+B!@08LR!U+:.]!*L;0>8^(& '> M,'?\C_BZ4DS76\1<@=K5I;'VUZK"=E2/-R3$Z,AG=7C40>FN:T6T7:1#U\=C MI(2C87C;6_]64N,V7*M691>1U&3LE$*-LO)IZCA4.+#/N@WM5UZL:_OKI/Q) MHS+4(@HUK<[EC%-+YAZCDP(319X27U[;FM!(GBU15"P69[C.".1"_.^NM,#^ MZ8:O+Q/_F"_2$@&7)MBN(P57>D#5 ;!8W9T8S_7F,+%W6WP%7_GM.,8]7_CK MG(@8!:HB2%?1L+,&'7+[;F4-Z?#(!!/T)8#VGF7ZJC)NDO).@3'WQF^+/1PJ M-NBWNCJ')R%&Y78>;ZRK)&SM)T,27-,2VY.JCHHB80O4FJ*XFM_H9+>1/B%" MH@O@Q24B/#@*'N>$*"TEB%L13^.N1436JC3RC&!WZ5!&"5,> <,S M>DU+%Y#?'B!MQC2!=;"TG5X(E0*3]_;L*O7C,;Z( G@\TD6P!6]"SL6/4I"F MAX(A#G[[CZ=EP%UMIT8L9&-?'0%7!H\JB$X&81_"V5:LI]H@^W!_0'HL5-YP MZ1*DN\#5>]XOQ+/N1K:?[#",4M6WLT#^Q3)A'TA8-NP5/M$-K#_!:5!=HJFN M8&<+F,3 6>_B[.GV 92X:)B^7H6&M&W("D\(OX?,*EYS\Z1"DD M)T8,E=!MDO'@N:7V<+@3Z) 5(1=#$8$>)(D2/!3>HQ?LRL(\%Q50(B#J13R" MA(;T= ;PD+ZQCO7R(8+9EU!=W19"9 6I$1(_% -82.V///*>'!\O ?G!!S,O M9.0_>%6 WH&1]^!#.KTV^/P:K$":@I"D]5C7'EFEC2!8Q7K]P[>*Z%KD%6<# M;O95\6#00EOSO?]83!8K.E/F*G*]0@GR1%0[U!AJ77Y7ARL,Q.M#A_X;Z+@D MD$,4D,$$D-'?@A&H#-5*(2TR:*H'W?BI] M490]W>6=?I$72U1^>H"]*CPQ MUXUM/3'OGDX .IAKLD!/RDVZFZ90[?BB-=Y$!V!2^R,1CYT[+-!]=AX?%%! MZ+:%CD-T);=UW&"UZ.W2=T1DWYD/-1X'4L+%"G-^UF(MK*QR@^_-.G*\GVC8 M,2O*MI*3S[M9H4;> 8:*;$Y?-VIJ)3;L*B+)N$K7ZK5.CAYTD:?AV)F]CPH$ MZ,L5I_ST34$WTRX*)5$@X_5$NC3/@NZ@RIP/F-7L+*26,^FYK/9GO2*SZK"E ME -M<_JURX%]N+Y3J#T3GE^B1EXLJ)$'@AIY08V\H$;>26KDO5#3[=4XF*NH M@X=%3SX?T'LO&P6\ BCE'YL\([A6[8.$,HH2OI)!_F_@)PI/P P%Y.B0"$>Y'0@O.G%*&R]T'L; M.2A?C>QSW<'F.GH&E\J&6W$=F.[")+@N <^&7)THKL#R1L$QEN+= M,F"K?PQ0S*KRX)X0#UNH01YP9[7A86/@V K\W>'L:(3".T\>]3VB(= ]@84J MGT/$0DMRKZHVBA1 &$)X0^ VMADFB (T'J<)8$L6W61X;GGDH82"T 09B@6 MV_*>AI;@,L>3"__90,1D".D0!&A%\!A;;TG-XT[TUKW)@Q^N"5V Z[E:/?7L M4S:P-44UP#&8) V@O@;6%,7%H!B[EWR06_!#H"(%'#&=O^@Y0S#:[N!+^!Y\ M TTDF[REIKK2FEE/S4AY-JM^/LAI=T*R+H^F@0;&DK_M6+#RT:F5U0Q279?C M-:F4[VTL[&&,O-Y+XFP@^FR\^ME 9&VZO=3$S(;(?)%5'U-R=E.9-E'T>"*,8^3T3FV.[9VY]49,CS^FNP^DD?';K>T@RT*)W#S &RX\_KS/D"0SY)@Y>$US!?<2K)V"#6 MS8>X>2S1'9:CWO&-9' M? _/(#BUKP#0,D.]5& S)-O/+83A2 M[(C'Z%@.-3@U,9^6>U73\;T"NE]9>DJ 38RV0SJU@BFWZ^MY1-3G!;$ M 18+Q[^G+'U=D_H@I \DQ+KE<(]J=R1UZX7>JIT.5:I: P="^\5!WZU8/1\ M"TQ[TLX4E J;7S<;T6*T/),E2*MQTN]@^O4\*N.SIC[Y+E-_Y&HNEQ##Y#[: M2 Y8Z5H_(Y=2Y+I?S='".E03!^ MP2OFK!LQ=P5_">4+1CY22Y7K/-=EZ5%9GUFYM-F\D#.@+O*Q2HY-]]F\1!9C MA6Z9_&':O*1UJQO"6*JRF:*<49H]>VE.(X*,_%+4 MRSK:N67PAZGPD@#C)5[<9'+.1E8[6=E^S!DEJ3C!94:2?NZ HS X$_@0HNG= M!#Q%4W7#[?#6.8Y56]O2C;5+M4_*L'?;@;W[U<.!_Q\_;NZ5X&OM*UW4A]!S3W,@2/P?KX?Q1TCJ'Q MX*0=0L]U>U;O%;,A*G60SXW"RR3M%P'/.A&HDN!%>$\4?02W!B$L3!^\@'\- M)7;8FF5L.WM*\+4NV@)"QJX7)KZ(P()=1#@X"L> MTYZCZZ%=Y2-P4 UT!X[=UO>3TC-,BVT3C& ]U3]PW5[HY_AN:$=YB#[5N:+# MW>T'$FZ3(^"V#5WQR.3!L]_T4-(-2M MJ2ZZ>:<+9-GB7KB2BN#@QB/"5Y!^MSFVNUU!LA=QMU5]S=F^37C]VH7+2F/SN(N&-;" ;B4#*G2#.CX5_%!W M"N].?/^*_(6[^J)I\%"T[26BH'M0K[":C<(=1VX,\'8@/(H)QKON7>\XAB:I M> C^2>*=H?+$^'DH/7_%[YH5!]'MT@(V[7<4CS MWN>'&5%/Z9'XV"(85)]H>S1+YJ'Q U>"Z,0+=U;6!UN4W-1TER3W@78U8D*Q MWO8$#ML&4#^[MMW5PMO+3=H/8<6)=#A-"0"488;$,9''P0T0X 84[EXM&7R& MX3PYK(2X_<==]H=@Q<(=7X\37I_L[8\!SEE1#N_RD4S9BU/A40@&JN^ \8QM M391GN\O]AR('N)5U#D3 7N# MNJ?&UIV_+ GD_9PBFWG[O7Y:JDDO0CIIW#S M;=TOYFG%>X7B7#3DU='4BXLV'T=#DS+53=E!RNY+IWLA]V@M$>H'&D3'&ZS M=\I,=%UTX+R7RSQ[SJL' 3];1!,H(<]-'49GG*=ZHPI,SX]#O#=^#@7>"D=- M0=ETL:#^#Y)L$^361J8LEUC5G [5]J-$3KG/>QKJ6Z"@?@"9?9#XDEJ^U(D5 M!34&6)I=2':^(L7HP01Y?%^)ZX>JG&Y/IL<)*6$BO0N .Y!3!EA*D% 04J!L M=<-:EYXVN$WV!CB]60!0?EH(=[A> R1F=,2\I*)@$O;50O M<@.\T*1C(L&R#VK<<.:'Y](.<\,9JT;=&MWLB2=7F.4-""]?FIEGBY56H5CB M2%7MF\-X1Q%6'"I0Y),RN*.9G6J\/5YVX0(F+K2#3I4Q CE4C7@_Y?IKY(+$ M@UR0(!Q?OD*%08*DL&N;,/"LS"D7HV M3:X+:Z,C]Z?9>"I>*71YX,"1R>G-NR:CJXZS%3E.0V-C#T?JBT92U/.AFVYY+''VQI#S6G8]:(V'CZNTPT4Y\OE(.R<5 MLX\S@9'SXEJ-5UN13JS)<+'CD9'MJ81J)RO4-18GT)^% %S7FT>7T9&YB5 MUFPEVP6QDBP_-NTXB?H2'&]^$>F6AI-Q/=&U587NCF.E0;_NG"4GX< MC*0-N9B'JB5KP8]BA2:7.![YR"6DB9U+H92[!MX1)MIC2K>&>-8CZ$M4:U7+ M&R8C\PGX *61Z:1Z>-8C\"M),E,LI\L5F8[E:JOVFJG),SST&/[Y6:2?2VP$ MNIL1%L#>Z .16D%NIH[WU3$>2U(YR0ED?M(9MU*.-=1Z>.C1OK3RB&QEKKZIK'0X_V):N=36@X;O5D M>SQ]Y"P[.RED)VCH;E]G3A3;=EEK *.-Q/YQEABU&>3U=2[3ZZYITXV6N['0+NA\ ;NFI##1VI_JX; ^E"AA4LW3,_; MI>G8)XH^P'4;O#H;MN5>SVU]7\@-(G@!=Z@QO$BPC?:';RE^8\B$AFKK"8PF9MTM8&7QF/@F6G1JYNHLV5UDA[-E;5G=@,WD3,2WI\&3 MX4-=^^7$4/+]6: N$6SM)+?-$K21%'YN@M_;%_N+0F:%MR"D2@FN'OWL,FCO M=LBU8(ZM1,O8/M6;C7)W]+YV9['X&XW5]Y2_O?G1O>88DO\6)-OW(=1RZK=K M\J$V"6^:6I[UBQ^\';7 >("$33]T)$()IN!!&!:+H11 2BZ480$8BF&T$$ M]48C\0 1@6CZ7HA(A%.!B^.$B,!-L?%_I_'U76[7R0_L^JQ>M9O>LJ KZ,/_ M]R/VX[/;)\-4XJS[3_YEE$8'WVA4W8L,%E]D/(4?G-4T^.*HIU+A>.2F45]# M5UBO8#X0;X%X>Y=X\Z[;MK5;YRL"]S BMM&)-\P#NTM;]XH[0CYL>W4%,O!D M,O#+T\=]2\J]$%34$4P2CB-% F'Z;F:A/\LLJ3 9NVM>0:$K@=P,2,$E!3(@ MA8 43BL5WO+H?GU2H.^=%$A?Q>F9UY%\ ;H'8*0B.S@^V^>]J&2U;8CJ[_M4 MGEYJ"G$23K^N@GP1??>MF\*3!U;C$-:7<7B?AW5 A0$5W@D5WH-3^5UIGY\E M4I]#^3BE61 &(__N:G3>I>G'7=/;F 17NNCGT<)([_\*/BCV[RA8_X$(NE4 MN[^"0/[7.?=S==E+1 [J#[RW@.7E:H)_I( EY$J7*2O[I2DB/W:)NQ$RIO2I M$F#5T9(*C1?F--)!&:F1'W\2#RGZN/KLF3GYJGZ-@),#3KYD6>E35QH)N#D@),#3CY-VXE32O<]:MQ\L=[%)R2 MD[F.56#:RF0MJ\U6*A2OEOK##JH,0]&0E>F'"'W.P M'B"&>+A*?H(Z&J@JM']P+51SOXE"<'7VA8S[EYGXN_OJ7,+GE"(=[RS9B,K& M0S&Q;$OLHL=>]0IMRZF,RZ@U&Z4^U,>XJ*!9?^)37�QPF0[?=&@\SC9D2J M?&.5[$?ECC)BX-HC/_Y0L>0#&0U<\P'/!SS_,9X_[V7;W_*\D9HG#*59RW7K MPY;>2$U6@TP!\7P<]7Y,/22CQ_TR YX/>#[@^>M=R_WU.5\9BY9$)R+= M;>ICH1&J32#/HVN[:/0AOV7+_?(\?]X+O+_E^?ZXU<[6P2++ MTCQK5;6EDL_VT#F/+_C@09]('/>?^\P-WTL4<6TW!JZFCEN1X8;2J&(\1G9H MA+N:\;AI6' S^!&9=<5DMK/[PJ^]M]L0;1=Q6Q0UP< =JWDE@UV+KE!C+,N0 M1C9N#=#1MYT1@-C@UV@P8QB\-L&_\PMH" UJ55X82RM6C=>[TZF8K;[0I&]AO 2\'_#^M=P79^%]T&E18V"V4*>#_@_8#W+^+&. OOK]=6OF6//^\[HRS\#ZGLE(I4#5T;*N^7NZ^" M[.X=,2_XF+T^E$>N9A\)/)_GJM6HO)BP_+)7S=O)B5F%$CB%(TCBB1(KA+4\@%!U&^6!2[:73ML:-Q8M9J,32L*$D0HK"4:?XC% M_'3!0! %@B@01/735' M3;AB',X#%9QDU.^6RZ=Z[RTG[>-@)@+PA@:?8Q)S8+A.K"!,YVY%G6_-D"^N M([TAK[+24A(!+ASB22Q'*(4T,<-L9#Z9YAI]+M%=M4[M&J(_(+!8CP4;P-@Z MY?>B#,F=6,JUZOEF-5539#OE-!-1A2;K3/49E'I9'/.?()8.8Y9^7WU-@-6#ECY6[+R9]T3 MYV#EGCX0[$F9S9&+889)6_WD),,SB)53F)7?E^'W+9P, 2O?H[?@(JS\89? M.5B9'/ 5+=1)14E:F V<#>@U30>?RLCPA[S\P22>^PAQV:;O /&=SH"O$L02 M>$HO7SSXVON]%;%W#;^"Q^4^@B_#V4-@1I0T6[?GHJKVF>RBV>0HZD.>A:]R ME1O(A4 N?"3Q>E@O)VO0Q:G!&DHUKE,Q(^?A<%1TD%S[B\P@B+@*Y\/6#+;Z>^^1EN5"+ MKYD,2PYBNQ])&ER+]3ODCGJ6L$31._)CYG-# M7T&T6D!9WV021>P#I,AHEK1-N6H#P38D2P(FNQ(46P1BSM#5C*[.;0LOJ3Y^ M3KF,"C%L[0@W[A)NC3<,3HG/Z'*58H;L>AJ+EE2&4UK.Y,>?:#A^1+,$Q*X" M7SS@WI:W&(9Y&S#M\4PY.:T;CUV;G$HZM:PU%JJ#8'H%XX5O$-L7. MRZR33--&L@'"5T3>24L7Y(/R0O"7!B TW2(DS5T[?$%84[#M/DJPC38!5RG8 M"M[+]FMK:@" 40DW!@@58F)J$D!#,[3!W (H@(R(D \$ O\# 53!VZ#6.1<+%&*\1V3K8N9>G$,"':,U*IJ#HIFV ^A@A$&@FGK0%X.Z!F-%-RSQ* MPC8[< UI!8+64ZI&G!8OI(J,-C#E3,*JUWEUE7^,.R[!2IH-1,9Z91R'AE$_ M" #)8PY79QDV.)D6?!0^_+(>0E'AXQ;@;4Q#>/_$/HA.J%*Y;]%$OR4+ZE'" M1Q;-JG-%7T/:9!4!@3OS@?RP=$* QB /Q0+P(&\^0.%A M0&;7#?@2[7T., P^2/9A;^ ;TQ;@9(>;@#)$2BVX,LPT<6B"CU[M\C#W:O\ MVET6E%M::&%#@(\E(+K2C=#GB!KA_.Y;'A[E4(2[L@N;?2861A:4'];N1^CX M,=V328>/\I64""+V'&WX](<78W+U,916-))65(+SY!''H$=WUG/ K"23$Y=3 MSL7N#KD>;JN89#B*+=='Y>B@+Y=[2BY!40N[V_]\5/Z3I-MG]+V:$^GU<44* MM.+#8IR,;4UU _*-^#QN'Q]X);648 Q+++#M;'?$=>;&VHA")8*F'ZBDCQZQ MK=HPWO7=0+@*WSQG,W-#4@@JY:JD;_ S'/ R/T..('[N&!D.]8;L\W.8Z, ' MJ#S48FV5T#!"=B4^CZ ']09>4K"F@,@9[:X/+BX7/@&"0/> 4Q!!I@ MPL? 67]*O\[&'U&.2KFG^98_T$IJD&9W[.$![3F7P&'H=QZ;9)>=3:/9W:QE MJ;V:QPOSR:PB?CXY]S)LDC98H]<;2VO2WB2,T')0&.9FT#"#*I9?\<87$0U% MW$\)(@FBD-@#H;I&VDQ2(5 M$$*3QG,!G)"#/D+O7"42?4"3$6AV'5"( DS3)<*?S"_X%$C*04'P@9^G'@9CK^@AKZ@]IR(&61MH_?!@K8_WLJ?VZPOM M2"U$[]%:OC=4(N-5$Y#E<9^:/J;KA2(':>W8 OGW+X1/A-V]*CHOT9Y'7PK_ M1%[HO:2J0)1<6QL=U@#/,9;0RES2PT2;_@5E#"1&CXQX;$(1O FA;@%#A5:( M2(S6>,:T#N&#)"&5^,=$:]C!%2](LBP 7 %Y)-;\%2 L.??5"\A#.U)_TD"D MG8P^'(S-)%U[057Y]2%=Y67M1<1N:<23<#]+B%7-1Z5.0UY*\0/Q#MP)&0R8EPC:PRC"!V?B &0$0R- M8:A%(E5T!)Z=: >8]!2ZE]=YZ\J$1U;0BM95 .$)^5PR\5Y->S1#Q;RAR%U" M,L',*$"UPH9<W).%Q_+U?Z:S)"9RF@U M*+>C@#,F/_Z,==O DL=\[H @QH:NNOX12();">92%N*T/?AOS2)+4A$:MER+ M,6?/=71@[DRFG:PRP9QW<8!%#C"6DN"Y670"^2 0P<(?GAJ);YH6R] PWR^7 M.9X$D6%_LTFF'@N-R8=Q.'H;AZ/G.&21O,"#70SN.\L$9KSH/[(2&R^V04&( M=WN#-$0@1;Z /GYL@7UI@+!XX]S>\A7W!(34-;G]:568WY&:9K;:78]:"N-J M)VV7-K%N6VJ$6HGLQ'SW^/Y M'WBL__DO_+.E3T&!RT17[E./:+8WZA%$+UZ 4G^^RP7YT@V &-+K51RK]JB MYS-,N+O J\9___=_]E=_?&GKW?[O;6OJ.OIHS$\3$!K! UX.8=;]S2L.OS:W M<06I<&0;5_![%T 0P0Q$AB.Q?Q-[KQ$\CH )#>30'L@.V-?[V?8SK)#M/M1- M">'LMX$\PU!:HMD/YL68L?3Y;YH*HT*4D"1"WL:B5#@1.Q.NGLD1.OI408(G MI@;B^__[_]E[SA[%E2V_K[3_P9JW3YJ1&IX#<>[N2 9,SL:$_H*,78!Q @<, M_/JM*IO4T'&:AN[VD]X=VA2NJI/JG%,G=!K9\<3XF[]%O:*I24_%KD"M9 ;C1 70?2 M!)U=*LRZ-@<\?M1ULN:@GF&']##Y<*2RJ$682-7E5;?B3)U: MU>WQS=:0.1VISW)+M2I."^JZ5Y[;JUS)Z7KL,'8Z>R(6UV1RD>QP8K^:%'2W M<)^ET,C8PY'=2*KJY"R[3:[CR8$.9O)P3*.1)[/3]L2N-D=F3M4G;(=5(^,X M#UK(G4$^'&I%RDI/9+J,JO.]^R);+):3>++1=DMV^3BY%CN8'4RZ17PS' M.33[Z4(3PTD_D^UR$:XR7;$QC4NKS1@+'Y^,G*'9^K28)OFTT"H:*5V9#SPX M\F2ALS:OI-GT2!84CTW'.R/)H0OHG>F'(RMEKFTQXB3']8KN2ID,J@.OU1HF M3V=O9^*-YKB;@?9-/LUEC$DBE2ZA/E$GFU\,[&9O?#^&U@29+JS7<[E29] [ M3S>O34@]SU@56@5:=ISIN!O.42;#U.GT7*^JK+Q6C27=WM2,)>(].VNA$LXG MT_,"K56= 3DE*Y8KS^IZ1TB0+"KV?/)2M]S)CAN")PF%YGIE.36=;PJH!M?) MR)0<3S%F:C[@>F)A-1/&FSP;F\"1)]-/TUQB0K;K75*DA%QAG&@5G3J+"O"< MO'1HE;5JCDXKG+@4FA-:3$:*2@OE[)T,95306X-,,4<6R'IUV-(VWIK%0T^0 MS^OS=:O1S[F]60RVQDORBIEEX<9N%;Z= %DOFM[TV$IJ69S@I6/BU19R[30T),% M++6$[+:RO*MFJ?).K;M, MLIUAV>,:98/32U"T\KH'9>0I2H=<>="I\6MRT9:M.#W++JSJY)PLI[E4*E7? M4"+74,U!==(1\_DT$I$G[UPLRE*]MRP9:F_)S+/)9#4Y:T_.B5V/S_8U7,&1>1N%XA9NJY;EITFMXY>(YL=NT-2PN=4]0-:2YR MZ:I 3>#(DW=:_%B?>1%')<5%9L&M&NER)GT6\KFJFBUF^IPH@,Z*;!3(N3FG MO'-GHST=T8 K."RIM!;S\D15:DW&.P?Y 5FOQ\E5=:86EL.9V;=RY"AS]APQ M);8\R_-9*/52=+LK@X'DQ;QS,K\\FBSFRTB#4GD#E 9-]YY6E-8Y\5QENS6% M+L;B@M*)S]8TT[-_8TWUPJ%%?."8":[[3EP;!VY3 MFPWVC$VDT^@BOK+)Q7)-TN4B/-GBLTZ+2BU;%XH7.K!;R>C3 =G[7Z(O7QB% M[?A^Z\ [X*<(2! OXMP&O[%C.E@0L+P30INHZY?>";[?C) M,=T>$+(_YM1]XEC;A0434OZF7U8@D$E'4T\FOQU810?O1U]4$$;B$\\7:H.+)-%-?W$;X'E(2\-UK/$PKU;A O=)0.#YA;1$PHR&X3+PQ<68B8 M&T1,R# WBA$@YR#-"G D*P7]E/)O2]RW_5]"3DJ&_& M49?QY'U0T-1+@?1!I;&?UJ6_(YD\X\#ZCB!YSG=T8ZQS+<()>>FU/I1;4TRV M/=]\W23H_/98I\>0/B[M,OB.('G.6O]*LC94]$-%_]LK^J&VLF./PM/D::FSH@+L-6ODFVBJJRX#JO+FBYI-(51F']!%JKE])$01:A4OHQ2NG7B50*DE^_PPES+>7TZQ +YQ>]!+YFTK04Z5NH)A^I MJ7X=8ODY0)7]?H4$\AU4U8_43+\.BY2@K:<8MB+Y K4K:N[S2NQK^T/>BG9[ M4 P]*"MR4B'D*S5%?B4IG/;\\?_[F/A\MZZH'QU+<-H%-!I_"*F+-;.@Z"$3 M-"JC2_F$5FDS/3+;!4:BR]<=M7.%?A2! G[ ';X?^6$_"E2[T%E.9N-:G^/< MU;VC6%),3]N380+5D:)B=TGJM%O@91OJWM21?.WNPM>.JKYH,^&/CY!^!SGQ MMI;!;Y 4KVD2_(Z"8GN7$-PB;*TS;)>=:3J<6-PSB>)@.E+77:G0F?Y MUME2]*C^^[MU+7B61W;!0 ?W+!U@Z?2.2SRZU%^9J5I*79MF.K&)EV4-_N)'[,=&#+VG*HX.V:Y'RE6*S*;5-:#K(CM- MW;NYSZN'[ZQS;)>?T<<+3CN37XTLA6RL&#?3-L:YU@(=J*CZ,I6B[M)4[(E# M]?-=4&U[( 5-I[[$#=/6S+[]<*4;L:3?6)CU2OQ<0*1JEX(N1@7+M.TSG%SC M*$/H*V*1:W2*M5RJ:TYF0U1%'EG6=TGR9;KQ=SSJ9"&?M4"N?7\_2:'"YG'4'C::/FW;&8J,&PWA>Q/[ MX%YB]+LH#M\1J5>WY:YS#MR@@7="R%_ISC$P6()NK>=-EJ]SP_BX+?-UK@M/ M-OWB/N:W:^.@:F$EVW:!#"?>M=#TFX4?MJC8ZB0GS>I1.QI.2].)2H0E]1*= MRV?%=MWJH>Y6O@E#G7:K_Q5Z+K_-Y> M 2,TAV[3'-I*E[=:1*-BOC/PO)Y$ M\A5AWDF6*_Q]![5E0A91E$Z%]XOA_>)+3:B0#+[D!=HM >/S6F.?Q.B")]<8 M*.$]T:UE$'U+$^LOKY'R/BV[UEX[.F>#E<:3UB0R2G(@'LFM(MR4R9NHW22T MP>@D]3(+[#N><&^RIZ[-0C<&$]^LNC900K/KM6;7&='R2L-+B?0J+J5U&#)! MT:R?F71T MV#WO5[6?([$O>9&$L;Q7*8C))Q<:APG%;NALD@ M80,O>7JU'XJ?C[U9^VSL]XK4OAMV"*V(AO+M$V-M-EL;6$V M\E/[8E28VG?5F\FK<]&U<_^N#H";2 [\#,;"L[F!XC(^69!&,28LLA-^--3' MTU2OA80-2@YD4LQ=.ODUDP/!:@XD*)<)QR26P';>Z([X=%Z'BUX0?QU9\'5\ M!UU(W%#],&0NH/B.B1Z]Q*50D%>U08E=BFIB$2\P0"NF-BJ4#A1R*<3N*"81 MWME\E83#LXI#&#/[.8WXYWG^E;:]YMZW@.RF!T(O=L]E$\,NG5E.D"2 MCV5 MB-(O,^Y#2?!*4]TQY[=_8_5IS?17L\ECUCNU8Y2AUJL-JZ)3)[.LI[,#-\@G[V6+7Y6//N*\#>WQ#U' _T+*!&>K"#%R;(]39U1N MMLK4AZX$391)@H>^WK M_!OCKD_K!GB<1YZW]Q>R0II7,)<@>S]Q$/42WM;?YFW] MY_(0A%?YG\YU\/Y^_ .!M>LJ^>Q5?[,^(+E->3KD*O?)QB2[\=8S#DLJ7 [Y ]Z_N(F4+>T)5Q=B3 #CXAB2)HK [^^L8T"&, *2*ZC M+.'2G*GH8!*'!Q(H"(%!*!OR=K.!) MHD1G"BQ >.@_'YY6'?#/$/-"9ST'[$JQA_)R.FSNUP[9HH:WAKG'+T-5PWZA MH3QB6O6,I65(NN%.)FISH)+T4VR,U0O(RAZ4AS8PWHV/N84+Z:QDV([EXBS+ MA@/!VIF*QMGBG@_9MBY:UG!=UM+Y1B])J7HV74VU[SL#B_)^_#',$VZ%)'M( M*$$![/>B"4+&9;_@ZP !E2) Z/"54YL D'#EO5>.8$C<)XN*$NRQOV[WS=T' M.&S^EH9:Y5A-GE6]K+"^5\:>;;)JPKE>:O^S\1J85MJR=E\OE+-Q 8R;D\5" MXAOJ#-(*2(Z-X'>6.?)]O7 YVU];0#(G!A2J!'HG"MTR;.0-MDU)$1&%>PHD M:OAJ^#0@_NC-"?&O=BYAC16M/-#-X(%!>(']1(B^ >6+($*&2"+&HF(12Z2= M(,)Y**,>R!;?T_V,@,$T@MHS$)YH$__S]9/T_Z92-/XR!Q&1AW@X5A+) PF2 MYQ)ZH7 _U 10D6K335D;,L4)5!#I:.I4/<08^!# DX> )X:;P M@4UE4>U[<8W_\B4.Y>N9D5C0-P?8%_/77 '\U:WT.@,^U M074QZBS'I%NC)ME\K5VOK* D>PK>#_GJ]D]MR>XX$H30.V_[L#=@KY M?02 02!C0,>J%M+4ID<'NVMO7YS11$F-\-+4U( =J0'+@:/]=43FEB*A<;HI M VVGL$$ZTC33\^L!V*[NX_PWAON[^Y,?$*8T!;*K@<;X//T=EC1&5.;3[7Z1 M':2F=N"2,AH<&/A91L.TELOD77DS5+/#R%C2>H5<*COY 2$HB7,X/;0$P?OY M#Z$..?4+!Y!1\DF-<_]+\N7*)G;W['R/OK-0@A@3YS;XO?UPN*@$?'>P(%U< M13#2C(?$?\ -EK]V^"3P2Y+DO]'*'6L[:_ VRM_1R_),4HEHDGK*$2XKRS/O M-^$[QY :MR#9_AU!CM/?(PN(:@1Y"/Z9FS:V67Y;0!.1K'CPSD"MQQ-OAXHC MV]1!]?:*1GYTYNCAC=([!*O> +NT%5LE M(L38 @!9X,!"&:464HY_SJ'Y D$G3L!%.UEF'5M/BYV$P$_RMBE7F;Y#LLA"/TTLC4+V"D'])*C%U>.@ MEN\'0KWL+KM"(Y72UP.W4,O9K1]_J.AIO>&GKK M X(+S['M+HQG'T.(N;.C5LSN>$06.)ZBR#B=&UDDNN*/1],/0VWV8O!]8.4+ MC0!6N?+*FY>MR9!KT'K)X']E,V MS\IFFG)A#7(JK2GBA*_D:ZU[!&SFC'WYH8'.9RY^;S=4[+G%=O;A?OB$2OYC M$R,3HA'=1,N*!=%F6C;Q$]WVH@$T^4\&?8T_4__\VD7Y03+21!1F:!%S<;W3 M;W");EPHA>)32 M3K7I,?P?27[QX(%$*IIZ,KLRO R]TB5U-!$+\7*#>*&BZ52(F!M$3#3^9#IP MB)=KX27V9'&,$"]7PDLL&@_#!F\F#.I91>RJ04 G(2X?5/;P:1WH7:)^WASC MXWL^3_][TL<,:O\((O_W(_;CK6[>=#1VW>9^[QP?M3<6?9AAD_'9@*G/RS]? M@UUN'P+/*>>WQ@=^=K// ^;XL0Z([ZP)?R8ZV,E.^JVRDXI'TY>]6'IGFMAF M5/I4$>15AK(QE(WO(AN_C@[A%[ (9>;E9.;7H16IEX_1N0O:=]J$_NDRY;FN[V1._?F[+O!IV+JZPW56.:HH=,D(=_OF;1]NFY MZ\0V+P2QFRDS?9]<*=2$*W!F;*;$I5G2O$*]HF=+7M5-8XGKVCU:N#K>=]9& M]MRFSHCI>LC6,X4[6=W3BJ9#U2S#K39V#URZJ^;3K^K.7Q7S. WR+ MHN=OZE9_F/#YD'(\+Y<]KZ[1 \52IWF_;+$]P,]\O(/>[:"9OJL_Y,E%1'-\B0N\THRTD[F)/=A, M;E!/>;HT)ZJ0/YJF5HK:RZB5 L7JB?>36DCU[H%N[86 M4O*PI"Z93F\XWB.K::"@KC+M.YPIS,"!Z43JA]!QE- M/=6_XPMY>OP2ZE_;F?,!"7'75WQ.=DW\#/6>2X@>GV.>T'O<.%C3RZ8#.'ZE M3_I>R]+JRF280'H/0],GHC!)(I4R M"BNN(#2DN)-O;+B>TFI!L085IE0T_N%N5-:PR4T,%S4(4ZF0H#ZNETA6NX5I^QADVSU9\,DT@5.O4'OT=Y@R^A[WQ'M2;47D+M MY3E9XT*0O4EU6-A"KK:8N,#4DAI"O)QZ-O_)JZK/Z>DZC>J[5 M*O[Z*M$+\C0>BQ-\9Z?15^TQ^>Z]R5XFT@1!'V7-FMDC^16@)^-^MGZ?]FY0 M?WH^SD>:9,3T3%,=-:%(XTREPN>D1&N80MH3?9>(/]6.,O0D?7%/4ACG5/;>A3OU5F$]OK=[;N20/5%$;E0OQB)6U>19*):A,T?2KE:D;UYGV!7-- MW/+SC8K3I]./+NLR^I9:SNT[C>3E]()2Y[A)][,-6Z&H29B+>D]HN0557 ^% M%%O?D'IK F&&%2"&^0X11*$'Z>MZD-X/"K=6E/'1VFAO+\^'=H7$J6+XK>:V MI3,."H1(&A MA/CI@WD8M,1+5 AY-.&,2FWQNT,NE7I8]N.__^NHO,D)S(*C M\6!;05D5&E/K!$3\ZBGB&,[\6]0\<6T'VTRFH\SVU/V].UT1' B*C#+Q?Q,' MGQ$\3H")2LP=@.RHRESPL^-"<]N'SU1Q"3#CF//?--1SYD==^F)4-!F_$*X> M,!X=V[.=2$PM=$3_J]/(GHO@?.N4_I_H19 AX>&K'95%"1X=T! "+EP/KGN( MU,RLB4O\V3L^$/]NNB]:Z((GT$ZL.^(DB%%=WZSRZ\2 M(_*@X^?3E1,:'8XG.@TBVZCGN#K/Y= GOE$MY=@._"-?JK/U;(FM$GP'/JAQ M]0Y/_!3JK) KP>]_$3]9'7*G8Q,*ZO%INC947^">P4J"U@#JVDY@;1!U_13O MH,*H 1L:"T@+\A0;57I$#4)_[=V*3XJO8^8[QU/B5DUBEQ%+Y(IBAURL.X.\ M5(TO:QT/*9D_?)+9C2PEL_--2BZ7N,4HVXRMDYNZ*J&1J8S:ZRH**/4A"<+ M.;5&+TN;D6MY<&3\9'9O-B6+]ZFY6I"Z0WF8!2U10;.?K#,]K3*189Z5N40^ MLJAWZ"(W429P)$4]'&KFR6RUYS5C BV)D>*XU 9:"J7BG6R)2A?+)=TV9JH[ M\Q:9";<&3'_B)^T=C]RH2J>7J2QT4E$LI[-*%#1ZWO+S:!Z\4YW7IH5Q0N/< M3"MI;4;"4&8\./)D2]KLWDDL(\ZDY;AM]XD MG#WVY^W(#AW@%I#,B0%G#X@Y@COSH,+J.V3 TQ]]!A>ATH>^Z2)I2U**-N." M.W+*&TER2HU&Z\VMYSE]KIEK 'A@+14)G*>VG:\8$Y:-R>7P^ZQI.W73&0"X MY"VTSA)/FB:[A<34[@C91J]:'*C=V"@!B2>1>H)Z[@AHOTM35+P<''AB1X X MP TJ*$F(A!]Z]T_L*63Q<#L<^\>=,*'J%QAVV@NJR5 M+A=B5IDL3(1FMS_IS3T5-[1+//0/^*Y>W HN>MN\BB'S/"LBTK#088+U=-08 M ;T?#8>?<*0B4L0)'NGC6#HB$FE :L&OL7']? 1_"TSASZ"VC M&^2/%S,B7^X@^J3U]./I*/--RQT_CO8KU9U.AHBX#420W[1@_HTA(AEEOFG! M[QM#1"B:;@81H6BZ"42$HNE&$!&*IIM!1"B:;@(1H6BZ$42$HNEF$!&*IIM M1"B:WA<1KPQH?];7]W&[_L ^"D\+X9O>\JXP?OS-A?%3T?AE*WS_7%Q4 M9VH!0-3\6W@.W\*_6XN$$/4WC?HZBK]X O.A> MI_$4T?L-]/Y[C@<=2N4(9 M&-+'R^GCYB1EZ@54@0/3%0>N3SKMU_GCS\_#..=?GTADGNS]3#;CW[<\2D69 MV^ZP^1QE^\FJGT/*G9+S&PIXA#C_X[=N^J0X#]DX9.,0Y^?9^+WJ5%W#AFM: MINQ*#B&#)=#,.8K)O&SQENNJY-#8."'J2M M*0I:\BY/;-Q?N!TD,#"48FNF4]:>6[-#-A. MOSTN28VW5] *PI*!?#YJ.9C[3/6'N3=?*:92G0D+:6&0S=E K190QAR#V]PQ MIUD#H= (A48H-,X+#?)0:)#O+C3BHQ&3J>0RW!\ MJS)RE5C";29;'R\R!I'DJ#Q/"@55YR.35F[TC/22,](QYE0:(1"(Q0: M+Q0:%]8SV#'%I>(I+DY&+,G*B.UTMMY_>WN$-PN-^\Z$Y48SFN3H&CE5,T.U M,/$+:J#6!HFG2O.^_*KH,:JZAH^&AP"P[PCX3 4.KB!NR(3DVG"AJ/"-.Y^; MUEFOS;>0?[Q-BIH(NM)BMQ;LM"18(_FM<+QUYIG9/%BHEUU,;]YNJB4[U-.3TNV0L/-5#7O\.O'[)4[T^I\T)WYV5.+W1 M]C9"GM_P]A4\$J-1PNE3<:5+)NA^<5$4I_7XN 5Y'7DD4HFG;DL_<^Q( 1C M$C7LCA!E73$4V[%P[EGHI;VLE_;:76!?*!S?UY5[[4W?A%3]>[](P+50JK)' M/'LL6BU)C"?D5,4EW3S?EJI2*I;/7,%@T@M.>4K=2Z20+7@DL!U2;M+>,(&< M(_0=E4J$-T2A[ EESR?QT[Q,]DS2BTYQF<_)'+WRJ*'<%:GEZ HF7&30B$\+ MM@[(1G.>*%OYHI07D>Q)(,6( MEK;3Z4GQ"B8ED\A56KGU+$NZ"ZH^BJ7E01PW>$C_^).XBY%/M7H,94\H>T+9 MK)?)GH9;FW:E=&&@\@LJEY$:\[BUO(+>$RNE$QO*EF2N4KR_[\\&RU9N MB?0>"C=_I.GD^_69O8;?ZNE:]E_ #7^2M?:!?OFK=YM]/L+P'23A;7;1O9;[ MJ6_(9$MT]+2@K-GUU&8JLUGM"H*+*L0VFCF5/5(9%R1O5I:%J8&Z33$__L3N M4K'45[QS"YD]9/:/]/< )U/O9=5RFESW:GE:6D?JEJ/XR9@]Y.V0MR_H3WFL.=)'\W;?BWMLN5"A5. Q M"P;,Q;@Y1;R-\H+H.XJ\4/OYD+E#YOXZS/W@X!:9>KK2$(<"1X\JYLS)9^S6 M-9B[&8N8K?S4:PMT^$_N-_8GX?=]&Z%0=^= MDK8=^_ZRJ-RVE1V!>Z<23=>2IA!M1%,3C2NO_Z8@6S*(&DJ&"YJ1HCZ&&1,R M(B'.YY:Y1'TP<6M#':YKC59))?^Q_8:Y3X&8^(G&TN0_'-]LXH_4/[_NEF\Z>*E S9F A4GFAC,?MZ^VA M5J(3G27'Z%PB$I=(%.'3P6X'X,B; M5MYU7 N4;-L5#>GD?, =5.-Y.;FTNW:'5.+59(ZTE_>BYJ'#@3RC^1$^[!!A M2GCZ@.+AH@D;OCN@^Q.];.E8L&S797J.W A'* M K1*A"H"=6N%; K1;J!<3/B#LFBXHK4F*-R^F/8YVI"#;]%?\/V:BQ\?Y6( M4(8R;CJM1Y0%YL 2>">B4GM,;RF+:H/3B[&6V9U'V$7VJ+P ?>DVW*P!X:R5 M KR6#)\,6=>9FA;JS2I.)A:8H)[M<*LC'\6/D*VY7\N>&I$4 M#J@1/5!T'<@*?)VV)N86D >?4RBB.Y^*I",;!>2KPT!J\%YGYT>2G7%AIB" MHE]7#"C 1NO]"?B>38H_KYS?4CT\_Z ,$25T>Z0I]A0K!I;I3J;$7$3&BS+W MNR/#HUM6;$B*#CH^QW!2B"V_1;8=);*N94%"U-9W.QF%4" N147#?75- Z(9 M2@A\*/L75CN%X9]#703]S )+!7B8>+8S[=X*M9>))>I8J=AI''!QD&8C^.4S MUU)L6<'4:_N"TI>$NWMW'U12.'AG@*U%TB8:$0= MJD]'O=[]2;;K]QN-VWC%!XM%G$"18P"NK""1>9WH"6.(G MHFM@2 $CY2";'*[M%_X]9B\3G0, PWJ,3Z>0SM'*A*-S\VZOE.Z)!S- H*>* MTL)5+' @6,ZIR4?"!LH6R#ZN[J*6-1!-8WA4VP=,M,::+]0PW2U)[BCED'ZQ MQ@J/P6UG<9N8^!?ND$C0"@^UZ3UG@NU/?8[#R_7'BW AFA9Q%'V_5TS*4W$) M\&6Q!M!DD/@(3'R!&,54:KHV8?O-PB'I0\(\9%!Q!Q=-W"L8Z&]?RT?G5T# M48)[&MXVT""SP,5:(I8KI_""G.EX !@$]6^\?"K^[V ZQ3JZ\[XCW#E&(?$_ M=!P.16UW-L41\"!Z %)IKT!+V1>BQ<-@?CCM4O.KW M48(U=EC9D?:QT!==!W(A=F%!,@2(L-TY.M#QP>J/09TB9A?B1W4!P/]S$'0''0=D/]^_@ M%\ A#(D @,Q0)!0#PI31.D]_'R6$>:"@/-B3^"QP#CCO[@R?^V?&"-NN\SGP M\64!)!Y J(3@E?&/A*_@,Q2>DKO3;GA"7L]N$;BN'AA&?V55#=/)0GHJ)NL"&#>;#%-=9W+5X]#4^.7\MXD#"RB2 MV8QEJ[*9"6Z/78U*U+ALR] "^MBHDXL"NZ.W!HS:-0$INO9JJ#*Y@B2UK@'L MMDKE&IS"5;E(HG7/3]/3?+/?^O&'C)[SDS_TC4#AHR%4;*6!@SN.(7%J(+8/ MM!?LQ3M0WW?:^3L*M+^_]X)["W0L,=@M[@9XT.10TJ#EBZZ*IL%TNYL@-.TE MNAP^6DF>2NWO>H+['A22<-S)\+__ZZA%XTGH;G!I=;"MH#4DC>^O)B#B=X#$ MDO6WJ'GP[-[>AZ6CS/8^[/?NW@O!@:#(* .UKX//"!XGP-3%5>0 9,%U640# M8^=W\+/M,\OO5QD\?*8398 9>++_AA260*0!_PPV%J.BR?B%<'5P%8?^3\=V MF/E?D8!\ 47.OSJ-[+FKE;=.>7 O8R!9H1W=RP2/#F@( 1=YD@.E$]H-D*8, MQ][Q@7@A'>/5;1!R^%ZUB]Z[)HK^06_?$25#BNZZ(UQ^E1B1%+U'Y),M]QH= MCBX.L_ET">^42WEV [\(U^JL_5LB:T2? <^J''U#D_\%.JLD"O! M[W\1/UD=/>%)\'3/?.9YZ( _]^]71T$@4TR76Z-MJ-NDT&J*^*@P2WA -97Z<$Z-' MMZCO$2YR?/;A8Q:I@L"R.:A6.NNZZ8"<8DN::;L6Z,#9,O!X5']L=S"K5W)S MOB>G5=J2-ZP)M09M##4= (_'.7RS8[G@W:3"":$\3EWP M]OYWW\6!GHW'\ @/U/F.,H',4-#,D:@1-=$0_<%W1+6:)7ZB5V/()?X)_O'' MEXPE@ :?%4 U^.<7X4$& H$;^GCD@8?A8II^#!+\EO1WGY&VF46R %C(L%T? MZ9=XC?[F]WNO:M(#O91W1[8B*Z*U1@4^&V-,6$=I(TU+64*(0M54PN\(7B!N MJGG5J'FD"MR*G8^ E!ES7V\(H/N5IF5* ,AVWC+U[95<8WQPBY?!CH 2I /) M:8RQ1]"S%.2LRX.#"Y)#A=6;55-#)V=W5%'KUO1"NP3<^ 35-XN>N;S;*J@O M<1W<'-C)9;H6E=H#":.HZ6[Q13M_?A#)Z-G[HCO?.>:[R% N'G_:_G/+3!> M<\F/Y_7QE,/.Q29VV/CX@P<4_LH^>[,_[0Z3UB:M&Z2^Y+IJ)T%YN:*'T^FI M4W,V\"L?WQ&AZTX%!^%@7![P'[A2?"HPA^]E0X*_>9.C>?-ROU MN<"3O8R5X!;521;*?3K]A-R_"[R"@>_7F/A7!<$90XP!"''Y=[CT@R+L8 5; M=&9-VSE_? OES2;+EE,U 1C303VFY/K+7 NRZ!-8_#"7_*-Z*\V<4USW5W4* MM-K0X0Q5"&^J2,>W<@J69=@K9D/%_K*' \T<$-SVCY=3#=Q$0"AZKISOVX[5 MX.B$N/$D%8Q3D:M(]4VB7J^M)EZ$%(N&-K:*S7&R!SD_?9=.GN8*/QIY@NXR MY^Y(@T;H_B[@0Y2IOT%#3R,;FT8W8I*->&4^6"^81H:!%@!2T+.BD#UW4GC VO7G&,$ MH,OT[3W.+7-,8PDLY']WD!QLX+4'J)N-JU0VJQH)4APM4[5$O&NWI:MP4#]2 M*=(IM3=1>RH;:2U' MSW@%>++-&P)?,]J*5 3M;@<>CW2()K!QSB>*[ N3]X2.AZ7! PK\ M7\&%XHC+;X0/'(.+IFD$,$$8.(N W)Q/,VTWNR9=8Y/.QE;"H"DA>SP1/4V[ M/[F6?,IG@_4RS#80$_ZY=3$,?%1YS;>@M#XT>5?,N2VRQR6!N!XWT_>52Z*T MKG8,.U;,KLCL]+Z=%>J)89R&A]*Y \FXH ?VHVI_O04I7*^4F*14*B7PD9A< MR(#B/%)C+XB4+)"5V##3*G.TU4EU)KSFQ06D\E%/\9D'++#7]J 1=%B[^1@F MV^B:761EUH2GDX%\[/ 3+O\D[B(M_1BT,=& JJ7HAVZA-R*1:H$I_!5ZH8^A M-X8@W*$D#105C&-^?8F-#+E]1#**/-IM[>,5T2>=!5#'0'8)/+JZBB)$[>CV MIK0:G4??RV.P2"S-CJN:935QKX^:4U7M3[BW=W/\"S76K+B5=8_/C,C*PNTL MAEVGUFQ!Y2@.U=C32KU;W17;W*,UL0<6T2V5_'#W+;R(:K09W670[4=N\^@P M/>&K5DB_D)819=@'-W5?P.+Y0$)[W&1B6D)C/>TW)2$[7PR6\6R]8IA7H;5) M?=VOQ#N3#"=.VK'^8%/M3EN3'W\2+S.8L$*^A]K=><^0K$ I93I;"PJ'Y^[, MIIU.?T#'T9== E__QK=D(.(S@M3/AX'JN_LWWUS1M&>B^@^3EJ#DAZ(9*=*! M7^3_; M:%%8FUU5$&BK8N=7*=8;C9".3=XQS&GSJ$-R=H-/6DY>4&M ME%6Y&L^W"O7XV_. 'Y'K793/T0GVC<>T@>]\/TOOM&/&A5AA,2"5^6A:6\G5 M],Q$1GW\CHH]KD\\H/<[?$UO!1-MM=J'4DK:X?]JEQF^2)ZYQ@.9C&6P<^RI MP&FMOA8C[I):#P" [CLD/P/[C$=P'UYQ.&1+@?9E+LA]P7QJP+U&$L1:ZIB; M%B== 93;3<-PUXP\>7OQL0-GW\,$X;,$668-39A*FSR7[10CM5A+C.37WHL# MWU\-+(H.$K+)-T&+3XU:D:3')85>;C%B6OF.>4^^2W+_RZ U*:N;](B%&IH@ M%MLCL]9KQ5"B-$KC/YO*_W*6AAIPD!UVP8NA2]-JJ9Y_&_B;HM6PL 'NB]0G M+XD,E>&E5IY/1VG;0\E$)#DF9B+?703,JF^A1@XIY0]0]N,-IYD M,W-KJ":*I5RKGJC-Y^@:X'M(@C< S,FL@"CD3 .M;U@A)+00:L MGT* M;N=F^OL" D9.6-%"@*RH<9H6G/3"E*3C0>O&*TUT7MHW.,*3W-43\)T M;0W=(L,7.'L-NFF9V#'K'CK7@ED@GZ++,DN!NJ5NROY*L'L8VOPX6PC/AHHY M6(JS)@(O7727Z'58UDW$$!^2L92 M3_SP4V3$;:TY4,J40-&PVYQ>2HTC0WM1*0U:Z#[AX4C[?CBSUXD!38)J:6-2 MC6$\:WE#>D@^'#D$\7:AD-1,H;)IKYJ19;41&4W@R)-WML;9@2#-2U,RDJVG MO7*MV5I7T>S%Y- W/E 8/B"JW2N+7Q M#)UK3*!U>+KW03,I&[W42%T7&NT4 +RY**%.ERC"@62EA>3L=E; M%KHJ:F!R,M(IDAMK/2JS:D+/E^.9[&A-JZAJ]\E(24A4K$Y9+I"1]710HHIR MJI)EAZG3D>O&9-HK,PN&6S#QFE7H3]FZZL&1)U!*QMM-)>)<3@9B+I^0@W%!*+O\+\'$ DNDPY@6>7XGD]+X-@WQ7*X?QB^60_@4B_,W8U#33LW_C?5PZ<4R: M ME%^D"P^JHBXCQA2 =$ M+,3++>(E1H=XN4&\T,_TI@H1$PJR$"^'>&'"@_\6\4)%T_$0,1=#S"M['CZK M(%\-"*E7 .&B$ORO(9!Z!@"G;HN$\ZA7O*7+&-:NHE M%72.:>.I&CJL[\K3?^&-ACF*]'&UL\:D :U)PWR M6?'ZVD;?MZ)Z=($AH\I-08;?91NWWY1DO787^Z>]3)<'QMDV;^^VO>><-1_6 MW^UPR^\=QOLP^*1(VI*4HLVXX(Z<\D:2G%*C\?IT#!09'=RQ^.RYS;\->E.< MZ>)6+6U7W,XQM8O5Q16JU:;.T(0(QUF'LV M81=BB-43J"57*GT:B7_#=N&SM+MKX8<"CA7;WB6UCDS#M<%9A>4[2JM/IWZ< M,4DN="_TA030NZL:NXKXO@S*^$SUN/#9E)/YUFS4K L\'2-Y>])O3=HH-@WJ M&:D[)GE:W2-DT(M;] M-)OGN;W(KU/5Y+*FJV(_G6EP&Z:_K*!T%ZC:).[2\=/BMI_9\Q$C*=5O\(L* M=^W[[(4&5>CQ"'6,O]8QFCY7L8;<0-9!T[0="SB*A4NYY< 8=5O/ -^<% S MPJU8.DAZ.2.A^)Y;:-?E9)M3XHW[]*37HPUM,DP@?82ZB\73H7LD=(^$2L0% ME(B+L',BFXYT6YUQ2E@W"]EEJZ#J9*0%V3GAUP(_+?'Y)5TI&**$(Z[.7[>$ MYM/%?"57C*VZ!?/*UW.N#82;D)R7];6(6MZT.HC!,:]WIJ+AEPG&SQZWR+IN M?5.9M#V:J^B#JI6?C88CI35,^OH.S;SL.B@4(!?SOUR;=V["/W-M(-R$ +FP M_^:M$B0>TYQ"8N#>"^L61/YV&21!L(J52KSRMNK&-:F.WR3ON/I#: +^ MA4/GF+<9R-LR;H5]$Q+N;.#=>RA!5]CG30BQ2]\X'9B#CXNL2*+5HXM\OJ06 M"FG*:Z7E>K?3&J:0TD/'[RCZ*3]TR.)_J<-\118_IZ9\5Q:_^#W3BWA5-LUPEGJVW9V2GV=L@'D]@'H]13WERL5[R'UPOZ,])^;QWK.KU=(KDX^6/ M_&]V^C ]?W%BX746'[2S,29$%=79_K"J8[<&M^/*48@ASZT?/U)0DR#G=\0? M]7@ALL..:]LZE/:V_"?D$&(JHAY$**]NVR/"W&%#0]@@Q(D%@%\?#G4P0*4N M1<785CTWQV/4,A1+/3R#+#HBX6?J!97X_2$V@8H<:ZA?U+ZH)1(DV^9&]AU1 MLBT1:'=$!F@3Q=7OB+QB:/"E\(,EXK8A91%NY8[@X?+$N8E::QZ\I@*?RB;\ M60% D8%*:C9-]'.\KH-QK"6."$Y7<.5,?XV'J\8+G5M 5U#E-A<7?C<)E(KL M=ZMW_3J@J*,2<#S34M&?8.$J)\!$5=T.0';$GL'/CFN[;1\^4Z CP(QCSG_34.V;']6VBU'19/Q"N'H@ M)^C87O<3B:F%#NE_=1K9.L.]1^+;K+)K[\*D\J9SZUY'JCP_%$ MIT%D&_4<5^>Y'/K$-ZJE'-N!?^1+=;:>+;%5@N_ !S6NWN&)GT*=%7(E^/TO MXB>KHY980;.ZH#C#'0%6$H KV->R1^+O#NJ+&K!M/SK70SV__&K)O_;)UD^* MKV/F.\=30:EB$$^+8YE,#N,4-1[&Z!$U%$>QV%!*@]1X% *CENF8L8MV9SI,96+847)^=*%3.599$K,)VL M$.E1J]YH-%H4\^RY4L56>2G6J:PX4.GL++_J=^U&)W.V /&L3%?FO- KDH7! M *3+F89==%KG"A 7IT)_V.?+$X&?-*6<>"^*RS)[KJPPG;1CLU3<2:@T%V_ M'0U63=,[5U9XV%IKN2YG*@+()9=.J@MI97*VK/ H,YDLJEWI7@7+EK6,Q(:4 M5#A;5G@A=7E0*$NTVIC%^LFTEFD!M76NK/!T3I:%?+E-24W)==J69HW='G,SUKG2,6-F\.Y2S.MW[D3GMK/N /4LJ[1:UXLC[P;VZC@\*W4TD6:)+9TFE M8/$CL2;1;:XW*C=&>6MA9IG).5)9"J,--XZH>=+E&4H$Z7[$)2?G2,6L#,%L MXVZRJN[5W<*XDQX5TI-SI%);5R..DYZX<*2;7I:[1;M:]LZ1"A,1E$E^V$F1 MV6HC>4]5]?RB[YTCE94R=<;=R"A! F.12:RD8;8)/$0JIT,S@_K4M/I)5?18 M:52I=VLB1.<)5<&AS5F]/G8B3)I;>ZE^=M.O3<80]M09U"M,=L;$4S%66,>L M!!1KZ8E,3]#0D[=6/K8&^K M6[^B%C;];AK-!4RF_%'CU&?ZI?I*^L/'Y-W6+GI@$1&XYW)P+X ;95VIMW(! MF!-+G$\5*8=:T2HC=]?%%_6WW%GDV"!OX+WPR,1C#3D'MY/%NRD9.1,BQU$D M^!B"#>H:V\:5)#W3.89IKH4>O3&+"YU/Q6JM-S^;;_>B_93#A!!'B*"_#!$4&6SV,O= M#^(D6,_[D7S%S!KMUW=,?CTBQH >WZ_X&JUFEV*J*G2H0FJ*VE$]T3CY8??A M+2NBSL7^;?*G9<>GNVI?F@KBRD!*B$:)Y>BF 98BI=I]ZR.HH-L=E;VVR9E" MY#X_&4B>GAQYK1]_F.BI@_5CV)&Z*CL65Q;9B2O-C; 6NDHG4B\WT^#U7>5? MCXB9GJ,];A$!:J/0RE9(O3$[WK:K,__&AN>'[7\L("%_T>[J M'GD@/E@D/-:LX0TM[@-Z:!AMN*V)@>WGQCB+:$:PP?:>9'V67O189FW4AA-# M32R;6J*C3E5/A?3RL>I*WY#)ENCH:4%9L^NIS51FLYKWX]>@QGM'WJI]; M)CJU90"EKHY"P%$'8+0\(]BG+D(8[ZXR+"PF[3M"E)&(@0/'@= XS&4<[A) MB]]T',Q%!;['@N\.^MTI$.[V%G2H_2MN7;]?(H';WBY]KJ.:T%9"X&M MNWH #W._!WP%!SK5ZEP3T?C(2)N 1%4-,Z$B+@%1, 3D@HQ M\7Z8>&7L]W-'P\=M^L.:.CPGA-^Y#/D_'U=WG(Z2ETV8?:ZN^'/WZ ,@!D7$ M.0,M[*^:,UR<=$_P>#O-&"Y.PY=DVW>C]!NNL/]L$,SYDOJ7*:=_!2&/[,V? MR$FP=R4%YX*@Y\NIL M_3EMS*90FC;&>05Y92XVD]33+SH&9V_(Z)O;)LW2=2C9A0_?E"ZL\'U&L(Y=6'R2MDI3PF ML>*Y53=]3XH1,E*-+2VQW.BOEBV_K&[L+I7Z]-I/+-1^/J&8":7)K4J3O.E: MCPF3>F%8<6=M72DS)>"IR1BZ.\V>XWJ_TUF>7NRV4:E'*U M)HN6^^-/\AV[X=Y$#-EA>,77"".[R5V?$XE7K3SX6/C!>PBSVRPU^-FDV2M- MRS."+"W5!N-RL\$*2GU>+_;E%%_4<942Y"J+W='4LU>%VZJ#E^9*6;'GFKC^ MK1B:8H#(".7"; 5&DH[2/V*YB TDQ'8H MV-T&QJ$&$:#%QPJDEQ$*[N&VY?;\#.A=B<(=UY$'Z9LJF,V*H\F,O@Z8 M ;_"3R\]2'U$+Y=,"Z6'FS@">KM<-$[;%V"%*W>F3R>T9D0-E78D^"D 3O2V MN0[!T$]A1%M6X'8AN?E9A@CDXW-9D//@2-BGBQ[#^J=B2)J+8:C@,IRV\PLA MX"Q[1Z^8.(DY[2!O\H@O'\F:)$NS/EV;W[L"S6VR0BDQSM'W7I@U&69-?M[, MI#!K\K,C(LR:O!5$A%F38=9DF#499DW>(.F&69-AUF28-?GVK$DB3)O\)H%S M8=KD3=]7'/EI_BII,IOHM2NK7KTO*/5&(AG7&[GQ;.(G32:2[]C),4R9O.U0 ML3!I()0G?Y$P66SR]Y4&>S]6>X/&+,)4QYMNS/,3)ND[*O9*2?*)M*(P8?(K M*3YAPN37D59/I4O2<2'?G=*-I;JNIR*3@I50#,_STR6INS3SR@3OVQ-+8;KD M9Q0RH2RY35GR5+)DL:8[KB2EBV2AEMY$>LYHT"Y._&3)>/J+QOB'J9+?++K_ MPQ2C:^\Z%'9/Y4_6S%G?&@E<4^#;_2;7&6B&P7I^_B25_-Q%)CHF!$ZH-GU! M$15*HL\HBIN.933&](3K3_Q\ROA=G#YM?/0EM*TJL.W? MA-^HE[# W (V,)S#^-)0%PMUL6^EBR&9]_.K";U2P,TE'#\.Y)*Q_>:,+.S? M:_R8&<]"?1:F[(1WGVG+OG1+&/_&]XTV#X^JW#.\*H-M7?K+'B9KV MU+0<8E"\Q@[FKS MN#ADH/)!;P.77NG2_BS*QP,1@[KZ/BIAOHJ6<0M*Q;4]*J$?Z7M(O+II2(\* MO8C16HWT6==5W0H3;U;)3$$NL$,*1WTS=Q3YN2MPA?=XH3 MD%^Z^70_S64SZQ*EUZ5$Q&T-J=B+73P?523KJJ6N_BHW]14K1S2B&*X8 !KG MFA^DT$M0*;00@TV#%>W8!ZWL$CGTCR9>4JD]@P1,0E,/\^3_^[^."@"N+:#;2;3T9UT_+T3%@@.!!0P3/S?Q,%G M!(\38*(J,0<@.RH4$_SLN%;,]N$S=0X"S#CF_#=-15%9FH-:.3$JFHQ?"%]=$T7X#-*!?4>4#"FZRQR^_"H?UL1Z\(L)( 7,$<6(0]1<739-$1[^ 1J ';)B#7 LM3;%2L M"=48^[5/K'Y2?!TSWSF>>B /MV6N"HE2M5Q,JCKIJOG[==^(]<>QE,6KG@!#4FZ]M&'>,G7"@;,2CHG_/:YIJ-B$[8YF0'+0]TO14B!5 M$!J8B!HJQ@O.K[$'7P0))JA5 M!V6X8HC6&FI(KF5CN3!R;<6 U'5<20_5Q+-D^ZCF'2X7> AO8E_BS5^G9-J0 MI+TI@!3DH!W!A8^P /*7LGN=7ZIO!-! WT:3\<;P3]%"13_,1X+")ZL&: I;;K4.8^I.B MR_J#B2!,,5MO9SLHB4B@?5H*7!D8CQ%=F,8AQ2"]ADK^8^\P>$>,(7(A9C!4 M#!FS^1T$GNUJ#BZ\9_HE7J%^BN:51'M*H/I"$/>WS3H]!&Y4E#'@CKF)CC*T MSUT50ME%9*+ATHN(OR"<[N$74#%5"5%:N(H=@$-6;,FU$9E GLB;I@-Q!8C8 M'9$)P(C@.X* Q' ZYE%$%?!OWV6T>[T-- WQ@.V8DCJ%\@I8/D$&S@=(M7"J M8%X,?+A TQ,N ,'^+4M10N.0K['8.(MA>XFR8$QP&P27"(3'3AX6[\25W8Z M^-6.2YUC "$.1F>"7]$32%,#&9,$Q#-D*]/8U<-< @..=B ^@/- , 14;?NO M0$X&-*DXAS2]PHP)]_$_%S;A MMKN,48N\ JW=KN"3)L)VE MQ$R-G6T$MZF)M)S-]^?IR9'=%W]A[??MO >$T@06_JDA@0RT!.4MNK97_JPD M62Z0$12AC,(_R4+!M3,3$P=E746W2.4Z]+TGZ,: C]%J8\#H+%3ZHZ=Y- AW M&@)Q4*<529<3YO#I%6JE&L#2ZQ6%2W')U#TUP8^V(@="9$O?F&@"(18\.3PV M@GG/BJZ=-"?,O>WL+W=75M3_$S,7,7AS>%.0JN#.X1 /X9(>E M]*YXK0^QN\=KD$*-$TE:TW(PAVZY<<>=S[/CL;38L4J !_C \="1=VG^L"UG MV!8AQC WH+^" )2 %=[$/R,=#(5$7[:X7MMUIE6V69;YM_%/U42\LU4DUMR6 M" )8=LS.5+'@7Y:S/LL@75UG>AMMO!(40?.J*590F,9S#(*(] J %U=_"WB& M$CO9JF.UR4C1R=?F:L+KY]FK 'XI*'5#C+4\0?3,^P15GZYEK_7C3SQZV@QQ M!WBD!L)Y%:@&WODL:9A;_>Z@C+*%X 99!!==1JP"^6\G'Y 2=:08^OHIDALO MEV5V]!'GSZ7K#H,)@FX;S*%H@=O+04U ,VW7.E-8N,F6TG-AWC8%ND25F,VB M*;56[(4*"[_"SJ)BT!+^IQ_6^HJT/3Q5>4 M :X8_D*98?M@&*8[9MV*>+3,)53.5@>;/).>>-H8L>&FHXBW;K2SK_?@#%<13+C>WK\0"]LC=A1854581WQ/[NXC_ M&?:XR7W6GK4V@LC*"5XEF\6*WCKKZ_TH5]F6BG[\L3"/(HMUYR;#_Q !=H]T MX9T6(TT5,#Z !,(34O2A :<"5"MNJ0#//K#.E#VK( $F8KUJ)[1&HJT@5<*$ MVC=2J@Z-S0?PGN_53D*'1C*4*!&[)4&*'D$CF)B:'OH. MCC$E)%^1#0%UJ\ ""%YU^/KWK&!_!O0OYU9D6LN^!(6PVH)E LR))%> :/U M697V&6+PEP'IX6#(SD*W7HFL.]]I8KJ:'+@<"-<&8U=#P^$GR]Y:A(^[)FQ7FAY"-'KVYN?2!Z@[LL'"A8OCEFB%I\=FN5:@[54[4N(J MD8ZG#'O-3BO7NH%C,W[FV-QOA_#W<[GC,OFBXS+Y\-JM81 -R3&1=90XUW\% MF_M+\.(F+-B7;0^U$IWH+#E&YQ*1N%QQ%6[1Y=C'CD9RF-A1S/Z/K0K->O#% MG?7<5[6W3]M08;2PBXY']B):A=WFA0?J-[3_C3JDL)W.W= -9>3:J/F*LRX9 MZ&Y 60(T#,WYX-(9QZG MDX?LO_WK:?[G]+EFK@' W.\3] WP/A/W]([2&BQ5O9G.SWJY83OUP'7R(;Q_ MEL,+%C3.S[)Y)L]G^H-Q;ZY6Q%QQ,!!MF0#G6KE'!;V5Y959+56C[?&A>;]RW4Z?F- MAP/\"P1L;7^BD^*,6*U#J8E=SNFS8M4P3!>2%[H)/?!O(\4?N0FA.=9P(;0F M$_B"&I 5T0^1(.3_C/XC$M"T-WAT_47\1(<-3?ZS>X+_IO[YA>\(WML%NF=* M"NKU.Y[<_?$2E^=N7WA;[\)1[#R2EV+%2)7D._/F_#Y?<^?9XRB_Q"LXZLR- M3_;P*J03=,>S@$R=]9SFFZ52JSO2IVJES$L+JS\T]4P+&0BGN15;S^F=?]UB M8QL1VG$AZMZ"NNT-7,=D?3;:;@?8QT??(;KT=:E:3P"1>[/2[THK6T0: M+OV4H]OPK]0O<=/P/7#U"C;;'E5^K0B[9-LND%E#1A^0[^8L6L1Z/G\ 4(1EA VR;VQZ#FFR8FI6RG&S@1CB0Z=C;A.WQ3 M,R?K;<-.V^^C.77\"U%TP$! (F<>>M<"3HP.3'1E+T=L=X[D MAI9UY\\?D2VHZAC;-6W7:=_Y?B'1)O*B!$:FJ=X1'47MF"J>96"Z'7<$@E43 M%PP6ODV+;MMD&.XWZ)OXXOWAKL3;9H^7V> >A/M(UK=L][.%3--AR/1MA$Q_ MQBCIOPVP%?$A-$S'$F2,&C/#!$F.AK$QE1B.4J0T9.(QDI'&Y'@DDS_\6?U? ME!R@T[5==*&=VT6104'+&J*VA@JB.WS]DMP&+>$Q['[/8V,'N]]LW:X?B9QDB9XU/E9 M/L:4>( IT[7.A9=N Q#/1)C:4WPOY8?ORD%HU@Q:N/O8+/127+Q/T5]U0^5/ MZ@=[HO!-&_DD(3^B/0#-!MX4:H5^F!MW9&UW?JC\+5*1FB5 _0XH>\K=$ M-*@Z^:&C^]LW%(*PC9E#RX"J!(I#W8;"!)=^.+AL#!?>@$.@SHHTRBT>) QX M61FC?NW;(&*X_3&.0)^B>[VC*%A_O8^M*(J4/ B(8&G^RR711>'C?D"XI8Q< M!P1AM_CE:&9@2+L0<7!NVF,4X%T]C[QW=?,\S1O/))]=F['?F+JR=3$@*9*20!(@:V+7+9(XJO*^*I/'F(?>WQ&;'230\LHKGE;% MHP(EE]YA477%6?+\&^K@,$>/5I4MS%5-*LFOU'0"ZF@N&5*PJ]_.W,8_.X28D;MPHN4^ 5; T)*:#!DC7J\N5 MM>.P2 QY4KV!11C D_,B*,)K(T>A]$",@)7 M,4=B+W>OH\J.2(UEH3_U0:;A8:TRT?V#J]MDB0\H%%B*:;@8>+K(7U!9IHP, M@4S'B[#H \#U3Z!UL778587H\>P)"6R@)WB,S^G"$AC%[L#3#^XO,))26CS% MV4-WAI13*24JO5M@R8]+B%#U,Y3NF0.A+%V1I%@[=R,."*'R#^BXDV!"%X=: M@X5HH(2$[2#.>EWC.[\O:G@XG2&*^1*L$2FB D8<%J)'E2$DJ\,1&L@N(6@3 M4XH&H9TE2?%;'U13OIBD+A6Q #9/!'"!(#+C+II1X'P])'2$AML<+U*I!G4G8, M=41^DN@'"1F7MCB-60;/G,0D ]B4XQVH]-4I//Q>L=T]"0[.W%F)UZLK7[![ M@RRUPC68+-TXI$DO[). M0,S#,^?H +@F1FR%D;X:-[V;^0!?'I*JR42M74ES*>- 1FX+C;=.'DZR>Z16 MX-,LQCRM(!ZT'WPJY(0;L"@0'"6?B=@NJEW<$:DYK"!$N)3Q0.6$G(Y=RN;KWY'+"=H[.(4HL,,P$RYZ MBLD;:9.I-MDWX#]B'8&J^O7IL-@"N(R8&,\;ER^)2>0>K=CYL?U.P)W[]/?W M;R^LL2I4;PS7??51"?T/ ^3$]Y+R&#K]*47-E?EO=ZTQB"D@.,!@'(7LUH^S M0KFJ[>4J!$O .6B(6W7DCQEW41QX=T@H &/SWU7*(/($V9Y*28%J@$S+$7T M29V=EH<!J_" ^C&RXJX:F\H70R'0]$> Q(5IR$4)XS MP)?.Q5/7 &)OBKO!*^-LD:.WK*X(<=6'2Y#4R>#/[Z/4LD2:HQ-I.I%VK$1: M$U2;#/3AT1RRTJ76$8%_JE ,[H40S64L!?+CR,O00$&Y+M0'EWD,,KC@5F$[ M>_*<;.#/?32\/#^1(DZE)D+8:2[E$A;PDK>^DYF[Y)<#O]ZA1IP:SN G"C+2 MZ2AED5$3@#E&0_/F&KN\I?LX@_7A-0UW6],.+^F**!1YR10G4D!$R[**& I, M E82.@]HYEFC&W(9U3)B3MT6 #5DP]XQ&=,:@VB:/@8CG>KAR54I.J7_83<4 M+B($?/MR6+E/!QB]&"2CTMW\!F"^4-GVZZ(GID&MIXC.\?BR:#*R]E$L%9D@ M=70NB#"VNO:9P/^^5YRAV["^#0OC/Y0OSLIK*SDT*F65=_!11^B(9-#508-J M?9CIV,G9E1XX9!ON2B,(U:J1F%NZ>>P+T"81)&,6[,LC?!: M^"U.J2L./$@%H4$EPNF /6:SE%TO!;,Y9*M MK/!4,K2KF?0'S&Y57_<5A(MTE[[XR7>5KJ7Z"YN^2HPOI&7$,5@4@*K24E[T M3N$*\91FL7QI%BK]+9A:TD"^@J0,=(;I.K&!_-2I\F0*%2G2QX5KP&1KJQ*% MKNUC]7"A@70-5S/*Q_/BM^5?HY!2_5C= BM>6^S2J+0LA5;1<:M*DB42%8?G MERI%%,J0)?+8HSQ,WYXHRQ>A3YJF$ZK950HV4,XBSW1&^5'^]5%;5>'Q8!BN MG%0IVTM/#=FOS:D(VXJ*G]=%_GEUAE4 M#I](JH +[XD.U",]F3I2%52*B<"?P_X2/J^HP:(NH9P"$EF[E430'?4FPQ:% M26E'QEN1JI)@6-TL"Y+HH1W+XH9R1JJ41UI.%U8.!.3A>32S)ASNX&N@L67M MG\LOSG?PH( IUWM,R/1")D"3_J%LXA,ECT@3*@JKII.QF]1-B#G9!]YVX6Y>JJ6C7SN#22X&2) 'J0 M" 7X<34Q)2/X],S\V(VH(LI+1DHY=JH!R!$<8Z\_.H>9&%_%=K[B^W+B?J)0 M7/,L"FE@PUYO*4NW-D.W@:WVE#[+W;'\D:!=R:W8+:^VGME@^=3;EP(GJG\I M+H9Z, +G C53#Q_)\T0;I8@:.F!SAE56M\P/5/@!KIPK+*;W"ZSCQ90"/BQ1 M3\+#7%@L(3KW,E$U1B40:@DZ4_",3$%/9PITIN"<,@4K)RI$W,3S$W9S$_,; MZBFHQ)YJ![NV:.T5FBS8JIFIPB6IZ@KCBK*C/S]EL7JQ?* EMK';\"X' M>':T:016B41+ST=EALW5%534YPNK2]F$K$M^B.$F MW4ZWORET0O<]]MBH_/>94[NZ XV7YN%E"!I-XZ5Y> %+8ZCQTD2\=#6_-! O M(,#D6OVP>2:KQ7CI=WI:OS00+UJ.-1,O3J>O_M!QK)EZZCL9+\_ R[/2T'&L@7JR.1DLCT=+5;F4#\:+%6#/Q MHLVQ9N)%A\>:B1<='FLF7K0<:R9>='BLF7C1X;&]XN67-,9*LMJJQHX&!"RL M6SGBMBM4)(6Z48!?_OE%_\53J77A\*MOPF1\LE/Z^# M34,%UU&3[/NI9&TU"^VGB/0,07(8SFDRGVRKE&R8[#@6F6PN6VQJIK?)3''T MFJT=S0]1)M$HW)^;^?$\[M#&A#8FM#&AC8GFD$D+C8G&13!&VUAA4^#GB^IN M?%\,UTOO%_RRMDCBYJZO>]]]S?IO6[?4VOF:&B4_A:U'1V3K/5?FU"?[1H?2 M!]NZAAY-(QZ/3+8U[-2LU"H']&"LU%@7Y& 0:*S'<4!QNF>^.+!9T2)WX8 X MWK-WH*F\!1#8W!3O]"&PK6^3MI+V7R$W.G;4=5M3M;/T'C1?'%U_')TQM"^@ M?0'M"VA?H#54OB9[L#I7TW4YGTY?-SNM4!HB?2&''JY#]&-WU]A$PLM][F[O M:84E3;UBS-B=_D:*+Z]\$7/J-P;7&$[/[/:'&QB]/OR?05*A1F;9/SD=DUD. M:M;6QBSVT.R/[(/@_PS2!G4!:^\^Q%&99>_^P;Z896#VAOV3X956/9&] M"5KG((2S9Y]DF]SX2;/%L:RK_28ECFQ=[3FPNB^F'SNF/>@>QA5I652U1LH_ M85.IM90_=,!6&IR"K=10B-)WQJ;PU'O%$B_O?90>]V$PP0NF^,FM.[L M0B7)L(BCFYC-YPP6?#I'$]IP*&%?#-BSS'%W4T!4)PF:?_+@D&3>TKC_R.SV M-ADIC;1%VD7F1[?/:R/S]MKBCCGJC]I&YDTFZM9:UKVQKOW1C-"B

1UZT+\HQ7BGSO#';=5_MYTL]FS-EEI[:H\.!&&ZQY[8.+Q&4[X/2?( M<)8YM#>E%]K%<*UD+^%(G2!M.8PE/\^26W,A9JSP1GSY!L61W M3;M_F/+6MB5CZCW3H-GGV"#8B\78-X?#PQ3YMBXOI#TN[7%M+>,Q>Z?!/NVU M[D[6XSJ0*W\F'E?K3G9\BU(6&+$8/U';:8XJIAW M!=EDX W00^M/OU%F76SI)BE])'YT&Q0\LL^MLLJX::42U\53( ML:EGWSRRSO\X#1ZQ;;,[T*5PM9?"G2*M.)LZ8-3@-S1+;JQM_J2YH8;<2;/P M7(\-M1K?/0V>M^VA:7?K=1M.WFLX XOH="G>&O1->V.SIZ8I@:.3O'8"VDWR MX"B/-];G-(WB&V_VG+ 34&M I45. "4 ?DD9K&P/H9Y_9DGJ3^^7%V/9FT@: M_[[T4WB"NSH Z<6OGQ8\9BF RWCW8\'#A"=EU.UM"_25'P)GI9?.8!7 I3U] MRF(CRE?)Y2H--PH3/TF-:&JD,VY,HR"([O *EZ7\)HI]GEPV9@]_\A]&RHM? MKR*Q#YF'Z?SI%_]70RC>I9^,1>S#6V ':O\)_KH(6#J-XKDQ@\L1!E/.$]/P M6,H,H>GA/(]YV"BJW#A211D^*KD-7TG]CJ-H[D"^$4R@^7"NEDR?Z M409 -3:"$HE1?O#$$MPLCKEGPKS214U+J\HOA8]K'R]6 M(S .U_@A[AHH(KTWC<\!D_!Z]Z_,I^M-8((4P82</^X2\J!*"]_ 9$ M$[K<^#KC/$T$YN; V+"(7=<#L/,X6",('45;\AGT15MX]2L+D*;A]N\"@C"L)8D4 M?R1*NP 3+D##1+@.%I3N8F[JW_HI 83)EIMDT C)RE(0!AYQ!W UJJ=4O#>- MF0<:4!0 ='+7!#WB4]&57,H">0"[!2V"29T&@E2 M!\LX3ADHK3 *+T#& ?$C&%:!68"C1 EDGB@+$] 3BCWCTR>@0^?$T,8"?%3? M)4G&PON.\7ONI9!ZGTZY2WCU2& )3P9T:+* [S/ Q)U N4L6P>H.T-&58J2\ M-(9$!UBEY>6>$_U075!9&.?*$W\#5B *CS,EW&)^DP4D.^'S8@$/02=77<]" MM"\"(%0A'YGQM\[7#I 4K)(D&AHV,S2@S562H1?Z0K#1FU!GX)(B6.N-?.[4N@N M2[KEWT@((#1"L)2-.3QM!F@(T5+["C8FGT^ HIVN:=A=VR+0K'S=+;S,0D8" MC'WU*FG,H6&>PA,0:1-AP25&!J^*)47[L)0KT"U^:OS.7 RL^1)[^#O!EM]& MP2T^H'K=O5)I94WJ\4EJ@![+B&B(H$!TAL8G-XUP^998O> ?6BM:IY)R-KY- M42#S28VBX9BAGBWO<.O&.L:WK>^92JZ\ LV P_KR.K-=?L8TP M ;JA$$5(GRY+9@8'Q70+5I RF\!@BM,+N'XN186T3V] )X@K@BA!B0H/ 5;B ML'^#+"2T"$GBH\$&RY!&+XDW=(*FS(\->%.VZJ4)$7XCG)40.\[$4C25Y"&N M>%6-_N+YM[_^"?Y1X'0#V"2&3V<2^GET% $O@Z?=[D\'J#JS1BHNFJ/=[I=6 M3?_^YW^45[]:6RX#N:5MS42DTJ:8[@V_F,2*P <\Y^7)1 )D/(%P&?II?R-O4=1"8S9C&?_OG%?WW[=+4N M2OS4MY18.D3?*JB$F.57);)!>&+9.LP<(#0 M.[YF4GE--;#^A4PP,DEDC!U8^4^_3/8<6*\N< 71Y356I0:*[%WS7JW(;%RA M71K[">H 819^ R80-N9'-(D^")/HW>-,HF.G1Y!]*OD.RC8)]U\HN_61M;7T M>+P,R3)*GTZ,>C1SX%S"N0J,^4>[T4&O(.@+!5,TE( MTXO5I6Q""1%^ (VT/O=N/2+W7E@6S\XPVQLK$30B#H2(X9;CL_8@F(,+J.!H1S4"$%DT-0417USCMCNKXD4E?A.UU3=@"9M[ "SEF348Z]@S9/8A\?\E0>W'/>!CV1A<_8[:UK31.$'R=-TU MZ@R/.]WBN=2TH9Q?JZY&JJ[1?AM\:O'46M75VY(/:B1MG*>W]&0;EKHMD53-)P6A$O;8EIX MJ0FA1O^UQ83PDR:$FK1#;]QJ0JC54CB 9=QL6FAWB%U;"C5'$%I,"]I2J#-< MT&)"^&EM)&$I5]U]P$NOPK"7 W%ID^<7HW@J,VWN!%$_,SW,*>NXI/>,$+^S ML83N(&RPBEW\>T,+GU?O0P&.;[,H2UCH)3^W=P#)9OI^;E!^/Y65)\CCVX[+ MGN"6FT7I!YJML_D(Z EN>5L%W$ENN4F$?1P1ONU$X;YLEKHME&T=5K2%TE3? MKB9/]@QMD6WG*4YPR\T2V0>R13:?$3C!+;?7%ED3)5EM5>VZG$^GKX\;/ADM M0^"+&%FV#GV/W<+F ,D1HVTKFUX[M+6N[8J&E$?>[@X#.A\WG7/DF-WQIFG= M]5'+GDM;=I8"3Y_I6A\LL)/C.7'.^&<@65V-\ZVK8]:FF(E'9]SU@T. M/V'.$?')4^,/1;;$>,5_N$&6X!1N^-;C@'6/D*'/BE)TC:&MARSY_3KS'BV M/]?QI)1&6VEVO\5&^TG.->;LSM%J:5F.T/Y+=>]WR7DBV!U)VD^FD2?;H ME M:+9])&L[YGC@:#%[GA;PWJOE]Q-HL(!F-Z5A-,T>O8!^+XCO=[4)W.IZ^L]Q MY&5N:GC\E@?18L[#=/^U]--'*-2O6V48F_*']=;%*+)1+-,<^/E]=:B MMTT,]/KFH'\2I>;M(O_&A-YKK4-O&_4[/=.Q>UKX:V^AEAKTMI&_99F.H\G_ MF;2,59U/F4KL+C2PPKVST*PMX8AKPW7>>PINH0-S-$E@4CXTD6RRB>&V* MH,69@/,(^(_-OE-K*4S[X_HM#M^?1Y1^8 YM70U^IK4P[0RMV^;(VM0$1I/L M:0;*K5J/ +35P-5TWL[H]ED$L?L]<]"OM;2V_;'J%H>DSR'RW+/,T:C6(LNS M$[,MMH!;&BZVS>%0GV XOVIP1U>#M[L:_"\\Y#$+1%,0;^Z'?I+&+/5O#]!P MO1D"^LR+PGMF;W"8@J_V!X]U4?C)A9N[IC,XS)F(]ELTNLSCU"+7/;,[/HE> MFBVB_G;&NGN;#'U=Y:%91A>%GT4\?60Z&]->NBA<%X6?;&C>'IN.K8^0:F_A M/(O";>S4>1@[4)-_N_,"X\/$5-KJ+C2_*/SMIH[AM16#-ZDI?,W%XJ<83J@];-2:ZXU/S62'VQI&'.&5DWKYPW57*I^:B1OF;UNK>,CSH[D M3W,ZJ5UK<=>1YP$UCVC.D$^:-X^TYE+YDQ,!ECD>Z<;JSR^E/U6:/_K.ZK>& M1J8UT!Z ]@ V!/%/C>8=B!8\IZI_H$P%G<2+ ,D?=P_1];'\*0)\(.+43 7US.#@,];?? M,-(E/J=V(&!@=@]4Z:VIO]T' JR->2)=XJ-Y1I\(.(<3 5;7' P.,UBD_?D" M?2+@Q$X$6$-S8!U&$6KA?\KNPK%/!.Q*\*\&YKCO_*PI_L NPG$/ >Q,'<[X M,*315J^@^87_[\.4QSQ)#?YCP<-D;1N@%L?VSR*$;_=TUW?=];U%!#O:.&CL M# V'%EO$+8N3[V[X=C?:-II(FQ[GWAG30ZM61+?55M6TW^2F= M\5C%:4TCY&NG=-9;H=V.DSSU5G"?VE$.1S=\/TIY]]GQSO$/N];?!WFTZ1R4 MSGWOJ]KCO'BGZ7K9\<[1]]R_:S3U[.SM#=TF-KX4^,=/7?KTIT9%ASEY M=ZHN4L/+\==WY9GP:11SPQ>?4O:#K^W,HXOTF\VYEF5:XYZNT]=U^NVAV9[9 MLVL]6M)^\^1\JIB.7:G_U(XVPXWQ'4VR3:_;?Z)Z[=?>LOZLL'Z&A*Z+^ ]= MQ&\Z@UK;RK8_Q*[+^!M-L5;/M,>ZCO],+>#6U/'WS+$SU'7\9U''[_1U'7^[ MZ_C?YY%<51Z@!2O2B;!/PH^N1E;>7^Q]Y6[8P^-,>V/@[P_., QR:, M?=#[BDMU O3>-T<;1TB>H254@[MP O2^+F5R O1NFY:ES\X\_R#"R1&&,ZR[ M?NO8(*I0S4^:V)]8V=TT3-9CS*QF&DZ ART35JU/,CS[),.Q"6,?]'[\7=5/ M[K:Y.2ZEY?N9&N_KPOF-(OC=2P0MI'%]B.+YARA.@1K&]8[%:+*53A'S7U(& M2]D_4>Y(AO4LHT0(_\R2U)_>BZ_\$%Z<7CJ#Y:5^FW%C&@5!= ? -P@D1L+3 M!+Z,TYD19;%Q%>'-"??P+TJ7L!0^?.%)%L"%T=3XM. Q2WWX%6\S4GAFLN"N M/_7A.OC-C[S$8/!_^,&%A; ;CO?ATV-^R\.,RQNCA.7\G_?9Y [6XY_ZXQ<2!,V)WAQK231L2A6*(SV&AM:D0<4#9I1#0 $5HT M-0015J>W\6B]1L3A1-/FAA8:$UHVG1!9%C MSHT/\,,L,=Z%'O>,KWR1\OF$Q^)\C=,UU4&;23WYAJ7:.1S5@5C?J MN*(6'L-35BO,(YL4746^QUZ.VVW+5M9=RK-1\.D^J^=Q8X%P7 M=+8%&_: \Y^J++[/0]9[EG+UNF5';B2S)6VJN>1DN:0!P8O:HA'U<\6>6]!K MMF@J6VCE45_R2+/)@=FDX3'&2N'PL&,KY,K"YPOQ565+5U&28IFV*M%^Q7^X M09;XMU2\[7' J^M3W;?!0L]@\P@V^6_Q13*+[N!?OF Q2WEP;TQX$-VM;?9_ M+M[%IFY9S:?OVD;,G(68/Q-7H,;N)NTFZ289](>BV'::Z5H*:RE\:C9UC4W5 MCD#33SDMV?8H_."N=8/6#3K0?G;*H4YOH6%.P5<6\,0TX+OOP ?A#475W2R! M1?'82++%(HK7N@GGX@VTV\_5L1L=05\AZ1H[X[:;I-MOD)^+W:VEL);"IV8L MMSN1>8X1]+_PD,)JY?VQ\:I+76J!)6J![W+YR>^*)3<4T M[>>)L\L?*/P; WK^^]"-YMR8QM'( M1,NN,5#0*$&NY?6YEM_7'M9I*T6WW_P^$RM;2V(MB4_20+9;3=)G%T&'9WY* M9SQ6QK%IA%RWL'F2P&ZQ]Z>#(TT+CK31ICG1T(@.F^NPN=8/6C\T2C^TTCDZ\YT($A7Y#^6)6IOF'-L M".F0OB[(WTCQM??;.3:$M [0]?CZH*).)E2+;91#H#(*QJL)#_G43]<.C:HY MK7!L_!]4:=3K+!\;=#K@U.B 4[,MLEW9Z97]LV8HG<0X4!+CV!2@M5%[F$=K MH[/WA@Z7/S\VZ,XQNU8< 4858M\ZA5TK MCKUD3#1OG"-OM-\CJI/[Y=]"\M>3R'B0?CWI9_"$USQZ#N.= ;(#SRXXPN_Y6'& M#[)N^LH/ 6#II3-8=9)*&_D6P8J-6"P._:68LX1[QN3>>&G;'--#)>CISBR8^YV^H8FQ8,BQI7%SS,%VP-^AUG^9VA'^ZV8-L>=NPGW&UU M&H/I-QY))7BT\=:/N9OF0+R)80DO!YU^!7:V [![#&X,EAC@;B]8##\#T'8F M"=/P8A^68BQB']8/L$%LWL3173HSHJD!GCZ,A2$/DHZ0=-N@9(T[HRJ8A@68=B&(=5#: MA0RW 6G0?Q20QKO!=!E(0A%X_NVO?X)_%%6[ 6 MM+G+L=^$(GQK5 H$"<+'/OWYJNG?__R/\NI70WU2WY:V-1.RW";5>\,O)B!U MOE^P*;SYD@5W[#Z1VQR..[FU*\""3W]4/>#"33ZL M#\=510MJ30_HBK(8+N-S/YM?P.4N_/PF@S>%N*/?8A1Q7S.PQH3YB.'V#&_M M&+M!P1EVAA4H]+O'%/,UPT#20X)WW_I1EL!;/#]Q@P@M*;E+@$ZR 68)::X M_@X6SSQN,%R.RY-$+N-EKS/(32/8*C/>P&^-D%"C[&8&6W %8N#;L;0-OLW\I+1W M"15 -"P"!;XGOLEYQ8\]XU_P:% 2""=$;W/,0;'6K]EB$=P3II;EP!(#./;A MQ$!!^Y(9 *^%I9\M4O:=*P905)W(-K3($XKD$/\+<*']!$_-N] M92MX="B^W_>F2YY\*QSFJRA)<;_2<39>\1]ND"4 &OS6VS2JQ$AFT1T D ?1 MW<]-\[C5OM:[L+U.;U7["@]V_!R/&]1Z[ZD>]ZQ8I('BKD2IL'YX^@SP!KO"#B5ERDU>)#.X 2>SQZ"6;O@<+2WCSD?7!6CW(24@'YB8R%5W/ CPO_)E M231-[X#+"/D1M=1(N3L+P8*_N9=+@*7)Z>_TF@+2M\ _@.&.L1D9EEV O+ " M!#;LWBHZ=@XG./W"R'I4-.&4D=$>T01P >LE!2/A%D3, @%HO!/5UTG3Q(U: MJU=:JZP43Y;(W2D"9$+W]8OHV1,#=E+X#/8H?%A87 #/!LLNB3!8(01$C@)S#UE@EW(0!Z40'H%%1OBJP!]/^R'!J% M)Z&SCEJ)!4 .D?O]8D(01RL!L" 4EL1(QW@$NBQK"5^.D^/+Z3TCV-GK%_"J M6SKM@*U1X4[L&5NP (4<0:>%\8,++;O46*0^CZ136;VREW,B>H#Y M[*4PL%7.-*RRSR-DY;A$48>5E<@08&)C:-%($#A(]7.?G%WX44C2?MG5+W.: MN"/G+8Q,2]ABF"'AX#;C.WV,UH9,"D1Q02*C'B76!K"SD"(,N6'"?_@)X2GW M:82\+3 E?\Z.S-R>7O:G3#/L+ M![\<)",*L3<>T 4(M9BVT%C;J[QD5EWR ]JSMU2+TBN4)]8?/\/@ZAW.X-JD M+DJ1IJ6[=E,X5AE !-7Z74Z@I2G#0/EB<^BR ?8 GDX Z M!@PP\$GETY8M07BZ:&HKA\"!0BU<)%QQ[./:"^B@5TSAJ!A, /PT81X\?I+; M3O(5O6)MCZ<8>[P4O1L7L53X[>G^<7_TI)MW(IB7=K<:/9"V:5J4:$A7F254 MG(&I+;)W**T5;*<1%5&XDWF:S90)3WZ ,HMUURA3 M=Y#V#XO4E>'M;Y:'MS=!\&\<,;_L,"WE0NPBOC5X3CAR>#B!7TE3D6$ATH(N M6R"&!5&!DY'%F(UX#'"L6?8Q\K 4&@^JGQ.W/19_1EE))6RV^CX!:U>/6: M>R4\71;'*))O ;MD@?OJW2!M><=868JR' 3I=LL!7D&RW=7PQ^[\W%U5QX_@ MY]RJ09)E:1K[DXSJVT4M2Z%V4,UD:9("F! VJ!2V;K5BULG0_#/RAFO M#MO M/FNC36$_86>^4\,3/LKA"4U@P,I"L]YFE) M-G-54&.][PT9U+ ?\8%8&\1PV3M=C;U,X7_=+AZ/D1ZG (IL6UN!20#."%9S MA5NAL[*M7?GEV4]9!YN2'^2CV@)Z^3?<>P.B-J&:Z1+PILR/04H&&:_H-PI9 MWF J:L'N1?H]K^-A[K\R7T0B<.'_#WZ-??>[\?'O^,#?^216Q6IC:D+FVR^ML3_Y1))::0](V91 MHFNG/MVW-?8/^\8="F8&KQ'CI[#G[Z@DP * &UP7BS0Q2P#X0?J>1-%W*H/+ M[P/'#)%!5"\6$:&),@<*C?&H0?$S+(/2N["G1%5L)I*/\)E?X&L6@SF"=DNY M% -?YI+EDI2>L1MX4:.O=-2CTD Z8%1"F@PD/$.;CYXFDYZ2MMD3ZN98/I6C M3H08DLIUM2 1?T/HB,"Y@6H'7Q9&X84GK!:R8E9")"B-\3F++%Y$-:?6SRX/ M,])Y&)V':7<>YEE&RQL2:B"1W_WV_MO;-T>S4\A^JJ2FT6P$'S0+4-QR8"8@ M27&. Z5Z[#',HU.,^"]OWGP&)Q['200^"%MQFL+E<0K6*\E3O,*8^B'<@R)] M+@X#5A+]2X"0::?J=Q]HN:!H8FYD"9]F%$OE: J+_ "N>9(EL- $=,D;>!&: MN4;B PA9C+M:?J2?X)-H6VK!+@O<+&"B$AXD#V8@X+D;8Q@=XQ\\OY$_L'", MA"__ L3K>_*,2?D,LM"$TR@(HCO2=,0+HGX!=1>=#@GQY4P9]4N/!C!M@+VI MCA&0LO5\>>)%'#*@=ZW<(O, #]- HQ2A )A2(Z() JB0@"T2?JG^*+\5^4%* M7)0=KI Y2FF2B&=9&JDOA'RG;RIJH%OT49#7K.K9-%8+DR^TQ#9W[( V[%BC M30U!2@*Q]/P(GCD%:E)04Y_)Z[@42O,.X+1564G[@5ZL+F43.CS"]ZRDA.70 MZ?8WY;7IOD>TZBELCV&B]'$V0:+TW$ M"PBRC5.7-6*.)L@VMFC3>#F:(-/\TD2\=#NV9I@F(D9;9 W%BT9+$]$"TCG:C +_\\XO^BR=2ISWH=(\[36VT*1VX'GZ3 MRCNK1U*^4:[]@TADOZLFLD4C&J=KJHXTDUKZ#!^X]_(N!+5[*^8J(E8 >GB" M['>LXPY4JID@/V)AQ1/H<7>Y]A H&RGJGDJ93R5$^ZF$:-D$O=,A1*S@J4_D M;;0U:]GZDS=:[A]>[24^V0>1#$Z,2+IMT8NM(1+KV*.XM"1I!9$<=]3=WB6) MM&B6G-WN \J] E:K@.O2MD_/!]RA5FQO5GG9)VP6J3VZ-\&K]Z%JGAME8%=Z MR::!P$W3;<\FH .2B_#8SH!]V[?/4Y0'GF<\9::F1-@A_W:#7MCA[XYZO8/ MPP[-M1N.SAP'()YC,L?F@&VM1:1-=%T T"P,'HN7GV\_"GDXR ;VQY>=I!\0/XN8VT MGG>,C/?&]BE$.YI !J=@9NOPN#$PNZ.A#H^?=WC\(%JC@?;\3AQB6^9X-#X+ MM=%D%CD'#FF>A[!;A'UD6H-5)=*^"/O7!P9,G$2@_6$2/A\/H&>.>J-::P4; M*Y?.T9X_'[/=,@?6)IM$6^W>><1*=(A=A]AWXXA1?Y/+J0/L.L!^W@'VL3,X"XW1 M9/XX!_9HJ?-@F^,U"J1]P?4U,[!>3[L#[)NA M\! 9O[),9S@XEZX2.L!^-K;VR'361");+)\;0-8G1-4M-9$M-_0O'U M#__-YHO7;^0(TE\O4FQZ%,PY4\H M,/]$&]_N;S+P=5S^#.+RS>*CMCH5EFG9!TIQ-4GN-HR5SL!*:ZU_,CZ% /ZG MZ13N"6^D%X(':]]__F3$G'DT'S2V8%/Z8S'ROIV M=3K@?-,!H^$9QF&.'GG1P#@!T]_IZC8XQV:D]CL+.AM@C _53ZI)8K=AC'0& M)EI;O1''[#H[G05NA=.15_)[]07]CS@H\>!)@6/O=2\4?EHQI)I/ !P;XXV+ MEJ+#<&R@[*77U*C>0NM3\QN>Y!X;[@V'O5NJ$-3'%\.CED_N'8>]T+ M3_17*[A/(CLQH%>\\?Z9)2GWC'>_O?_V]LW^LQ-5&G& 1KPHFP2\$0QQB*FU M1P? 7K)X [.W9HR;CBP=/-=Q=/(Z*G^M&*$GPE]6S^P?:F[TJ;DR]:9 CDY> MQ^2O5W^R?Q R")7=)C_H] MO:,7CJWG2)[&X8I:TX'-*YP"8TSG+D[B',2)]SYR+"U1]7F%YE<(V:/EB;N_ MI Q,[STL!ZU(?WJ_ FWX?VNT2FSBLCRQ8N=XN@CX-"6@[4B!M*'<=1&^!K@M M 5LD_%+]\;H&"E*++7V31@OZ2&NX"-A]E*674_\']]:!1E%*5_E$BC:J#H.\ MC-")ORX1YL:=+*]\B8II4;#H#70\6B%=ZOA47<,2;:](D:<"6GS$!\&JXCD+ MQ#=W'&E=?;4&LAL[5DVCV$AG'/X_YIR.D8=^R(TY/'F6&#STP/GYRA-3'L=+<]Y6'U9Z4-(QJIMZTCZZY7T\91$YJZV($,UX^V:\ MR6,8;S5J,Z7_/0\#3^?('=LW/(JJA;K.612O7J;Q=.;'WL6"Q>F]?(,?NAE1 MO1\:BYC#3\6D=F2$@--'7$B4Q;3(@F_+K*]81!:A:MXX)F^XK>:-T@G*YZNG MF/OS218G?,Y#>.""^23&%74V0#M_CJ-;'RPXE]-VE_AR$?L( Z%*D?T\8#,! MB2B\ %4.EZ$@0:5^$^9:EADN9PF_R!)N!#X3IF)9CV5AY+K9PH=/ :E],H!'60>?XA.2LAAB7''@P#_N];.\5!ZIEG, M$?XH+ &;PV0<) E,]9FL)'>!$#?G"+9W]@L3LC M@&A1?411[;5?5*MS)T\4ULN&2H+\X\Y8>,.1&XPI\V/CE@49LF 2N3XQW9V? MSO .I'[@6'$SH)W,ET3R%C?\.:"!% &L#C8$%CUR0.C>5ZR7&^ =<5,0)6"] MK+P)-L%3%M_C#UQ:;$JN^ANMG4,&$QQ+T?5^P@E[VPM]Y0.%A.FE,ZC$I6 E M_^ &ZK'E;!SB8/F[#W0?RN@Y:#40QD1-T4(2!@L,CN+7%Q2 :A!H)DGQ4?C_ M'.D,%2S*;Q [PD+FO# Y[=H)B$2RF/4RSH)#E42P,''BP'Y$:D7^AX\7; IOOF3!';M/Y#:'XXY3:%&U*H>BE=V.T__)*/U- M2G09F'/VXZ($,JG1A+B1MZGO*%*;?QF)R,HEF59 5?CTRG-SR\"V.B0GX*/< M6,_J#/M[PE65WI@!&F[ZYQ?_]>W3U3$C? A/6,\W,M* _Z[@:K1>D&036%V:I5R(9Q:*9Z)TE$).B5"&3L BBE$!D2PV<*4=XRL. MUZ)X2W5YXBO85%DO7.Y7M3XL*M?8!3JMT RWX+__:SP8CE\W/[4 Y'RO# .0 MB0$'8[NPW4UD*98P6]@FX,\ MIWLTH6I"?9* ]%>G;\K0R:JL1*^0W9=NX9KN--T]C>Y0)OKH:?(DW4YY(7=Y MDF#,"V@0EG>+V8'\=HQ;Q$"5_@*$(E"HN"<2P0:/3]+7:'AK2M64NHU269"" M=W8SPP1*S#'HJA+0; ZNE?]O^44L?$$B5# Q8S0Q50IFSOPPN!>AM12L3Q^) M2X1JS3PW(D.W$XXF9_XR[I7?1?'>(!">)3QN@F;"(@" DZ^(G"*L!W-M^''% M#&'A_7H#&-Q,=Z:>3=_N$D/>3P*@&I\9*3]2.N87],VZTC5G7;1Y=265]XE[ MVA5_?@^T Q!",BR2AW-8E<_S^"K<#,^*,>&&& _<#"ESA\BPYV,M"+P8Z1<\ M)Q%I-47<@.*X,^[',G@LHK\)!6[GHECC-H\F=(S_&V4JU)%7,>5YF:0:BYA0 M.OB>@K2Q#_L%6"KY36O-@QQ YQAXII5LW$J$/)ADBT5 %,V"X+YC'"3J6Y8U MDRCP#DM0*V^O+/0/'SC?PUPL0O)*^AA?> *0!@W;ONC/,;A0"!R[Z'A7I#0H M[@?*01"D*)F0Y)S.8M(L)(%O>(C7PP73.)I7\CEO*#2WFILTD1EGS!,/@$M> M.M:X,S)@QX%24B%/E^,8IDJKX'>8S*248ZH4T*LBP8+/_=D(J.)+7E3**IKT MRL&P8ZLWULI.S\/ -Q &5R0%49"X' 01:-&;FYC?H-!!L"SBR,6(#FW#[CO% M/@0*9$D+J%),0H!*]C*78$:QU+M8R#_/3US0>*DQY2*;]](:E"%27@@+DJA8 M31HAIVU:T[C375T2($\A TCI%N_,M?3J6HM5%<_J&*(8KY0G1+'*?TB:('*B M$KN-A&G"#FXXZ1M*0N/B\O6+:RD8C>FCO#1OT^KSM#@ .&9WH3%A ?*,#%[C M+T0^_#8*;G&A5S$'R67\SEP2"Z8PCL H2C*91DW12IISGJX-Z(D]KD155JTA MEE(94BIT#% AD)JL'.CL4 +1[>*YTR8**4&#,N*D0%'9OL()\^!;YMY3^=8M M\P/RD*89)G$)[&"R9VGP_S(->X,Y;(I ]'J 'G^FB5R+(0@-#DGG9R]>GO[]]>6&/P9.$M M<]]%8"W!L5;96W*7D")\=Y,1L;S'M^!>&Y\F 16#@9QH#/#!4/X$A((J5%3: MO:7#['_'5]T;[T.W8R)@P8V.HSM5 O?!]ZXB^OXF XLV3#$[0 EQ\KED==U& MN83/03Y X1=R4=*#8I.CV#31R\)R/H8\,$=5 @([2_.ZB4+X?:9BR^K#175/ M0P#\*33>@K@G(\7NF0]!691RPY9?#D8E#2#G$>W/01N(JV8HW45@"'=S,?/&/EM!>E,@LPEV=4J8H9V5RI MPYL'EMGM#E#Z98G(]C)5^)-AF$J=[(#GN-_%TC(A =5;Y*6Y@J8K9\"%/"Z2 MP/DKU4IP>RZM@"U@YS]\E# @75XZ_6[9&!#FI2BX="QE6KZT[1)N[MA#1+D1 M#PTR"($VWP! @I+UO(8PJ:X6=@4/].,J+3[2&!$67!F&PDNMTJ JFU9:=I-Y MA!7%01#=*5]7AC5%?.A!%V%UDT+K5/9V"PX)Z7,T]#!8 "*<>WDQ%][QTNIW MA=E8XE=I"(@-[TH3NM#JR8563E<76NE"JW,JM%KGUV^6NS[Z"B!$A?E,Y5)@ MM0G#&FTLJ4Q5M ,N^">&PL&0 W,:.!U32OR'"Z(4C=>?E=>:4@UV<0D##Q,0 M01%.<=PAP8.C]!D/L(;PTHKW0R8)'IF0;Z-%2-$)'XGUA4&)3A43(9S3&L^&^T+#-9UC3%A>8''T3Y=J*J MHKEW^=AJ.;%D7(Z4M2@U7"%MJM*]G+<1HGU5?::Q>JM\FB43ESOUWQKV.O;& M3BDE.5=Z/AXM1[ HJT!]INY@ET(7W@$0MNJ@4MXVOY1-DBC(4KYGW;-S,Q!K M]ZAYR:1X9CL-N[.QC99&RW'08G6GH671S:GW6HO'K1SR3_X$RZ\:[!SH( M*;!-GMZ]63/(WAED_/KJ M?2B@\TU6@R0_[VV@7P/8Y:K(0BQ$JS)*RA4-6#"S=$M53/N<9G(0KMGS.(OZ M!MML#J#LO]GU"G3V.LEF6WRUN7-J^B.SYQQBS)IFC[-FC^;-:-AM"N'0'#FC MYXYQ:I:2?)4E5%7\L^JGN55%GB&KMY^C:QM=<7SEMAG!#_'N*WMLCFQ[U?;5 MA*T)NQEJZ8F$/3#[O?XY^G2%ZI)'K[5WI\W7S3)!NW@V^'A=YQ"CZC63:"9I MIT;MF6/+VDFC-EQQOJ.SA5C.SG^()I3BN)5J2(GSG"HG[_$8]BT+\F/8ZH@! M%[]KJ_GI5O,1TW5'=Q=;M??=9(0U=+0OJ;GB.;YFJ_:^&UBP&>A#IK'E.JND\; MOA&M8SFJFWIE=?QW@?&CB(TL?6M=B;RW5% MKRS13Y$.L?O2(I3]!\)_9J'HMI4W+@"*!IN^6$H"AJ)8@+75:P+5&017"XP%.W MV..";E^>_]:<=F-JP.HNMTI]1A'X+TOM0BOK*S-$L=3U QZ-C\OO*MA0 M#='S5EM2P:,WMC7'-F!6J:,L]DZIS 87'M9+R^Y8Y8=20Y$+P4CE@?6MI)WN MHVC'&A;PVDX[=L=Y#/$ \H8K[7U%]]\L%2*$'CL\*$E9H]+K=B IITJ!$^;1 M2 8U\T'2E-,9[$12)'JQP[[AQ?XMRD/9[>\1FS7N.&@NEBL!V?G&HR9KB+N$ M%$ZH=&E<=O>1 MA)9&P5N,%W^$ M!-NZTT&GOW&CN^_E,5MI"F'_GA>NG 9AER7_NJ(3K?H%)^$(J]SG@+#,MFWQHSZN72SLKB1(V1\52G6.5>*.NK M^FC5QCL@=:.NE:U8V];PTM(-+[EN>-GJAI>/T$!7.%0"9P._$=$-%!"?HP!' M&0B3\!WH#6SCW!R]](&%P%0H8C"P9@U?YYWI"^.W.IZX&,T#RD)TLE1Y.C'Y M?5J.#OFE@ S>#;CVT/[V\"]*T9)L_#U_Z-<4OI#B433KIFE9U&.?+&HY6!D# M2+%7]*<4LY&_49MP+H87Y9W#$UY:=9*_0$U*2+!A-PZ:P Z;7*%(-F9.LOE" M1F.DYLF',N?MWJ3=R^,0$_%HY #".[T6KZB#C M&R!&KQ'3V- T8!XJ8;9 M..0%@J(T;KD@".*K'%\:C$0J]@XD2;\>Q.)%N! MQAVT#C,:DR'H=4Z-5E&?Y^90Y1FBU6D^2*M"$F)\JV "B2P$&$)A<+,"QCD!F^]^<7UWQB._;( M&5T/'&]ZW1MV!]?@WEK7UF#D#&UGZG:'PQ?BK>*.]R".G/^380_RE!X&\@ ^ M!O+36Z75Y4WUH*K:C+DSW"[G+\1551QOZA.#^Y(MN2[%?\N;)*E7VJ;QMFR] MD%K_P.+OX-?C!*>\WTRC=M^DY/*CM;2$KARGE:Z)$@G5AF92:?244&R>LF2J M [M6!FN5VKC/T-0"M2?G@4-]7%9?@2^$2?,I= CGFJTY- MVBB"D8)F;'69,V+>=9]9_>O>R!I>C[O.^'HZL!PVL'M>UW-7!$T/I5\BXF^]%LA8.5O M9N[SRH%7=#@);J:A3_*Y1<2!)J#D)+#(28 &XWE\"CLE]? E R,,Y-.%U7_% MQ>P4J^_)3X6R>*<.0($K;3X\XV//T\.:2UV;N?CM5K20#UWY3<0\2E=X/($W MTAA:@X?T,'+A_7 :T5P;2CQ0>,N3H^8E.12&@(@;)<;4#S TA%/C)W,_19I: MCVN,YL4N[J]S2 MB#.50L>]4'66KPJO:!X/3W:@[6>#2(R_+8/H8:@PU\WFF0CTB3S:?)Z%8DZ+ M""T6PJ"8*?1DYHAIF M*'^*!.H)4MM-"HOR%;3D8B9 Q'U Y_D^X10@NVB],J'I%+:0S-U#>;S!X7&?TAB0W"_ M5V1V52:S@FR^*#+;OS%],FAXDZR:(AO&@2>RTEFF+,HA_CM*]MUBM@KKU0O! MP8PP([%)129BECP%\U4R3DI082(("RNO,5RQI9=E#,H%&-@KXJQP#)"L[I"7* /-LM4_%))S>". 3L591(PK,J9HH 1>3$YM"\4 MPX,7,4[[,P*LW:+W255: ]MY$ Y>A83:! MM:1Y!5(!>E/4UNVL5RC+1Z 2J29Z82DE"F)?L:&$:+'*N9_D65[*AE)1+ %/ M&L$L##%+&4E5Y\_7I[#O?-! 8@@]\8)0%'"7Q]-\%#93=J+,@&I!58N^6 F1 M?H&/GBR=HN>@]<+.2_V'S-:B[R2.' ,^ELM_BVLJPV"+JL';5Y)VO<2< &[ P M6 U>X,^IAE5Z#?,H]+'JA*HFI>Z2ZG^-:#/(0"A%$WPU?3T!_):Z1VC&VLI8 M,Q_44:EV1RFMA *'%. @/2+PQ9_B8,&M@G KD9'*,G=I7SS56J.5,V"N!.TN+, 59^+@XG4D+([1D0Q!GQVP/$'O MG I_8B;*3F0!5RYB[J3L2MEW'B*KH=DC"X*DX^^'&3%95,#*%+N?X/C?W-); MD77K;*+":V<3PEBLM+\QS5*,-:R["ZX2+%VQ.$51E8MUW[! M6] T^J>[WAA M<$@1?%^6I[5$))1,H'TP6OFPN[;H9SX_DB65H6W3S-L)QDNR)ZM'1'^S'(]27:QP$G-_4! M#+0HXF+-95\?*"E@PHLO&+O:+_7F!6FA.$5JRC1MI]* F\.V;(XL(2>$$4 M*X# ^%"X%ASHPM!&, ZGPPNUA!>NBN//.@A=_U+?_7#Y(J4T&PK#.Y_BL,JH M1@O8#U4-.9X(!%M89GP?+?%$)I#L:\S&%NK MT3H9''PHVTMN=!/"H]1YHIS211+!E(=!@ V,670GC*J\7$1&KE0:Z&$'UU7FL."*[#R@@R8, NQ$ MW #[1;FD;'>9!/)C=13[-^ZR+,D/$_GA3)R0"DKT+G/DU<4GA("J*5?DUDK0 M5H!=AFOYD3[\!$ L#OJHS(>POQ]8E;(*Z1!;^>Q9<22*6J&(NIH+Z2K(8-"4 M94%Z+P$)]Y#OZX%U)%9/LAZNRZ&3$#D9/([Q)!W:]GZ"EE92JI[%&\ED1>#[ ML9O-;TMA8-P'>%R^EU$85B MB41%54*'S[ _3!0$6:)LX[N(7A5A4R\>+9!8 MX3-<5O(L4/+'1-?3,K$^ KE$#!=%X(N,A*DZBB5WBW"/^69"8<$ Y ]0 MBQ]0B!ZX!6C_EI!9ZDM3G/TSJ&9#'>ODX$_*9EZ >+\XI$I:7QTLBRH%?70, MD:.^CK"MO IQ-RW2?>R:Z6:6@:NBX3 *^>O'[8^JC$LSF?>PP0*$1?#I*=MM M6Y2SIZ.//M_:>/Q;SW>@Y)>H/1>.*.V;7'AJ/KWK!O7X][=O>: M#^SQL#_LNI;+*F>7<(7OW].Z2LNZM@<]VZY'K#_X#0L^BQY$0,[)M3,8 M]ISN8<\WK0K(C6VGRH>>K(Y!6S!*>S".?&QE9<''=M:68^^JIX-L+X4A"4,4 M-F 0$XRY@$"Z*(%4A,RC+ ?C/L4LRZL8.PL%:M<(;NYP<)W],#(#RA56C$/ M(^,J.*H:8$S 3$8ST5S;SB0J=W55 653'JK$8PQH/L)_3;13_? V"FY%*>/J M'AB8F*6DIA!!\*HL%M:D6HAP5J(L5JA&M[=URZNGUWW/-Z_'GL.B#:'#R?#07\PZ8Y6 M1=0;K$25A:C7PY$]'M9WW;KPI$[8ZK= M3!&+E9RCRH!3/\6C.!L*AE>..9\ZB7=[P^G 77-04%?]VR'7S//Z8'.MERG M:WN]GF>MD+C]MQ!$)G:!!8GR%?MH1]-W_\K@E5\YR&B*B#21Y.V.45ZY04M' M@2D6;Q2K)_GX-R%FI::NL^]6!:&OV,_&%XXN2;&@ZC+S936I@\QAM/]'#)%B MMW,7U5:M286&0*!*"Y.?#T5VE1U+)]::]L;#AME_GT+CS2+V \-V5(O3N^7D M/[8@!=$M$N7P:P(2P1B;X^$0CTED"14"S%C,9+84!QOTK&YV=)1;59$.3]3%70D\Y[W@'; MO8[HQ, $PSZPI4/KP,#N($"J80(!>U%JH7P+).J^%8Z#%F2G,6AVY)H MQV.W /\DDX=3F+Q#GDTIG:T(L6/LW/AZ81FO?LO[Z[P49*(\P/NW\0I:G% CXELSAK:4;48^?;^ GL& MO@)=X8I];C.24RJHM(Y0R(Z_..;?P.D);KF8\I&XM%34AW$ MOV59NY"2R)>MZ:N=BJ]=7B@I;,4.1%&2QDOZ;'=E,BZUILX)8U.C[U4E4ZB3 MXEGG039%3W8P2:B1.* *JV,*2JE _'$=U5$N,*%AL)@^I@A0?AI^P@)*'18: MD#;(,=Z$OU]A+"A%]U<<,ER>#W-(##77^T!49C=8UN!8^\:EDO&L,'C*")7- M\XOQ$G2"#*TJYRRX2@6#DH=B02IV@Q,IL!2G5(" .*A@AZT)$NTGYM-95UOVNNM:87ZEE/U4_*W111^I9,*!5U=#[N#<;^)44.G8ZB% M&[AR0RQ]/SRQ%V)L7FB_)FIL6U5)7U>5Z*H2757R^*H2>SCTIOWN%%3-$/X9 MN,[UI-\=7KM3Q^-6CUM#>[S:$?>#'_*O;,K3^U(+ZNO18&2/>TW4-+V.@4LV MQ)K+?;,;)\#/R]SI=H?NM.N.KKV!:UWWV'!X/9HZUK4[[#/>M;WQ:+C:D+G_ M"0.+[XN.D=?]OM,?-+(8H-\Q:+5&:;F-P^F9T%RMHGVP8H0.L>4DUUD_O M6@9]HM;I0%NGVCJMQ3I]EM57 K=E=P9]!0+2Q%;/&8X'[N"Z/QSSZU[7&UR/ M>J/A];C79VS@CD;,JQJ"[_[WK^]_>__M_<>W[_[WVAY9(WNPHJD'U^]^S("C MTWJKEO9V'&.':F-CT#'4III07DSW#G:7G:)*54D>$A,H=0*V2/BE^J.\+'RV MI!JD,%=0II*SA *6I9'Z0H@$^J:*IA+>XEPQ5-D]C=7"%)F*3:=>KL-X3$/! M)(R$E']]-_-3?@%[=)'=[F*V4 _N=_H@#4L@E$M0X"QQ4NF5> /RXP5(-7G M"WSTI1"]=P"ZK2)/:B%ZL;I4'9]$ MLOT &OR]#07++ M-E)X,DLTALSVEG3==8=;R>8@^*@'CA7B[-C]K8!UK(Y%1REZKYLE?9ZPG<([ MSGV0-?&=W&@\-!DU!"1,+>,BX>X%W!PS-[WD0AV]?B']5N_V HMGNF.G^X/_ M<"S/ZLS2^<$]V5UV^^)7[+%/'8Y5<<]#(TO*1<3%]*L>GN>@"8;T%8[ HJ]D M+YV[17G6PO\ MU@K\0TKW'82YW1IA/M#"_/D@>:(PMYL@S-?N]D%AOCI]2POSIG!V:X3Y4NP! MH+,E\M!.F][.;?K_K_EZ0!OUQS+J[=,SZJV1\;?.U\Y5)Y?AEM/O;A7TX^Y M"_I3$O0G*-)M+=*U2-\NTAMAVC].I&\V[8\ETI=LQ5YG<(JVXCXEMI8];94] M=8'D1+6QU;4Z[S]^;4VH3?/$\T'RO[]]^<-X'^+I7I<;;R,WHW/ =)[">BV[ M9LM?/?6K%_%$](Q?+#C+&QC2B \F6HZ\92DSJ%6)ZCJ-3=KI;2F[$7VL<2B\ MAW/4L8-!_@SOON=RV9M&3"OB1^Z&O!I 73L6E6"J8_WORF!9,63,8?;,(#+9.T3&J 3/K\ MY9V625HF&9_S5ML/FDO-V(!.F&UCZIYFZ#-BZ"N:,?Z9W3R4ZWHE>A:EHIEK M.9'4Q*_4+^-QC3V+?4(>/)"K$ZQ ME(M2IP'YC>H!4>XVT['&?+ZF:T&U%<$N+9'R;@D_UCR.7MT9P*O$@^U^IYOW M0J(V5@J !C8H,;I&]_52"X1]XTDUU?))EEY,@LC]7NE4@_=(V3!8O7W_)8*K M38ERDT"2$?T'U8-G8.MP+';H/**U3-Z:ZL4VS8 KV:@>"$)[D1A;J7MMX>3: MFM\&K>]SN0#SW97QA0<<374Q?><"6X[B> T_H4DN10GHG1\$.%4SC3F-(V*) M&O7'7!S2P<)[V*$:]4CSX#*NO97T)A[HO M(==]"7

,D?VT5<9OZ"A7KS]L*U2@'Y*K(3%)B MP%X1 V6K0.B:?V5^3/-S\L%Y)6U55I7XLS5V>N:RDL)Q,EX&"HIJ9:4VE6I= MZ,P$0(@##T,JI)WP&0NF:K ?:4EQ 3TYYAGJ47H@&.ZS*(9]>ON86;H&/&]! MMUZ"B72+Y;VQ,1;CBIJD=NIJZ;C_?HUSV$6@W+Z>TQDUKGMA'W:&))Q@Y.N2 M_L(1G*^ZY@7\]/.>]]O8<_'3WW[[X]W?WWUY__O_-?[Z MZ8^W[S_^Y:MIO/]XU5G;@W&9&^PZE5'#$%N#/&_?CK:*Q"9MZ82ERK;M'('R M?KN_?-02)2E)8UE%G!8_<"ZU[QDJT''0/?R2_&)\8/%WX_^QFRA.OON:F(Y# M3!_9G.]"3JK1\=&$DZ:6!E#+-S\-VD$N#W5FPG3'6S_F;AK%FHI.Q70Z.KF] M^AS[H>LO6+!* M8^U+2L/(Z)')3)-8@TFL;2["2J<_35#-(JC3]A96&TVBAUK\_L9UHRQ,L9Y. MNQ/:G6C!EIIX%$"7@>HMZ2TU:4L-8>FS*X,>U5H&73XR)BN0Y5>5JN12U;$C MZ'FY>OHV\KWUQ=/%F:5)Y-W#?V;I//CU_P=02P,$% @ 1(%I4\ZR\\RI M" ]3$ !8 !D=BTR,#(Q,#DS,'AE>#,Q9#$N:'1M[5MK;^,V%OTK7!?= M20#+\B-I,W8F0"=)T0"=1Z>97>Q^HR7:(D*)*DG9\?[Z/9>4'W'LU,'.9-QL M CBV*#XNR7/N/9>63_\619=%QHM$I.R7ZW>_LE0G52X*QQ(CN$/I5+J,7>NR MY 5[)XR12K&W1J9CP=CK5J?3:K=.CJ/H[!1=G==M=-%GG4[\.NZVNQW6/NZW M?^QWCMC'=^S@\_7YH:]]\>'\^E\?+\.H'S^__?7JG#6B./YG[SR.+ZXOPHVC M5KO#K@TOK'12%US%\>7[!FMDSI7].)Y.IZUIKZ7-.+[^%&QTMJ*5NK2 MQMDIE>"_X.G9:2X<9TG&C17N3>/S]<_1"6HXZ90X.XWG[Z'N4*>SL]-43IAU M,R7>-')NQK*(G"[[O7;I!F@9X_9:G=MH*E.7]3OM]O>#DJ>I+,:1$B/7/VZ= MG"R+C!QGBS(=IM8W0G$G)X+Z7NDU48*;_E"[;+ ^P*:6Y;S=2!X#2FVD]IZ4,+>"Z,DR.9<-I;ID?LHY%%(DNNV.6M M2"K::?9AA!K"//$"/V1V61E;<6R TWMDU>4M&%_ 5_V4./:I4ABXT^-1Y^B M'S)>I*QSG(:KYAY9S2WCJ2[)E>[GLOXN$H_.7KM+"'698+]S,^2%L-&'6R5F M?KUQI]MN=[^PW=LY_Z047YK!Z-6I/V#(JR9[Q\T-^SFHXBK;V^257+$(H:D-<%ZPG[7)@8'H-P+]A:ZP MN_^@46?L%S &MMLFNRJ2UF YO9AV-/9 >,'#M@WH[A<>WG+KY2W+9^P&RZ0$ M=' SP*(&0ZHQ:J$AH-$]EP6BS(Q5A3.5@)F0QUY= R6L?0'UXU!TM%^@OKZ# !*&G1\'MH9M M+='(V>F06WEL7#%NA$$>%"6*P:(.$%P)_CM4G: M).&5W;T)B82A /;JD8+LT)5!!W"SE*F1\T8M4?A^*#5:NOW5T!%.MP#F6G.Y;+V^\J]=6 MP""'T$*-2DXHJQ2G"(5I>2.6R@9W7WVSLP!VR8R)4)PJPL/)VY!)A+ZQ!)NTCEBP2')P]$(::%-PQ)_ M/;@];A>'CYOD7HB!M_6$RLJ4X(WUVBU) &AO@$\9QJ* )%.@#^X(?Z!%59 . M!8KX@TV$H1>2/ Z5R7Z1Y'+"5>6]+B%(C$9T/#C!WML-TGLAO':((N%RLQKW MG$!#1 ;-/]05VZ[!;O$.;ZH+2BA&?UYHLN&\U3)TUR$E8 ] ^K\!=:/PE&Z M7["^"(BYCSPZTJF5M+^S$=Z/\/BD?7225(;PM2(T-O2::^M03B?VZ,MB;^?G MD>Q@2Y,1B )?O%:[-AQ)LO"G4710550+NPZ#51FW"U5&7MP32Z0^O/GUJ$// MC"EY(U1]-+56O_D_+]'7)]/SR[Z/GT/V[8_?TSD/FTMO2\Y_E0M+QTMH?H1. MNY=5+$SCR"R<-G8AC7P!NLQSZ9P0#X2VH8;XHONIA'V^DP,P!I'$4J3".^4W M^_LO!.8GFH\"=9V6AI.K#0Z:IVAHQ<(_;R5 G3&@"5 ,Q#6# M6+)02K;*,6\!P7P( M%+YN,GK2<0>#O<\)2XH]J#=['DC*6^;/+]EW;?_WM+.);7SWN94U'NTI6MC\ MU>O>YV3MRQ:,V)&C>PNZ;SS9%/C&@-T!K/">B.UPM=W&KO/[O]K,)]VO M\TR*T:9G6)_7SH56]+DO'4Q-!L]P+T_E]NDVS@X>>&09TE:>;9%HX9'Z/1%J MP9CP/S,+?<:3F['159&21M.F/W=]*\_IW[U1*S5"BI*%B.KK]AU8A-\"U"6K M/P]8_^%!"6$=#9'6W41\!$7M[M'"18>RML^&P@\:_"\DSOX+ M4$L#!!0 ( $2!:5/:S?L&P @ !PR 6 9'8M,C R,3 Y,S!X97@S M,60R+FAT;>U;:V\B.1;]*UY&LYU(0 %))FE(1^I.TNI(TX_MH7>UGU:FRE!6 M7.4:VP5A?OV>:Q>/$,@0;2?-9!.)0+G\N+;/N?=<4YS^K=&XS%.>QR)A'_H? M?V6)CLM,Y([%1G"'THET*>OKHN Y^RB,D4JQ=T8F(\'8ZV:[W6PU3XX:C;-3 M='5>M=%YE[7;T>NHT^JT6>NHVSKNMH_9EX]L[UO_?-_7OOA\WO_WE\LPZI=O M[WZ].F>U1A3]Z^ \BB[Z%^'&8;/59GW#U/[UG_?.$$- M)YT29Z?1[#W4'>AD>G::R#&S;JK$FUK&S4CF#:>+[D&K<#VTC'![IFFW50FB"Y M,$X.9LB]&YK$LN&+O90ZJ2GSZ/$0-89YX@>\SNRB-+3DVP.D=LNKR M!HS/X:O>QHY]+14&;A_P1OMPC^\SGB>L?92$J_H.6*L6EK;/84WJ*=>*NZVUP?* $&VB3"/.FUJJABE)5>)A?VX+'U35: M&+R2F>E5&#C!@%6KV8)$+EFN.*:A8ZZJG?:;CBC6FZ32B0:-(+JYGAB.HHU] M?L\5:R"4.9W=*J*P&H9J-_WRK$SBAYESQ5(^%LR(L103L-&ETK+?2VY %S5% M>:$-<)ZS]]IDP$#C'P3Z"UUB=_])HT[9!S &M@,%5WG<["VF%]&.1AX(+WC8 MM &=W<+#.VZ]O&79E%UCF92 #JX'6%1@2#1&S34$-+KG,D>4F;(R=Z84,!/R MV*MKH(2S#%>&HOF0D[2''VH=Z="+F)A+3=3JI+Q:^'][KQ/B[($QF!( M1;YZYIAC:2#I40TBW\(2((QAM^.4V9+^+=I/A!%5)S2!3%IH3UKHD 0880OX M?1J=^BU@FDXP34 *BS*8+B_#"\X?!JR#OPC.!1O.->@".74OI9"B %J+^S(? MPBL&&0L%J\H$?0*=2S"I ]F2/&D!(;4I2CO;$4I)"5^%2 MDEK/ PVH?T8N>(D= :UDR]8##1<#,7^Y[R>Z2AI4(4'4?50B'/SRW(C ]W>* M"!?"8M4 "2\ _ARO==(F,2_M]DU() P$L%>-%&2'+@TZ@)NE3(V<-VJ)W/=# MJ='"[2^'CG"Z!3!7NF.!QWH55NBF1 B +58KF?@S2%L.K$PD-Y(F((,Z\L$L MIYY*2XK%<]]Z>>-=O;8"!CF$%FI4<$)9J3A%*$S+&[%0/F@1=-2R_,.G@:"* M"")H+Y+'#1K/CRN#7>;*UI[W#F6V]]E;,P=L&\N$",&MSCV5!,J2E. -]9KMS@&H+T!/F48 MB1R23($^N"/\@19503H4*.(/-A&&7DCR,%3&NT62RS%7I?>ZA" Q'-+QX!A[ M;]=([[GPVB**A,OU:MQS @T1 6S0_ -=NLT6;!/G^+RVH(1F^.>)+AO,4B5/ M#_ XY/VT7%<&L+7DM!8 MTVNFK4,YG=BC+XN]G9U'LKT-388@"GSQ2NW*<"3)PI]&T4%57L[MV@]6I=S. M51EY<4\LD?CPYM>C"CU3IN2U4-71U$K]^O^\1(]/IN>7?1\]A^S;'[\G,Q[6 M%]Z6G/\R%Q:.E]#\ )UV)ZN8F\:163AM[%P:^0)TF672.2'N"6T##?%%]Q,) M^WPG>V ,(HFE2(5WRF]F-!>_EQ+F>TJ7N?]FS>Z_Y-A_Z1S[K8)BQKKY;_*Q ML70*$TL!^%6R9I[K3@2_)IT2%+17*E[[^R\$9B>:#P)UE9:&DZLU#IHG:&C% MW#]O)$"5,: )4 S$U8-8LE!*MLPP9RR)GTP5%]>>_;X(H?O0LULY\'HH0^T, M#9Q?'< 2WE\#FOX;H@K#]2 69#[6:BQ(,>1\5'W192H7+[)"Z:G W4FJ@U_G MMQ@"1'\7.=7<@+4=>?J 'NWR('Q3HR?#:C,25+T$+C1BK10OK.C./BS;07!/ MP_,8]$@8+0B6^O8#9ZT%?*O'S:ADZ>FQ.UQ:H4A 1-7BL'ET\O/RW!\1B[,^ M.#Y[O$G(IBOQ@V&X!652 !(!'[M2VG=__U68^Z7Z=IU(, MUSWJ^KQV+K2BSUWI8&K<>X9[>2HW3[=VMG?/D\U0P/)L@Y(+3][OB)X+QH3_ MJ9G+.!Y?CXPN\X2DG#;=F>M;>IS_]HU*T'5@B)*Y:%37K5NP"#\9J$J6?T6P M^ON$ OJ[,4#V=]W@0PCG+A]KF50P.#EI=@[G+CJ4M7S2%'[WX'](U8;6_;-A#^*S<76Q/ >K/CUI$= ZN3H@6:ER;.ANT;)5(6$8I4*3J. M^^MWE&1;<>,@ ]K$Z&9 ML67X\.[YXYW'/[B."(=> MQ^\$X/="_VT8',+%*>Q=3\;[Y>CC\_'DKXN3:M6+ZW>?/HZAY7C>G]VQYQU/ MCJN. ]2=G+6BEQN2AY\WG=96>>I-++S69./"$4@5S MJ:&MT="VX#72,2H/NWYN!CC3P^Z-,7?.G%.3AH'O_SK(":5<3AW!$A/VW'Y_ MW:3Y-%VUJ6IKH6:"&'[+K.R&U%@PHL-(F72PNK%OPMF.;)ZT$YNN!?&8K&[1EV9QPB^!2%6ZR#:O]AO?7H MWB)S5FXG4H)BY\E=RB-NH-MQ@Z$7H9[R'X J1HHRO0'+#M^*[)87B$MPLPA3 M3BF3...W5_V.WQT,/3OZ.9$^IL QTX8G/";6M@6H!"XTES'/B8"3.Q;/K*GA M/,$A3#^SAA_#G<]T,2-H :-V"%70AVOWRAV[<,5BJU$(NCV_O4,(20&$JMS& MS=U4X5)QA_X;RT:3,K@B.B*2%<[YG6 +^#TVMJ?C^YWOC'N[@S^K/Z]A@'V" M^L\FIGG*#7.*G,0LS#5SYIKD..9B;5;8PD=XF 7PKW3?AH]M."7Z!OXF4Z6+ M&]Z&<Q:'57;''XQ5 MAJG!HGP+!OMM@)1I%BT@+N/8 C$3T[9[L9,B5I1PLP7<2#47#/.(L&DO0W!5 MB)2F3!^U_!:*$:(^-U?O5L/U.\[0^-"5":KSL8_&J6,9VAQX:^'%1-1> M43H('N^#I@T1H;7@=IG?DUT.GO%&9?>:;+Y1+17LE^K9V,2+P9F@+1N6#]X. M"O@\(QHCBUC )*]TAN[B?(9$Z9(!7ZI1P"1%KE\QI'P6X7L7G:!, M%YODJ@2MN84L0OO$*4KB1A-S3RD#2>C_>9V%#_*H\U*TWLIJ+I&I646I&"40+I%07)8$J(F=$&YI MCB&^L,1IVVZ"=1%.PZ4QI&)'CDS"'CLKX1(K+-N. FF9LUNFV%$S4?%.Y4RO M$SZS]BYW"Y]VY'BUA4I)M*.6K7-:2Z+74BJ^.[$2@N0%"Y=_FCC>X.)IE7#8 M L?J')5ZOWSRUQ2MBR?;TJB%OO&7#3>HK%[/.'![6'@U]OX#^5;+/$9FA ]1 M_5&&:@9^JVBL>'53A^ N8RNI2 >VB)VN3+TR._@T()3N&57WZ>=S=> MX=U/B#:\:7O M7*-)SKK+E/OA??;8*X]#EZ8MD^@+$92/,LQ M['9:3]W??\J8SVJO+476SV:Y:I;]'W*#4./!3VC+(=^^W=;HT;)YZ/'1EG2M MNBS>D:2M E-]IWJ5JY'X9JK53%*;KRD=+D-?XP;Z?D>=M5FF",R2G?K=OT>+ MZI:[;FE>?&]>J>=DRIQ(,W+CD 3SZ)#<*DYK&O3[;N=@%:*K-K^L?JJK^O+N M?_0/4$L#!!0 ( $2!:5.&^A5/-P4 (P9 6 9'8M,C R,3 Y,S!X M97@S,F0R+FAT;>V9;6_;. R _PHOPVXM$+\ES98Z:8 M;;$!6]>MZ1WNHVS1 ML3#9\F2E:>[7'V4[+\V:8@.V-C@L@!-;$BE*?"A1SO /QSG+4Y;'R.'MY,-[ MX"J>99@;B#4R0Z5S85*8J*)@.7Q K864\$8+/D6 8S<(7-_M]QQG-"15XT9& MY2$$@7?L=?Q. 'XO]%^%G2Y?RK.[U\OK-^W=C:#F> M]W=W['FGD].ZXLCU YAHEI?"")4SZ7EG%RUHI<84H>?-YW-WWG65GGJ3SUYJ M,GGD2:5*=+GAK='0EM W,CX:9F@8Q"G3)9J3UO7DW.E3"R.,Q-'06_[6;2/% M%Z,A%S=0FH7$DU;&]%3DCE%%V/4+,R!)CZJWVMPZ<\%-&@:^_WQ0,,Y%/G4D M)B;LN?W^NDB+:;HJ4_700HV2&7O>&UE@BTV&D3#K8[N ^R6(IEZC<. G+ MA%R$+R8BPQ(N< Z?5<;R%^VZA'Y+U")Y,:A:E^)?)-4T/(.WQF%23$FYM750 MCS]LAA[=Z62.U7 B)3E5GMVF(A(&NAVW,_0BFJ?B%U@5$Z*HM\RRS7=:=B-* MLDL*LPA3P3GF)/'GLW['[PZ&GFW]F)8^-(%CU$8D(F;6MR6H!"ZUR&-1, GG M(J=8%73W,:$FJ!]YAA^RNYCIQL34=W__9(;\[P!\U MGM=F@+V"YH:ZO%R[#':P!O=[&'YH7MOPK@T7(E:2P6LIF2C;,$X%)M^N"7#P MP()Q:!6>JEDD\2\[U 6\)2_3ID3ZWN6Q"P?6#CN1'7\P5AEM^XOJ*1@GB2]UZ?)KR16@+A&;[9\,;:%3/9D%Y!3UOV8)X*@X[M M 4,R33,JVJGS9Q+CT+YM5':GR.80=5?!834]6X-X,G,FY,0-CP>O!B5\FC%- MJX5:"PM.&U; MS>BL0V+4-2V@5%$0251CI9+5PDH*>96'6U)LJYFLN5,%ZG429];1Y>[@:4^V M3'OXJ$ [:=FS2VL)>J.EYMVAG4BRHL1P>;-IQTOJ/*V3"'MHL7-.DWKW2.2O M$6T.1+9DXWSS3;QLA4'M]4;BR.T>/=\<^R_DK=%Y2F2$]Z'^H)T]]V7OD0V] M4#?U>GQ<+\<_:G./G-%X?;F!%+=0*BDX//.KS^,.R"N]N[G05D#M+S:PO+J= M;^.S6;M6T?&=\;K/]#WQ>#?(M3O"$V/[&]G?R'X7LH]*Y8Y3Y/U\$L"4;E)F MT&GMWV >]%PM9>]#8/ _].50[!YN:_3@>X&A)T8[\M+Z3?>>9*>U,?5W MJE=)*8N_3+6:Y=PFIDJ'RP5^X_7YW8HF/;6D2#H..,VS?P>+^A5]4[+YUG[[ M_X""3=&)-+(O#DOHP!"R&R5X@T&_[W:.5AM17>97Q[SZ?X;JCXO1?U!+ 0(4 M Q0 ( $2!:5.FB?+Y&!( (;' / " 0 !D=BTR M,#(Q,#DS,"YX&UL4$L! A0#% @ 1(%I4U,?Z[&_?0 3H$( !, M ( !M%@ &1V+3(P,C$P.3,P7VQA8BYX;6Q02P$"% ,4 " !$@6E3D#_J M3'A6 ":FP8 $P @ &DU@ 9'8M,C R,3 Y,S!?<')E+GAM M;%!+ 0(4 Q0 ( $2!:5,&1Z\915," #W!'0 3 " 4TM M 0!D=BTR,#(Q,#DS,'@Q,'$N:'1M4$L! A0#% @ 1(%I4\ZR\\RI" M]3$ !8 ( !PX # &1V+3(P,C$P.3,P>&5X,S%D,2YH=&U0 M2P$"% ,4 " !$@6E3VLW[!L ( <,@ %@ @ &@B0, M9'8M,C R,3 Y,S!X97@S,60R+FAT;5!+ 0(4 Q0 ( $2!:5,EDEFB104 M ,\8 6 " 922 P!D=BTR,#(Q,#DS,'AE>#,R9#$N:'1M M4$L! A0#% @ 1(%I4X;Z%4\W!0 C!D !8 ( !#9@# M &1V+3(P,C$P.3,P>&5X,S)D,BYH=&U02P4& H "@"2 @ >)T# end

9&O MAW"KYT_:XWV0 KD]R.; 415P\V3R&S]FV+AY8=Y7/6XM_^<@<+ZZGC?A5F$; M6UX1T[?^1&,QO[8AKZ0G:(\'LIZA<"!? M,U'P]W1:D3+VQ+!G=Z F4(G\.M64"'0^MR8>VX77( 77%L\#/67C9RNGWYC? MW;*DG+J.%=-I;V?- =5QCV'F]H[O(+JRM%V;3TLZ)&3R;Z9; MX*K6BK3;FQCVL:8F%2I?R62DSG-DQ%QZ5/J,5IO&^ 22S#-944K/1G>24_@CO:0G;26K\_!E^ M_.\C#G?NA;0S.3]TBAI?B#/RO3+-KYK=2_!/Q^E<[:ME\K+W<^!O;O$YDO8P MGT)LF62'8KU"_'FP]A7=4.::\VB]2'^Z4ODD,4,LHRN#^=!UM,R]*NEY0FY^/41\ Q8 M=VRB56XB8L=;;!Y*8V#82 0EYT&OG^@4&X9"RRNB4PG6L6B4J7@E]"E[BHPV MF6GSI\LA\!4TN6=^;MF_X14XR/G+7X#S1SPSR$R'C"]WJ=Z[T+6/=]G:U43* M41WAL%AFJZ M9*I$)JI,&>':4)PZ&P4&<)A_[7)#,#?T^^#Z;DQOW>>3(^"?([I)O%MWHSIE MH%D5*0%V 4 >>>G40SR<:F5^U]8NE+SE6DYN4BR(T$1 E9FMDTE N(YB=V?% M#(%$^.M5^#M=P&<#-[7OT5^I^[1E!B^?V7CKB38204^1R EB",!DXN@C#S&A M#.)6Y\L&V;PJ91RODG&B!&G:9(VDBJCG!]:$Y\C(6'[+G-))HC MA3OK -/YZ#%(&3-#@48_AT&DH@*-:L@)0-=Q.>R;ZB .=FW3.^3+RGM@S![3DJ^5[H7RH=:0LY\66TNO8!Y M\;1T_C.)8OZ[E(D?@\P_B4V/^:JO+*0D-@A$V<)S9T'(EZ+[^]5G<9HO1P9) MO/&"K[ 5'=@N'^!\=>,MOY6]SP@35JJ%@<0J+"0LJ.0 @W@CZ]3::1>SS0&9 M=RJK#4EU$TEY/FI\#/*^1AY53MS?F,7J\K0-C;BA]Y? <]:6_6OFK][B?T4M MQ S;PNV:3;SC*LA9LXT'??A1&D>4-J')EGH. 74D\1V>$8CFO,>*YE81*PR9 M>@HF&=_<&QRBZAESIH9D>J8GN"F**K#;AST9K:&B3, MB^9TX*BAO+KJ\Z,_+6^Z-O7[\C/K^UP7$.,V"_=\K)A>RVR@1N-T."IDU=18 MJ(3!(B@E%^B8A5VR@>W/2,2Q#6IUA84BYLV/: MCM#5\V]+H;-DY:X^#L?5S )B@0G\%]DL'G*L$=N+>;Z,^?RJ8%6,CS@ MS2W)5P/ %G+CGXZ,";/'3-H'/#C^1=GF1-L=L4MX9*4C://,[4T0[BQ&C!?, MJ/QJ7;O1=1MQ\^H 6@-5P_O:LN9']^U=Z[XXD6J"(,E4$?B;0YSL N?<2'PZ M^*JYNP!5,H!P"XJ+Q*B&ZM,A=M?8S,:\F)'LUC1<;=BO]H'/='T(PF$HNZ/D M>;%W'_CJ+GYT$#L_3N_E9>>K ERI6'9.U1*F48?LC;.X$< 45TP$C+ OE\/( MK)D-O6-I>U,,P1^IO?5=V_(^NAZ-8J:WX^"[5M"\B+L%.#H#;K64^=%R&Z?Z M#[+C3 G995J*T76V,PA7>\6BR\8-HUBB;KC\=X;#]!&A;QJ@YZI)KAL7=4\! M4O.8?$$^E)OB!(/T4X9L@\\*PQX'=P]R:=0W(83'T?!WDQ] MQN H"'P2H%)(H!5.P>%-ZS_YQ..>/E,_H8]6^$3CUL<$^^F8%^\/ VG]49<> M"N;75PSD;_]UFZ(O"84F$G-5=8LW$66_<\ZV\S#\;92G9IH6Y.75G]0T(FS# MM?!C&%^=-:&'HQ:.*MO#9>#'KO_$S"H=L,\2#1Z.OD(_24C[J0'@:4@$T20& M\27Q/MX,RUJ%6E+26R1 /DF;/BXEF81( J,V7^$:E60S?1VO#%6N=D"B\/&\UV(D< M>WRY!8N3O/&8I=^<5V?IT7>=]%DDM1&2NT!^[YOTZX"AW\RB0YL:=+EU M-C=_!\]7U/'$CCB$14F;A%17_54P[&RLA[;#:.2VO+=770+R,I&EX MU_:>B<]OA&8:R)M,Q\3\,)'CC#]8AP,WBY]21>9B^,'>4B?QZ&I3DV'YL>*J M?R4>SUR[2YEOU-3!HADY52+F&3VUGO2+(***(#E\0"OY(O2>1-$T M(U SZ*CX9:$/SW0D\QA:#MU9X:_1TG?X/\"PZ".%X^(*6)OJ("<0+9=ENJBM M@)@<].SNO/B82R=,/.'_Y*V:]9Q"A:&HG\QMV#99A^Q_.V63&R9^+Y,H#G8T MY-F4W<"/MNZ^/GKK:R"/70UWY&&(W82AT-9N+F MO:+/U OV5-S7#;S@Z7 /[V/5!VUS+>2!J^FV'+P-51 'L*[E7=MT+I\4"HC0 M8#B237B.%X/<7RW,G^DQ:HOH(EP53C7 MJ.H>3-.H-M^6KWPPK:G./%O\,*]I-2V=&'PP;73?N11R:87A@3_IPT_TH(SI MI6TGNX2_V\.L#&/WMZI#4[T$S3?N&\#19 *%E'ER0Y,S8[&%I)?(BH;) [+A8\7\I]-3Z\., M#YJN@(WL-[_M92YJ9>Y8;8X=5$#26 EYU.HY+4=M?0W$4:MI>(^D);EX.*)T M$KAFQO13>DU?X-QSIU0MHW>\'Y(X":EL[K6P=KF.XM"R.W3+.B*1A_\0@&EV MZ8WR$%/'(&Z-.!Q8E :^)+4 4I5&+&>K&!_(ELPSG:EH%E/<4 MSHXXD#A0> 0.=9B Z$N>;]BVA4]WLJXI=IY!W-J[46)YP0/7/I['+DANBSCZ MG,Y M$,QRPU 2RP85[\,RQLCUL:4HX"2BH2 M^W&N_R0#(1*7O6^/9H.T^5*0#DR:]%,G:I[4H^716,=='C04$'D D0)$_=K(6:4E##*+:%9%S!IM M/>C:] L]E6=M%UF&0*[-#"N8@<(MH+ JCQV;R!5Z%P9[&L:'.^9BO/2=ZW\D M[AXLULL4VE@=.2.T!:(Z2VA]7<2(7A"O@:8MR%>:3@BJ]OS@\ M,MTUR4#U:B*/@A;NRP&@40UQVV]C?==F?QOX3^EX^;'4#1I/[*F.=Z:Y-IFG M7LVYMOA3][5:?%%MCBV^POJ^1)_R_++$\Z#'<#K.*3"HB7KCN3;A!8R$H93[ M79^G3UD:>7PWN%G*SU==%'$<-UG<.4U=*E<>F9G-R3>RHR)])JSY[+@L/4\"3R6SR& ;/XC6CVB"MKX$\4#76 Z/"ZMO1M;GOL;&W1'&1R.! <\1FB0)93SCMN& M))U:%9'S@K[S6I/MVQFDYVQA_$AKJK<86P_5?D]83JN(JW?%=V'U';YV0GVLT?A!P9'Z4R% M"BH%M .*1TX40P-92@8VD&S$Y#.XBT/DN90M69#<%A[!Y?.81^2V*+.;J32A M:$"]I5'T$U%!>X*GR=;9"P.D,MFQ>9"$E5.#U82WMBPW_,7R MDNRFFN_[7]G:U=7FT-HUK._/]D31\(T>[)X"@G9^FPWY*.^1:T^?:5:=8="K M &B*^N-Z,PM[I?G#QGTDC?C,GC&;!(1<'H(@OSCD/_[%I2$+D^WA%DZZZ0UD MZRO/)="U0% ,9VMJSB'8]1P8(-QSZ6).M_P%Y=@V.D6C]2BW3L9<(J(-)(U] MH$K '.*CE1]#]XJ5X8-O9#P),!7\@6>H?./ODSCBO/E>;X1<66,N[*!VMY(+ M3HO/(?)KK!Z@.0OI1(C',N@=P64NC)A\Q*G"N1]:Q^@/.T1\0QNA0+HL8-?GXR "[4+<-5Y^&UC$7'A@2TJ%W1V]GLCC5-OUTG6, MIDJ(XTG?]LX7*++4D$5/7FBI>19YFHY\*O]_,GG.,]HR&H3_P V.9\LK+1(4 M+BL@:E,?>7BWAJ)\&E.S,N)P;^]#]^-_T99W<_P'29F""4P=EIP4#UKH."&$ M01S6>+'5G,L&$R\5 [+VPQKMRLC)KQT(IU@_1^1SK\]^L(YH^ SG6?FB#OLSBRE6BY]/USKA/9P:Y%0R%K"5*QH# MZ4!,3Z.Y.L2Z1O-B!K=K063+Q&(M*=N&ZK1XYM9!W('1.EY366N<246-#/U)O6*UT#I$]NN\# M[%)6=I>KD^Y2H[>\.) 3UL%QV&@.WV&MCYX.:SO/P,3OW_WXPSO.P\[S]N\7 M2>3Z-(HN@]W:];E?EX$?,PAX DP_=.@K"RE?#@(1<& O089Y MS0GL! [E5:5*&,:O[L?>]\PA?K#1]3=!N!.L QF?TN?MXH#8N2WP8V$,\?+8 M2GSV2[)._6#%^'86FJGH*LTAFFHFDFA2Z24FYQ$IFCK#@PVK1!ZQ9#KEO M=4_'#*L*:4W7)F7%"7B6^]Q($WUZ^M$.:)C8/8"?2?:6_5^5,, MT8.U5GZ&O5IW#!#V= L"=I,W8/DW)+.=L%]EUN.YQ(KXXSSS]67+^<\DB@V_ M3R8!Q@%J>-"ZICAR FUR5.8[55G$]-1H\A!9C<2$6;S3:WCWNLK?VFWGV@HS M;+OJC5YUZ9FUWQ'RX%;J^+,8ECM?%TL MG]::44S7&#]<6\^4$-!B^([W! #D[H9,YE#'$H[MOJ?/U$_H+X''1LVUAQ#T M:R(-UP[N9P<,-*LA/T[0UHLA(M?ED0O[ND\DWE)B;YE,"J<*2"C4LU];,0EL M-ET3OXWV@1]1?L"@* QU/9[[(-@0F.@%.])3"!8K:=)0 K5!D\ M)3 5#*=.FQOE=#H9489)T9T,(QDI\8X GSR0&D LXI'6D-Y-_:EO?1]6@4!_[Q 8(!Q2(EI:&! M:W\652T3^3AR4!>[1I,0#:/!.!-.=IET-HJ$T8(XILJ'G:JCJE^W 1MK;J30 MC B3X>[X(T1BW!JY<<)+OUWS5^AV@4.9(4]8C[".B'K;GB#]2JL-R8TAN34F M7VY=,U*/XI"W\[KKN]4ED7*:AGOEYUQ/BB$>"-59V[4Y/]A;ZB0>!1JY#?RG MMVP@L2.@B12J(O-74\N^WS8<$%:7GE6[/7%3W79O9W#2MLGBSLN$Y=:*Y)1K MV=L/EDV7.UC,U *G5'Q6;?;4476C+N;[M[-@BR*AV=,NF13U>;RY Z+K@J9KS6B[M+=A=!& 9?V7CN MTMJSO\0'!5XM12"/XRZ E-,@Z==''.^=W.B>-\'G0R^ACF3Z%B352'*5)--I M*C'2A*ADSJ]SYVV%\V;I@DT!=RX_Y/:!TCO*,/=CZTDUD6HG889DT0!'$U3$T18(]>Q!712-%1$+* -XY1N# MHXW ?WJDX0[P41%MN0CRL*]RJ#0@D/Z..'PKS>S<)DOKK:9"<%"75DD? L3,A& O>P[U*Q>=2V/M)XZ@Q%MCO;JC+R;=AN MO@R0$0@V5/D&'W0INW2V&H-*?D0/=*:)?_BIO>J^9]K-TVFQXMWMJF9=@^LD MF5+"M4Y_A&]:4#Z6&HI/XZ*QA%7^#TJ5K@^Z/[@OU+G<6N$3O0PZ$&:CE+G1 MIAXLM>19+V*.%*KIT>!$*O22#2B&H\],,YO5SXA/1P9.P:HDU4NX8B(TDTPU M*FX=&:"/M2UH4)+-#DZL-C>^'>SHH_52=8JFH2ABNFQR,.-$53GDQ-=H=M9CL^'V=B#B4V2"TP4G:(&13//] MK!<:9:=IA0V3AOD(^,M!?8OAS-3U9D/MV'VFN;.P^BL.UR:N_[3:I^=J50?_ M6@E RA_=P9 75/5K(UYN[>!$UUC(5\GEN?^1IU3=ZY?]M2/Z 7U&0L?[WVTKHPTQ+N!D T=]&LB'U)T<*3S"<1< M%8PF(+ZA45.AA+Q9"S7?\"(A $N0A..T P0R:E;QYG:&5 M*CS92>T'Q(\"")\?*:W,'FH.#UIBS;2U3$&L,A3WY8B$,]_NWHR_B28F\#)FALAE8?' MG4U>8C*'F=1;A4=P11RN&!1B6UWK13\]12+GHB$ :UZ3FSU+#>*6:\A:4F-@SXEI&$8VCGT-FG0(A96'D MD5KO9/D^4U5)Q!':8'#WNTKI>@_TW4+P@G#1IO(@C.LF=+ 6"#87B8PCQ!@" MZ&?Y;+D>G&AX#."J)HPU OO7;> Y#*DKUTMBZBS741Q:MNHV4A]YR..Y-U1R MR'<6AI@5^OO4IZ=+A_'ILSVY>E@3%@80V8(%26T@7S(K#.5/-XA:LH/!01#^ M9'3U4V06M;S4X:W%8%[&<>BNDUA P7]W 1D'[ZP#%%Z&(>3#YCG)U,L__04C M9Z3AP#M:-NTI%3%'#>A)B0BZDY[)WQDFGVS=0X M(EMGZO8H EQSM&B.5B2A91F>\RS]V'52$Q_@23;^DO/UBSC2^H$%-@-NGX@] MW-4F>XSMCH8A WBA+>>XA;I'W#*YR[@XG/8HX&5=&N,AY2.G MR\&AE"ES,.&(:7-X'X>X@B4/ 65K2N- LCY4CQ7!)O-IG 4T]<^P'I=!'FV5 M+I4&&7(!Q*V^VL[.G3YO<"B>4^T>Q 4DOG/'@/AD[>H?8AU)%?(0&!/@4M\S M@A[$ 3FJNYU[)%!(+AIZH8NT%TH+EGLAB1J8?00,)&"AX5=K4<(MTZCQ-VZO M=WLO.%#*%Z=7>X"G]FG;NO+(*:W1U=*Y+E5AQ.32;'/G\T2I9+'O0H1LPX_5 MCN>M<#+85YZHGRXT[VD4AZ[-IO3@Y MU\!N@G:0.%P;_35& ODCVUFB^41*M\^+Z,BO?P5AOI)1[Y8/81YB@,0DJ2*+#)6=6\-WWF( M69QH*IDG[(?3Y2ZR9/^2'H.%9T/DQ]E*%Y"F3P1W1A^Q% Y6^2-&4KE]^A$M M\1&M >(]B_+*CSB#U3MQ$".2OM)]X'D?1)J*H6?)3,Y;+"G2 U(7N;"C5GW-_4>8NA MQQ'VP9* L-!H,CR,8*>BR1/('NELUY@[]B-"\W,U)//I4-A<;D/=.&'?[$9C MHWYP36?>H=3 .V2'4J'FC#N4.F\Q="B2?46O,O6;7)C!SCJ4C9 ]9_Z$@V#4 M6?IP'(+"[:;' 'XUU7I0"_5GSK1M/\20]*NK^XPYN34$&(A:&,T?J&A+J@SESQ?UI1ZEBR#YE(DT$R!HW>A:U/82MY,=?I$ MWY SY]WN'V>D_59-*\Z8N7N @8':2P/E/&5NZD%&_)1P'XR_ S'#;]4 Z=GW M$V:_Y.\]PM%G,- -_,[]LR7\^0[RI_HR\DD56CK10]ZX/G%83V*%$9Q+%T?/ M3Y)ES?2@SV2@GAS_T<0544>JS(5:N;4]1FL( M*(S9N=:_%5![',E$%SMB_N;IO\_1 :;SX_\,+J-=0%LCSKT7Z/11!NT(6EEP MSGU!-R!0= >YZ>??(TS[E8ZV7,ZQ6Z@XNV6B8VAOQKEW#1T_S*"=0TL;SKE[ MZ H%B@ZB\K3IN7814W^IDY.J\^LD>I\.,[ WT]NHN7<@DWRT:8_ GFOG,@TP M&/9]](_+GNVFD.&OJ3IA>W:]DG3"SD#WHZ_]S/N9EI]AI*.[K[3G:(L ABZB M=,QWGE,0)%^EXD3PV;'\TG%<^,'RKMS(]H((YG79 <&1OE^3SC-G="W(A^3Q M6H5GS-YZ?F/@[,)2(IDZ^Y.ZXWX "32G$#_#9QH:#V;=4W@'F>=T]3EVB>5! MJO;OZ[[;Y);,@;;-?)Y!'HGH;@9VBC>$!@;BKU^RR7T@DA,$O)C90Q4&OY8F MJ+?NA@WN_T;9N-[T:+X'P*W7QE2XUSXJA\7 ,^]PAO^80_9#PUEWQMW3""!A MZ+5Z[$*<6Y>&Z O7[DP<9MZSJ=?\IN["NEERYGU5C\\S9*?4P8PS[GWZH(&A MFZG?R3BWGL3$UZKJQZBCUO3<,+]>/7/L7RTLFN,5^HF\.M#\FU"/= M5"\KPT[AH_J,@:A+0_[<3L(-G>]!H_&P7SX]A3QM[#%8B])K9V_*=]'/Y=:Y M(3 OCN^@F^[BAADKE-&<8-)SJG .G=RH8(\TA3G2AKV;&]=I#/U<:4(R13\W MY:1C:.!K>/E\LM,JEO\D6',8)IF+]+%G#C1N\E--<%>CV1CLG8!13##T$;5[ M(Z4.1$F0\SSL9>[SU?8TO9+Y.L_0<;Q_]^,/[WBW 2]YW]%P$X0[F$$P9S]: MX:\TYIAP=**/M"))>9MZ2&FXM>M E]J5#-.:$]@)M&?>Y+M^NT%I:)_2BR4Q MD 71QO[&3"$[2F.8R^ZX+9QN]H611 AAD_HG&D??CD(H55W!=%A)6@A30X0> MPA4)GH[(%Z%KXL.S9C"PCC%(67F&0^OK?R1N?+CQHSCD01FMXBT-'[>67YFV M:NCNK+UZI(QMZD,,,DYNJ?LJ3^, MXH7+05 :\]'/J7&2FEH4!_:O)"@G'9QA7ZB3J)'_\8I-?SY8;CCFXE)[*\ZU M9^SW6<9[Q[K1A'/L)WLB@6'12"/A+"]"P 4"/LQYI6CJ+Y5C::58\OZ .(#E M!K!\!C5G=[7[))?C8Q!;WB3;$)JJS[Q[:/,!1LC;4:OWC#N"5NYC8/_*_+)G ML2C9D_ MNKZ[2W93-(AZ]:^)CS0^Q&BD5*/[M3"3#@3HZ&E!P&P"=I/,< *6+TAJ^\Q& ME5-_&0[?6[(! -T,P!"6#=[LV< 6#@P\T6\69%>-YCEQOO5BE/-S]:^>\\L? M8EK.%[I?->VGROG#_1EM#F_<9W"&J0C0_LSE&X@0=A7/@]5'! M'N0.4:,V[-P]KM,(V3H_(S[#Q 7C U^5GM\HR[L?)$7PN$#SG%18%FM.M ML309\#OU3[7.4JO]E5,__K66&NH_F\66<3^.!O6C6&CI@F;C^?=/@?_,;\W> M!Y[W(0BATN2'\!5&G&L7T.NC3'.UJ*4^G&7F2Z/XK8^S79YC7RE2#AE+!'&B_M7VE-4?8IJ.LJS[ M5?:3"@CP=Y-ILK21$D'\*+Z)SW.#&>HC!_XT0MPYRZE!MD>JGN:G)KG-%IB4F_=K<<@Z^K!T3<%'[OZ]I\0&P=W.^]&OKTK&-U M96=]%F3\+ZL^)J*9PO7,3H],B_C)P9+SR9O;,E\]OK'#[PG:Q_Z4)MXV^7TH M,21&^,<3KR09/+HOG#ZS\HKZL_+A)'S]67O[7FU_UO%3FCBB^7M_-B1&^/NS MXT.>K[4_F_H+I[B_GNXL/3N5L':!KR]K:=RK[F7+4X.H^NZ["UU$H^N-M>[O1<<*'V@X;-K4P7R'K>%_;3:W%,[ M>/+=WQCPO/N_#*(X>H1WZ54?;9 MFLLN:[1G46%^+?K([A':M- PSIF]QA$Q-J^GB^5[&E$6!]NE[US19^H%>[ P M[4T_TIK40GHUD<=U"_?EZ-:HACC&VUC?^7F,5 =A2HBD)1NHD2]"D:& GP*" MNS!P$CLF3J' X)24>DSF$[R<:(6_TIC]K!/D&M601[BNXZ4Y7T,=Q+&M;7KG MF9A0P.,Z5X$DJL=WWO)@<6^7^PVS33N)8M:_AR1*]OL@-!CD/U.?AI;'_%\Z MD D=[D'$[C/5B73=NLC#O14$U T&F++V:B)FHI0-C M$XP9ZI@(A,> L29ADR3[UQ0*6SZ(04>$0..V]E0MH:7[R :.^2TR?A DXI]4 M_CMT(I^"^&\T+KJ7/AU61WW("7=TJ%L/*[LH0TSKX_L\6D^06Y4=.P,SV&]C MN!0$#KPD#")L=$,O',:'ZM1=8%$K!_DJ];U]Z2 MI$WW0)B[I;R6:TJ*ZDA3[E9>'^(?I?%:BWEKD'80YH')>PK#IKRNU+N=D.E^ M5F;/(.%KHTPWHQM8+MG )9%GGM$NV&AFXDT[&B<)86\:9(44=J3A7X(19YV; M=]*/P@TC%_7WAB[2>T-I.=U[0\=77F^**Z]BK0S!9:'S^'X57;Q5OO<52>7R M[0KQ_91!%V3?[SF_LKQ/OY\(WB?^_1SX?D4&QIY\M9:".+Y5W=?ND:JT$BXRD6V MR9J]?YNIY=,BH9ADF@W?38_ #L9[(9L@,2[COU,=3*LICSQ &ET]N51=51AQ M@V^VN5<7%!$AFLWO03AT]*)M&[S[.XJW=\S6+?N)[+F?^3WQQ*.]Z7!7@^@E\/^*F%L#$SQ:=8R0ZQS4W@[C<#OAS(EE"-LR4:2=X MN'"[D7 K#RJ$&>0FQTVVA( ITT^N3&/W3*<>4GYN M[;H\QFJLA'BLI6_[N(Q@9NPUOO?+IZ>0OW-(?!HCB.U+V"$*8W?MT3LFEH8A M=;BG\C#T\QZVBJ!@=-H[]Y.$//Y[P%->?F@M!C%']/&F^Q)$KI/D2K/!0VD: M1Q*FF12JS3")"8R*)P(C 8@MC!AN/U3I5>'%/8S@*P93+:HBY80N &23,]UZ MR&=AK=WHO.$&4HBUWWNNV-Z'K3([5P)M?)^S )]Z$==GQ>3)V+03KN>1GA6&!^B9Q&$[*X+A/TP(LG?+HBVEZ6$>]I=@ M[;E/ECAOY_IVPL>%\38,DJ=U7@.7)LSO$U= M.->P3F+B!S$K[#K?DL^1F)"PINU1.Q83DS1.^$D^,3N!7WM%+)$W#K/\JQMO M7?9GGY(#M=A,/,[CLEZ6Z1LSMJ(^^R&^8S!DV$C3*-56\Q""D0?^<."5CE?T MEHJ84 9TKFM89K(."Y(J)*E& BH-]#$#Y: M+[1X]$?D->>_TQA:Z I SCKMP3@9@FC51LPB'9SH-52!VY!L?LL%RR]OI7GU M^>\QC&&F@20% $1B>.%JE2THW5*X0[>,(JK[8%5M5>0TT : ZN>DU/40AWXK M\SMO&Z9*8*4S5T.$'B(4F7_.Z6<:/(76?NO:5Y#\UUTG#:\YU59 WMJ;G2VG MTE:51MRR-8SNGBTZ$TUDV<;?<:IVN?89IX8JLVS&ZD>IJLX',2WO+IO!*C15;EVSX2,,;<(M&L6NS7[,!)W6?_,J7 M'082B32FAP0LVR+O*P_Y-OI@[@V4Z";@%I (3. K'@XS@MC<"N*!C9!9X[// MW_CEKZ>Q:=Y-%%K4@RM]WI.;[!;D@^LS.*YUK1[W\:_P]&@F@@3"+=!/-@%'T*8 M ?4/,ZC*(F_*M2[*+;BR(.*&6V_O0.V5 M#0KNI9.T!5\XS4MI4OY6!=;2[!_L_,QVR#KJ+GU:^)-.(Z MN)]-#C2K(9\#M/6B\\6&+"[+J Z[X,%]<%9X/S _2'Z4?=!F#0:3581MV12$[W MT?7=7;++COA>);3APDQ[*4BIM28,,W%&2',0L;C^?@[T 70W#('(DLZ&0D[@Z48B MN9BSH)%3;R8D$MX_SX)*AH.)1?D/,R"3#PSM0;A$%G0N5'("3B$0E]L&O%<67G"*4=0#1SMC=R7>$LV8L&6_W$3>%[P-7N7 M$C;ZHU@N\"VY?K&]Q*&05HLI<7?\?*7E^W#_4SRO%Y&O6^KG?\]^"0_XB8 TBUGB;V,GG^=XJ&TKZ_8*I-=!=FX&%T_^<) M>PIF_..6AM3:Q!J7-K1$S+N?J 2D13=1JC__7J+:G3/J)+ACO_<3 _03PS85 MW6Y"]!*%8I1]Q+#0J)U%MS#1;P:&MS/I"$.'=8?Y+S9,>Y!LG/B'E[0'6%+H M'_I@R&!OW(CGC87)XDF=U0:>2]^#O>(.P5-(>;ZIJD6$MO61QG)G*/(G;]I4 M1CXD[.9+_W><:*8B';59N1+"+S2*E^WC ')BV^FSW&)0./'C-Y/BDSU GO%> MBM=J0W*5Z;790NG4=XY,MIJCMF+P<4$9@(ZG[]O*0$JGO2 I/2781@#B85(W M/X:BC/F=N9\6KP_E _:EO@5!&OMF,-J\N;?9DHWV^OJ.H61/0. ?%-:D( MV\EZ4W#!_(S@/%BO1J6\I8M8L,^Q9\18#'01GZ:=&Q^Q) M>EUOF\[1=Y%S)IQ1>X:^M9 SX(WA#H:W90[3A^>G1\CLT7E-?YL.SG<0J,R&(SJPP=RJ8,O[-G%Z9!H;.9U>FBO,;?M @ MBF]\?JC3N?&SOW3&K5;D[%FA&;!V9*&6-VL.T7!K]"V6S :2&0$CC>S/P[+. MCP(SGSY!!LU^O#,B=+][2!:\=>S5)G36':3LW.I.EEA!N"FP8,V-.BF&=.8T.XPDZ/D-G M#H=;5D5.2PUTRZ5G1$@5;JI81BHZ$^JHLG@0/B K=<;3Z:=(0[II>%)T&T31 M9<"'/=2W75K[6JJR,/+XJW>R]*9%94G$T==@<.>Q,1-+2G+-/W)ZXNIMPZ-" MM17FUF1/G*UMMK$A(P^@AF^]MO_>#JNY/E3TX7$>QNX,I;SJ8>PP>MV[( M_A56OE_2KC;2]MH1ANSF5(NJR.]-=?&D:_.^V1#*Y3-"7A"'1G;HKBF_HYZ. MZ>%-^IC80>(Y9"T>/['3UTS8/W>6,_'M\2G1.0K^PX+DZK+I(># -1*N">Z74A-4+:3LSUYMDEL?SB[ -]JENXJBN/E!NU796[*;PM4A[$@GAYL+T(5E']!\)L^'Z&8BI9G:H*(H\..L< ME..RJASBD*PUMVL++802+M7\G/#(S:8984WQ>373VMF@JNQ\FNMP,\'3)MMS M'CA,N[U((F8&C %W:]?GQ9$&%1?LHA M(L(FGHXML\K,@!$3K"E*D'4N>\;29K^*Q*N6QN>$+:!ZWQ_M]V?%:^][$M?[ M\V"F]U-3CYG=R$D1X5N4Q);E&QSQQU;,<_T(+F, [ ,?YM_+%UW9^A53R!>0:G 4%!M&"W"_R'.+!__4AA&58!2%4YY!&H=*UT[.RX M$.+(4]O:^:@9ETBX2/)%"#65^VQ4Y\P%V!V3Q8>CS3&F*(H\S.H^CZDG MN7Z2&D!D"\AC0,HV%&D?# \+#&-GV\DN\?@5@%6\I2%?? [IEOH1)-MZPVP+ M=O0;PN\.P'WR8$/$[\BC]4(-LAH<8',=UV+S(,NCJPV?LM3M==:41\Y%C:X> M'W*L+(R809IM[GS,DUY2\^V3MV(_\.()E0]37;G)J5?S_J[N: MY;9M(/PJ>(!4_;GTTNF,X]:Q9^1(8\<^]-*A),C&F")5DE+BMR\ $A0I 2!( M@]CE);&-Q6(_:+_5XA^[%SN#;[ES9RW,?NUN_(<T2P7D&N>[,A3 MSF46NIHY53X,P9"!5DU)WX,L*/((J4< 0?!0L MOEC\#_^@,V;8"J050,QE/1A%YW8I>H=58X-@]$B)?'+^G M5.C+O^Q6KT:>:X40<]T,2O']4@(YYRT&>^ ]2[9IMBL/3NUI5JB7+5.BVB6\ MX=NPL6 $R$TTKX!!861HMY![&:,-W479FWV3A48,:3SI M;>L-B603QP-IHZ M?,.>4@B^)W$T9(!7<8FEU]V>%O3J):-RK&XGF+4":.FA37 MP\JOSS##8V]P3TC(,X)!\BBX "]+B;CY:_KXRG/SN6A&;*DR[PNRB".-**Y M6Q>>&&01?UMWFCSX(I-2,9&:B5(-OCE(A]>Z*F/]ZVO%B M\F#0G3YX\(;CK-PS>WW(,GDW8[1B,2L8M0\2N^H@9ZX3Y"9YK140\]?-[J$N M7>VV+M63AG[@02,0:F\4SK.B05_^VSEU^9_^?>#64TU.>%Z&E(I:"()RK0*$ MU-+;-WC?IQB@Y@5;1S&YEP>7JUU#?A,Y=X_2AOW+4NQ>=1G*SXHP>Y:O&0FA M"R@4^\9BY(GO],F)*??1#_'DHI$KY^6(V:*%HOC2*D3*&+V-@Q=#2VV K!D% M3UAZU%<]/JYI$F4L-:0I)CG$=+%"4[31"B&EC]W6P>&Z4@:2QZC&GY)\3]=L MR^A&.P?5)8O9#;L@UJYH$L3JCIWV?M@E&ZJ!9IL" ?U(;J1;TM3<2WW#LKP0 MI^'6KW2QO4WCS2I:OZGWKHTKG\,U(>6DA^Y1ZZ@#U2!?;OTH*D];E TKLUMA M"BE*6\0QS-?*FOH9];"KM5"]I;L>G\B62=6T.)BK&E<1C>'VD/.9LO,175U73"K"].L@289WT3"_$]H,U;HS-I2VX@VR8_M)&V;+I M"879,'VE^J/XGL*MD-X)9L;]D/\9%\>M59 &F'=P3871LW2" >8 M/8P>ZJ^U:L)U$Z4<>#UT1+R+[9:M*3G!%F^RB3<@]K"OC5U'^2M'*_X3UARC MN.,9(6L%Y)3M!MMZ#L(HC9BR#D8/=6&A4[JM_*&A'7PWW0/-Q5[4@F[T\/5_ M[;BC]D,JD1/!1X>U[[L=K@\QF;S &CY:4(V7A+O2,<]< GW1+F#/60*5YYG> M^S2A[_=1]D:+FT.RR3FD;VQ'_Z+[-&>6>0?7>DC#2&_H]:%PETK(IP_Z81CU ME,Q.F$)VTA:R%<9(MR^X.613V1/X1'F0SI&MD+(9(MN1,5"T1%13D&?/ W:" M_<,''%=D=,.*FV@M]GR^V\83.D&D<:\;7&O\<"&%.-6Q&#OX:UBJ)$HG^"BA M#=%ZVL8@.BFW-)^PTW@Z7&DG%UX-/,X=$_57^IT8D$X+WC&+;6F0E;T& M4>2DM0%L"$7-$\B+J4FH@[>AI= MG#DDZ/ )#%[ G"M--FDB7P1;1_^[QXL"=ACG61\[)7%[32 M-)>*B-G;S_[!28YLA=3-D*J=D@%SDR2U^R2,\# M!W&DM' %JA;*;;+(U\>=3!]U6;RT@-0FD,J&L$OAH_:#"2+@JO>H>'_[Y=?? MU>>ZY#H WS/CK8O'#2VS+V:5&P MK+,L%T(3<3GS[$I;8@)NYVG:H>%XH#,JP6$-S1X7NX2M#OGYEP]O3X@:LTC' M:DAYU!>XRBI=ZB#/+GM!\)QE9C3F/Y0Y9F4'H65.PNI$;,_;#)MH!ND2A?3CK@V#4,;-T;V5-];JZLD=Z=^#!4SM$:[\?K M4Q>QL_;N@OK&8->*2-VZO_T?^#I64;9NBF@( ';C7KBN<$<]-)?^QEYH]B5. M5U%\'R71BT0SC]?&-+JS E+RNH-5R;-=&GG>[&C\B!, T@)2FD!.-I#Y_#IL MJCQR5QAQQFO !!D&]"?QZ?H*3W M6HB#5 _8*E(Y5$$>KOH@&#%FGSCC2[BN.T$ Q9[(57VM_,LL@C#6S.4%MO99F$$0Z1W&T> MO,# -9-:-2EU0[^/-1K:IV1#L^\9DT>GI&(X?CX>5CG][\ A_GWD_WSC[5DV MMYBED7.S V:3F091Q+SLLGBHGY[T$JF8",W@FV(T:*W[8VSRT_-:\ZX9H_"T M/-?7^PYZWP7=5X,%+1A7K9F?279:'#5G?%K!Z7#3UQ-UYYX*F^2% >EMO]NA MR-C+"\WNZ89%YOUM>C&D1.H"5N]?T\@@G_FQFCS4N>Z,VSCJYHAL[Q/9I*)D MI6[2CW(^W* )>8RC@@;>IC9&3YSAA=R$-@J\^K-J OKCYU/C<_X3_Z/Z4U7S MS_\!4$L#!!0 ( $2!:5.0/^I,>%8 )J;!@ 3 9'8M,C R,3 Y,S!? M<')E+GAM;.V]:7/CN)8F_'TBYC_HS?G0W1&359+E1;YQ[TS(6Y9C;,MC*ZOF M]I<;- E)Z*1(%1>G7;_^!;A(HD1L)$B D**7 F\J&<'P(J T_L)HT5OZJ]6EM=[!$$ 7;=W%4!G#GJ]RU_.?[FX[(]^ M.1D.+B][7[]F+5U9(:KI>[VDR9-?!NLGUUFKOO>WWF#PZ^6O)_V30>_L;_WS MOYT->\^/ZX*/Z"MGD%G2A=Z/O^'_]X9>V4/B>N'?/D+XCR^+*%K][==??_[\ M^CU>G\/?!>\@%DO^>UOT><*_.-+")5_+8(P.P? M7YSWKQC__N6PC^7X'S<93?+_CCWGUHM@]'GOS?Q@F:#XI8=;__YR7_@2QX_? M7(!("6>?O]C^\E=^]A+IN'#[M9YXKQ%B*?Z.:]]S@(?8C/X(?1 M^\M5 !:H GP'#WX8WB,/NP3RP!%_LX:0O4:^_6/ANP[JC&[_C)%A-P-0V7LT MA./:"A=WKO]3HO<@-*^S\"_ ]CT;NC"A=/I@U@(JE/>V!M<-#&W7#^, W(#0 M#N J_92K.(0>"(408#:E0"@T H0(\N< A C\!&?DL5[CY=(*/I&9PKF'AG>V MA7IZV_9CU-5[\V>D-!N"BK+7>Z,"B%Z0,%XLU%&45%:AVXQ8J/]Y@U[:'574 M66E+"D3ZYOO.3S2S08RY1^3QYA!]]S@,!<=WG TJ$/ Y\-'0(?I\=JUT<(WZ MQA7VB]7$HS2G0+@["P:_6VX,'H&%_UU=KO*6%(CTX'OS*0B6-^"MHBC%%A2( MD(Y&I]9'M>_?JJ[@XV^MP$,=1/@,@M<%FI!4DV&_%06B)$/B9$4&3QC0"$E\ MIA<2K*/M.$YJ,X^M(1&M/KS%] M'2DYFM5I?%]'5&:CFHSUZ\A(:T^#<6<=T4AM:3,&K2,"^U++^WS=+= 4+OPOU@NPVS""2QQ?O(LC M/-+Z6 $;_6N\](,(_I50'?_FA?7+-.,[E:<+!;U60NM_YMXKT .PX"I)AD1%1+_&IOT@22%]]U M9W[PTPJ/*M>P?K_8"-8^F]$'D>ZD"G]'<'AGNH^^ >M-+":_5!JP7$.(UCV2#)GH^ MQ@.-!NV)ZW7:@%/^JXSY9)WW:0//+6K"_P3IT^H!)[7- -^UU:['RI M+WEYDU>H%Q;:U@9+G-0E'^$LV :,,B MM#&/_]5P=N3D-MI#5$XW4F+!@JZW XP-ZF$F#WR?O(.<6:. C IX#G/6O M,,)OZO?[E_W>UU[>T/:?EN?TTE9[U?8!)I(B65W?+GR+BP\ ^T%1@[BY$+67 MM!4"^Y>Y__ZK R ^D=S'?V %][_V!]DAW_^!?OK7M8^0&;^A<:=E1WE[KO4& MW']\V7GV:_-?DR,W1>WN?,SNXW^=#R\N3OH7IZ>#P>GYR>7@]&SK$[?),0Z* MGVL%=MXV^G./+T559"5^726G/;_:"^BN&3 +_.4>2MF;?,XO]@,TGOG'E\&7 M7ARB[_!7Z12R5;3_;VP%$0CP\H-=%E!*=DL'/!^?J>-D3QVK /H!,N3D M69N6$%A>"-/)(4,YNT6[I1VNK\_4,U1I+<^H)_%19^'<6!'-217*%:49CLXN MSS76!?O3,T601<\Q-&3 MM2RS@+)B7=( QY=G6CA7IP4<.@J0H\R6QI"A7N--=L'GM>^0E4*MU24=B0N2 MJ>Q"G]@T1.MD7BMS/\%Z%\E]0D(D*FH)$Z!8T=!Z$79O]!DTHP("JG MI&R7%,/[^9E2+I4KY1K].0FF_D^/I9)-R0XJA/'Q^72QKUP?B<^=!,^!_P[3 ME%Y4I>P4[Z!F>"3(U;,_G=_,'P?MZ^K9#R/+_4^XHHX-R@IW4$_L[\^UM#_+ M;T$QV,#' ; (JMA^W WPF5^ OUND:(0IQ>CX4A#Z+F^.H=>R41]&E@X>>KKY_+-=TMP M+SSO!NCL3\X15S(ISSEQ^V$O+&\."$LC9<6Z@3_WE^=J4#C1OHX#+&.ZD(Q) M@^"+0^+ I[QX-]0B+$&N'H73['LO E@6^ YNK,C*/IZR9E56O$OJ$9 @5X_" M"3=>@ ZNT61G[@>?U,7U=:DN*8/]X7D04.$D^W5IN>Y69LQR'11*=4D'[ _/ M=: D,)Y^Y.T2!'/D3+\%_L]HD9W\).JBM'27=,(O0*X;)?/G[&,_-O'B-%I) M5LQ>T4YIA>_K3H53B) M(WS? IXVD<>^E$I%0<]&IV<#;14D+$>N,(6!]&LD;H"/"SG@X_\ LM'LE.N4 M6C@^/=>$DGE[-A:_@Z%MN?\$5D#>V$,JV@U]"'U]KA(E<_A\%]+F4^_0+V6C M8$+);BA$Y.-S?2B9M!<_-!V$\&EDJVP7=<+Z_%PK2N;J8_2=3O*MKE76O1>> M=P-]]B?G^S]),_.__[I[*D#&60&QZY"VP",>&1CT\9&!=;OH[^O)T\WMT^OM M#?[K=?)P?S.>HG]WO=??;F^GKU\:/#F0\V]FA6])>W'X=6Y9JY2$ MP(W"_)==-F8__VLMSF1V!SV$"40FY*=3%\() [&JXE957Z@T%0_C\XN%BLP] M'PWQ0I(*8ZNB&&R+ F(1CR\@,6< C3B[*,I_@&+X#00&.*)Q"5Q[EXJAC%%6%! M*6>R9%#D7 U%G@.PLJ"3I:] QC.)%FAHO TL@2D<-8TB3%5YB8?%9'1+IQJ, M37C&)$8Q@5OG^ZOP@CKW<7X%371.S(F)_";119"K:,H(8:<@**&D7D2K06J> M/); @ORQ&1JG2B/)UY/&"(HL?S%%94DE]A6:< MNX.DV!]JR]YSF"&FBFR$,^ =WAZ\ "M-^C"" *<'VT_2R)C!9NWNG;< MJ!K5J"5PH[,(]03B"WJ0*VA'DEK*IG*'1W(3 R/Y\NVS]8G7;OD6M8N%=68) MCUK):]H<6-9(: J"9V+VC&!?B\14E)\PC!*Z2)T8OM MQ,63-Q?.T\OVZ*R@5S*/(!7D-7,EJ^1>QG7"9[P5+X0."+(M?2GFGW0F56_0 M/)9)QL+853/N,0VAM'G,$1'4Q'4T;D:P,!J-!F>7'2<#IXQ&KKMMW43'7%4O M+ZPS'Z0LE_!+;>+,AS"28Y*%6<]TWE0#P,P] 'OARRVL!8*ZQ5JF$ZB*^+*V MCNGD@7;':GS1W](*IE-&4'(3)SP5YH1,0M5JTW3.R0>GT0F7HIWR6Z"S9UJF M4X8E:J,S+44$H-P 1QI!DVN83A!1T8E9]SO!U A]FRE3J(>JISIYAVS!!49;GK8$IHYH'-Y_SCF30H*6D>$WB%-''5;NPX M,!7CV8+.O9TRY88'YCCYCB[<>,'7&'O N;4"#XVWP[%MQ\O8Q9]X V;0AJ21)[NB>7RI M*+.D)3?-O,J6\,D2)$XR&H %\$+X#M+UZP<_Q*O6D]G4^B#OJ!1IQ3Q.R0# MQ-T*^\!R3X$+&%WT1R=GPXZ3A%/&1M?01LH744N7#2J>#M*.(\TMM_++3[ZD M3P:!UI=X*T]V^)QH8P$B:&_F1\S,AV=5,A_V_KWPLO_X11K2VWBH:&MU49DVY,@0==))H[/($B2 MN+-78DDUBR@.1L,+Y0/<:MRI*JN)*W-[.?['<;1 G_37II\A,V6WAHD,X9+1 MR(-%NQC?!5 M-H8P-<0U<2VM" ?G$(1>R5"JB Q$:B^SZ4X1ZEB$7,%H:K!')$9M2"N#@#TH M8=0RFB"<0Q.C-J(5<7B ?\9XT17)E3X G@WX=R:1JQO*&T&!I2W2Z\2@DIT8 MJ3GQ[U%)RQO#$3$)I/GVY?Q]!X5Z(V?<,G'YY?;WU"U^]]O>__^,'E] M_8_>_1/Z^5;O2$^*U5I\1G"'6%K-EJ5WX,7@#ID9/B6 /^0/&"VNXS!"'QFL M<4P\['_O(0Z"D#%2W"G5 M967SB-)H3$25=>-C&D^^YQ?)3M<[O5*7:5!!LKHQ$,91.D6\V/B\?(4%>C'" M8[-H>05F?@#6N;U >/N!8$5H0,\*/N\1UDGV)KPVXR=#[=S$J,MRC;RQRXQL M&Y9FCTTHZ\XR<#)#OD(#_1GQ-"BA=/=9Q"=2L^$71:L>3R!BCE\+9;JL;;8@ MN8YK+W;J9.7Y2>9\2QPC#D0J7@1L>'%YHO_?2E"_VYS2PO!"!D^[U2/[EIC1P_BL.DV3NC/Q_ MS;RLJ*S3T7"D^/+")DDH1GG)H)J959O2J8D/VK0CHYS!&I4.#5^8J/H<$CD- M(>/4T;#:J:/7Z>3Z__PV>;BY?7G]M][M__U^/_VGWN>+MHZ]5;C4@JNNFJRD MV:=-L7MF?7]22#OS%U)-,0LI4RY*=Y ;\8EBS:5R8L?F>]B:QQ^0-/.BUM%7 MKV3U4'3*+:*^*MY*$_0(\#(4N:\NEM-7E=Q:*>VZ.:1L8$JM/@,!5?ME18TD M +>@#2R_:I)#@$H$8GDCV2 F;0.G^#2Z$H=*"VH=(ZDA+G$#1_MTN/R$RHOR MPD820D#4!L[R*7$4O@WOO2S_0>E"7/E^<+HGJ=6HDAY0DA\2@3&<5+$_?/$VI7L7ZNG]J$-+"O0;IDQBP_P'?$[F?7LA.*,Q8@ MR@H;IW@!,0U9@-C"Z3A)TO6$.FF0KHPR+7+))JF37P&D=!R&#R)=]HEPY$DG MIPWOM.994DGJTFDZ5[1EU[CM<5WF88OXZ'7]E/..^3GH7P[["3N=]T7JCE_ M*@[LA14"YR8.\"I;8D))/O'?@.O<>WDD:(=R%5HHXG0^&I[ILD3)RR-90C=\ M.;RB[JT0,\RN1K%1/Q\0>SM*C>Z3I:J0)MY&M7&:X=0G!! 3:/ &Q"15.W+/ MB79? ((JA!'(L@NGAO8";'_N):W0KHIH^K7FD%0)4B9>GI58>3K2W>L9;I56C.>;)4 ,/%J M+YHQ)L\FB93A[0<(;!B2%SA$VS&>8H*BFW@C&-7X)+"+TI#Q]!*5W<@+PZC8 MO( P"J =95N?QS^MP/D6D$_85VOL0(@F)G]+%Y%I0;;$SU_[WCOZ5B3D9);^ M'<$W%\V=;%0R@L0;[&JU683^8G1R,C*+>C5@D):GLP,,3"U4,@4Y&S6>@W5P M,#)/*,U6G\#/Y$D5=[>N:SRE.,0U,N$?U<(J4F>GLO'WY&AIW3:AEVKL>OO_7N'B9_O'[I2EZ=-3+\Z71*JG0R MB\X(68XNQDU1!&_RG$P[0!P!_P-*#:3M/.Z%"MA(VRN21 M3TN5_2<")H"$?$;[!8Q4'(>(IAP?E'4H3 /-5^I:.>72]Y3W$XCP6/ Y\-\A MFIM5(=)K^/:DH9[MATD]I)=24\:JNT4.])($)L&TMLJY\Y-]N4IQ%/K(P/@ M"GA@!DFC?D:M([/J067BR?#\QO3BH6+:_HV]PD=:54)(TNEKS;:"Y2F 4Z@S MHT+0$QA%*G[D5$6,ZAZU9J0V4<2J/#2%C.H->HG>KWT/HYIN2@H1XD%&A\!" MOR:*NE[@/^\]-""-DYT?Y54>H/4&723>@!%&;_CM1\[K ;FDX^/2'#,Q>=1D MACX'R8>G5273U;TR1X*) "/IH+=F=V4F*=A*X,MWQ:T#@01?R%W_2#99H!EY M(AR!CO-R@1N0_G<+YBS=$2/"Q=] =11?S0X47SRN[&X54U,)"W":3*H>*)]X4# Q;D5PW&GZ^*@*I0CU#Y%7(E"8F$28.2JHS*_2)@Z68OQH2,H@ MK-G2!/]"4.V3)^9SK"86LI(&^^C+->?7O?<.0ADGG"@-%3$>((POS3KA)"J[ M7AMB)6WUMS[S*PO2@Z(()&1NT2?.S1V-/0?GP5E1HDG\#6C')TFTV.=;34P: M7G2]T(1I^08!G&,M2^K!N.Q&I(D#9ILH*@TOKRI:Y.?'NW:/>3AW2@!F#+L=$-4J02$I(JY9 & ;B_R0]&26)A3^[B&)[]$/R![?\4:G\K-EM%L%935_ MF.24CIB)G'B8>(]OIOIV/HF%U(.&)XJ!\0C413J1MCUC!1L+QCAA2(T M+LCV+SS@;0T3Y+#GB;Y);.)OH(CJ<'0R'!C*K9J8U#VZJ>G<,X,$3=(1/MDM MV/B0\W+I>XD-,OP5N>+A,*LB%K7/8.I)*7Z8:X>=#H=B-3&1=B>O3G'.6S1E ML:/)[/;#3G(TO" KF'@8)OQ_>$?+N^6"Y$AA?G]QLO/ Y'F$-\#7"3M?JG MDUMOPH%+]$:HDQY>'")C2V&0M#*8WD*(Y JB/1I>'FE(PO\@/69N0?U(44.W^TSA%-C$.V/RY)\L1A1*&4\'MK0F'K?"QV41>)O]\IZS M7E1*'"]KCSAO_2*B9Z/!^4E'^YAZ(DM* :D5B=;!.N"0\MUN%]&."O4T6C(* M80G;:*\BY2:3*5Z/B(//1)07 !-AOJ^2E+GOZ+7)/1S/^==(AKG%Z.S,S-H45WZ1O>,?STS#/$0ZSF\SP@QE^\*6@;O 1(;O:]&81C/ 7]?NG M_;/>U]ZZ:?3W]>3IYO;I]?8&__4Z>;B_&4_1/UZGZ#^/MT_3U][DKG<]?OVM M=_,5U2A^0\^?];:_8NEZ(05M_#EOJ!/YHO)Z]"U 60N@U"JJX@K)UK/" MHO8XNK:"X!.9S^^6&Y.R8'+5U<[)\*AM-SI03\\USV:XK&>C$:#!6?KI%*K\*506T@ MU\[2=M-N[LH*89@LN&ZT[SFO\7)I!9^3V2N<>W &;9P\+\V_CL:ESPA/>VM; M.\,;GNQ[P^2MV ]NO[=G>4XO>S-^MO7NWN;EO:VW:^PZ]]%B^$-R!RE8$:,)CA'*[V+[OE'9BZHYI\H\54NV@ R@J'B)'D\BF-H M.6\.4?'B56T,BS_;M_B\T63VL6FVMVY78].G +*1D>$+A-I8=TN#DY/1V0!] MEJ)0 ==7L_R&6"/:^8_ZFMOW,1(@,6-8P;R,@>%ISO<]3=[D_^PEC28.9[M9 MC1T-$0V&G)V.D03X^%0U1T)I"_E=RQBYCC'UVN1>4V8$J-#:%&@U'_4@\UU9Z>#TXO^Z7"H:/5O]P-9]DTLKYUQ"T&_;]EB@IIAULFIT+V+!#B-NV2G M9M+>UZ3!WDZ+&IOX1H0D'^OZJ[GYQ MKBC1&K<85]MB,,?_]5K5SO4TH.R2^40#H!GDQA:^BV0)\:)I],GIPDJV5VZW M]6^]=6L:NZ_T&UGCDD*A->/.+]!H]^QT.%*T(KBON2<_ ORS#^[Z!?9?]D=H M?*]XM,)6R+X+J">N&<:.\UG *'6@GK.^-8Y_4_6@9)?C5J-);'&W68W-GX(' M]]J$4!MKKN(C2\/+L^%0T0T87%_-\B!BC6CG1NIK;M_+2(#$#%?S"N88A:V$ M<9P>IF1W9-96K]B8QGXE^^ 7L/*#).T#XQ ]H?B:W\@I Z2@8:%44VQ.[CMQ#\&:.F;M^W#S\SK+YDA^2FI=ZZ*9UM?D=P M9N9@4G$U69"+7\,T:U)Y_8R9H99B@"WP/_9G>:YMV-)]T?U.U&?/X(P6!=I*3MG2$>VJA4GS#E&$? M_0_A('?OW].&-!]GM'JB^ZP_&IX.3P<7)XKV72%%6?-Y .99:I5ME7/$4MEU MM7,0=314&AJMB($A$Z"2X[!"_N)TWU^4'N=&OW?#?QAQLOO57@ G=@$FM.VC M">1?P+EW$&'03!(XZ='"L?UG#!%-T4C\ 5IOT$UOC@W#> D<+@!7R/F?[WH=^M+PC3DC9&?.SP=G)Q=EY_^Q$U64O:QNZ@QZ, MP -\!^4YD-#A7? =B?1W2O%0]7$R\NRS'QJ=AH+>/ DABT[\ZK]#.^_A2!XQTC=>ZLX*MZ*Q9VZ1N*K3"1R:SBUL^.@[;/X(CTL M4L->#[M_(K\CO:ODH_EGIX.+B]/^H%^XAU-)K[K[J9CZ-G+K-]"-(^&PCE!K M1<,9C@8GBAV,D-IHO61]&,P8I9* M-C1N3&ASO'Q;G$3UDU4:6+4C^([X+.BBJC:LG;=J0.4TGR85-Q.'^V509:B/ M?UJ!LPT5'H.F7,%Q_-5F%TT5'E=_R9'3#6%HXH9CEBO87#^9 /C=@T@S&$^I MCEKP+4>&-P5BHQ$E17>"@9&(3F:27' *B93CHR65.6\N3L;#2\O+@8 M#%6E8]L8T]BV@QAL+_0+]N2L!K3S5O4U1G-.E> P>\:4[L9ZA!YZI:B!#&?;EWD51"+E$J/$')"6A()36C@U2E+;/!1'QNZ7R]'0BN/&7%O0$ ME%^HIQT-1/3%IVVVO W,\.H?)+G9&G'<>_8OCV#Y!H(=/9,+=D*Q;-5L5"PH MJG*=-F;X:)@*[E$O*.#PUU6T8T5[7I^.@8D3YA(0GD%@8PW/$>"_^WA2>.^A M;P;AYK0[/ZLX&BMB?8;GF-IY(3HQN+A5%0D3EQ:?8NR3<5P'IY7%-IOEF27Y M*W(%$]DC**T9NYGKY.X46T0IN>Q#3NK.;JRX2,S^AV@6 MXO@UUN. ()9H,]IY&K8BV5>&"(IKR(@9+WUGNR.?K6 2)$M&3G+T9/=BPY)H M,:-FQWE25<(&>B$U!YNSKZW"#K[*'2=(#2$;B..TFGI3;)Q1))JBHP*Y:^)A$&UI&/UK5[OHIW^EF5TT**R&C28%)-1+=T_6$DQFA4\OC5U0RVJC20$U%'4G)IKR07E9:&+L MH-XT@B%J] 8&P(Z(L0E"R:*HYR/4GZK3HIA"B@$)$?ET5^5SX,\#:XFO+;-Y M%+I?WD2U6M1PY*< M_H\ X/.SX;?EVT)LQ:[DNE[2[1?Y2WKH+;]U93W/L,LP%&Z-UL!M5+_.HH; MW=K^6G/'LP9*EJ(TKOU)1/$Y5*[/YK4F=CQ?7(R&%WK8.H^^^+3-EE?+M:CM MOIVX4+%?J!,*9:NDN%S!*:9R/4K*UTI.P[^=;9_B\P5:T(XO#?4#=2&A3"(4 M#P([F",EA$"HGR!4.A!V" #20 M+TZ3)1%6*)?_P)(&7&EO/8R. <6M:+(.NK4LO']]L;6V,.H%QED1X0B!I!=J MQSYAFI"9UA):C9X>5;SL*P/":RM<9+>SO5LNY01JLR_5ENDMT;19.^'$^V@K M#!C3W01IR:U=!FU8#.'51[MIU&Y$4#=QHYM,,"?1 @1X4K(-:@NF4_K>H]TT M:3?\D+>3V+*[1D.\1;<%PR&^NZC)T6AP<7(T'D6PMY/FO[L&M+N@EKBFZ<+R MOOF^\Q.Z;HN3>^YO.1I8DP963PV9P9T=#:XBNCH8FM$&5H_?BFV/9G/-+$PH MNL"$80X'P=1*70$/4\X;.OPC[)_+MG#*1_#>R\Y&$4C5TEN/7-W>G:H*\,P$ M+NHZ2Q]?4+%K (HNWI6)Y?8O[8W]2]ZJK;EH$MWCA>RX\,JUBKW](,UW%CY; MGY0#8JU^@[;&T":36XEF".K@&!041369TRBQJ>3-1TM28$EDY(^]$QW+FPR% MJ?6Q]; %\RE_<5&'EZ/!R>AH/)$WG%2W]-*32=FX%M= M VCOSJ %:II$G;IB-^K/%*U*$!DSD6$WI,T:- M.GYW7DDJ0-',ER=\F2\/,],EYL[YR?#R?-0_'9SC:9(B;Z%!\LNS?G\T.-,O MJ$)7UK[GD(+! >7#U$+O4I1&[D5XQ.=0N:(I49D4TO-A:D$#$7WQ:9LMK_+T M4V4+=/^)@ J@_>/I=V(VS-TBG5 F6QW%=3!U 4#T@%_# M<.V$XMKQH"G?+B*_O@DMR\2@>W5B!>TT+Z0B/@WK[,CE$"+9<[._%8>:%8Q: MIQ.TX.H1JHNK)S>X[DY\L;PY(%QWN7ZFG8XE.WVVL!R9N^0,W_F55FJR.T^U M41P;X1)MF&EQC]8'7,9+HOH*SXO"#RY&IWW%"J0HI:A"MAP=5F)R=SD.L+[: MP+.0#R"XT-)RVBBU07?*+SAE X."NX3SS_WNA2M@PQD$#O$N86)9;10LIHD= M#0I)I]R6.3H\@ILWW.D<(6K*9/)4AT 0Y*RTX+6_ OLI7%N$X<0E3$P,=,,92_?M\ / M2?QA5=..0\+*WN=+)9GU.JU9UCOE8DUFUZX?XOM\G?^*PRCY+=NM,O7+#*^D M>ZK$$4*BHMLB-W0 9*J*0J/G,YIV5?NR9LNF@HZ)W,X!,*25S>2$@;Z/;2W7H)5[CY=(* M/M.= Y;W^;H'K6#WL9>:CME]9)_0\V>]["/^+>S!34$K+7CL7'3J7#8'3R@) M0_FRVK$:,,\1U91=WSQV%'&N/A^M__*#:Q>9,R4!DD +VO&BIEKW>5(7C$X2 M92/7D[6DY\(3;$4[PM35KQ!CN!%1?E!8#L6F@>4 -+#X$8Z3([ .P'+34RY1 MZW2)/MS*WJ>0. :&$.8Z#B-_"8+D$!J2(%S %9TNE!H'0A91! PY5GZ#)ENN MOP+I#EG?]>>?+S@W/ITNC%H'0IDJ*#1PQ$\%;7#P&B]91V \#P @Y[-@5S@0 ML@@"T, 9/\U&Q^N(BOB0F!",T8 [;4ZRK^E96Y^3_(J^YQCBU"K$2;'3E%HEE&)(7:=)[?Q8[3"H=#0Z&>\J M$?(%X"42!Y^DOD-(6NX_@45:(I+0LG;,DDX,L;%['=@.;?JXC]43ZD&G/X'[ M#AY]+UI46)C@:/1(62F(20K'D#9#ZC?U+ $*F_+TIR^%IEE;1W;6 :K1?(ZC MSE 2O9ZT=ZYB:T=:UH.JT:ES9XAYY\=RQJ)Y8T6LSR\NA_J&(-31DHB4B:G7 M*\"#RLIC)2I[9&4MI!I-6]D)5B9Y9*52L]#BD9_UX6HTV:5^))43=SMXJI$0 MD97^LC0>IT-DY0^ ]^D!9XQJ6_-L40QZ\^\AF,7N YP)1U1.A2,J^3=\M=*/ MZ 7Y5V#4T6?T7/0=QTB*5I$498?%-/!5R@Z+%;U2MV(B31\6TX 7-=4JU&-Q M@=%)HK1U6$P#PM35KQ!CN!$QY.Q/PX?%]*8/M[+W*22.@2&$:?"PF+%D$47@ M>%B,]YB4L92I@L+QL!C]K)2Q9!$$X'A83'PG\L5H,#P]G(D3'85.'A9;K]IM MKY&F&;%(&8 KMJ8="1I/6M1:(> [0N"^(/I]=RXO0[/+VSQBN,"!B08;S_82F>TG<0: MUJUW)71 A(<1+N"HIS9$0/Q O@ !O;IV+H-;C>4A@0K2ZKO.2Q3FZG.*WDT) M!'#4U$[SM92XSXFJ$'20#E@>ZE(_1TWMZ%!5?P),8$AORLJLOUS%Z"/68M-7 M9#*66K,(*2-SHU$31579W<8"&SSCH[CEW\ /_15]7(U7-YV"A"#2>$4\19 M(@;D8RFT*N9R2UCJ1A/!*6++ME41=TAMBIC+!J:4[21T:WD-SUI!3$8\S738 M26Y)QVWI<_>$\>^%[/Z@7Y>WMO^,5=V>VP1FXC=7$_4YFQ1 Q5X\KV@P!3:)@AI[6OGMWC47XA>-(J$OB'SM=S(]6ZYG0#\ M&0//_J0=I637U)<5C6B9PBI!C#K ES)YZ*D"T69>*' M:S.C!],YJNI+'$%U\Q&'2WS3F'/UN?[S-P@"I(O%YP.. _+U493*1?@N1X.S M@2;L:;^;$H5)WRA9J>'LBR?<9Q';T)=&XFKE]$-"4)CFD.Z]51R%"8X#OAYL MOX:^G*FL9@IU..4WF"A#8:(,#YPH-/D-V4,HH[MG;0.2^@Y]R=CV@*DQ-"D1 M6L7CJNQ$X?[Z&F-UE5G/2%;1M5RR3:022B8>"+ZVP@5"%/\'!YW>+;?0PVR0 M(4;D..MKQ[MJ'"@+N=5!P$1.;=FON /CJZP=FU1XL1I0M7,4O5W:7<4A C , MK_WE&_02Y5_[7H3033:P>R%$,F?QXQ2XSVN$/GF[9?4&M:-G#:KL\TXR+I)< M(.FR(T5.L )(.$^2;$)NVCQR4@R:AN_@ZHZ3E$?&(P5Y &GG_F@5^ZQ>?->= M^<%/*W FL]*E+=$-5R?<&ZZVWMWS9[UH 7JSS1ZLY=8W'/=>J1""/EQ.QL?? M/?\M!,$[7D)*UB[18^3#4:V$K5Q;L"2]IF"X@_[HY&RHR?Q#="=6DX!T8(-- M2_%NK2C2I,JEA+T[Q!\E86^MV"2N5IEA;PZJ=#)()3V:J15G*JNY>C335*)< M?6X665C7LM#JZ$L69=T5)T@=V)Q5'\)=-/AZMJ;>JR]9N5G3Z)!< #7E_M!Y MQ_0=]"^'_82\SONBRE)*:2=9JRU]2=8J039$E8^FY=QA)?)7)1*_4 M]3>-K;[;CLI&Z'_ :+$G;EB4-WS9B61GMI^T)3#_K?TND[E,)Q7?K+H9@"7Y M\55R&\-K9 61+F'MD'/PSO/=N-'7P=P:T5X$LIF/Z^Z?Y=;;S[HV5!D0'SL.3 6Z]V9^L,R2U8G% MP(?<,?#-ZWI;[SO&NSMV"J7]7".#P6APIOIN0BURC>1(Z!N:W#+YQ S70O;=G@9'0Z.->$ M.(+JYMPWR2.^:X6]V]?C/IG(TUH)*Y63C\D!(5I M#DEZVC*M.%-9S13J<,IO"%'*LX90>BMR!7UITE(/)0@-Y6(6Q;W2"PBC -H1 M<,I%*O^5ZE[J-*D=L005O<\4Z6@H]T:E"WV^!SX?K> 'B.YBS\$&.(5+< -6 M?@@)?.&N5X1A-!J<*]X'(5VG.\N E4%1S@U](M8/RO(FZL!093.VQM"DW%RE MN M5D\_.%);1M^%!VW(?H8L&6F@P5.N(';G9@V9FHR!*VD+K[C)RW<,WO7/VP??F4Q L M;\!;)+8Y=K1_(Q]N["LRL64/-]>5O:^)Z+PI5$F%U=P7_(8\)OJ"&/M.VL[5 MDI+:^02Z&HK7 _-)H^\^TFOD&&!T9]E)!TA;F=PKJ*7>>+11,L+E$ZXK:J0& MM,J*:J=*3H6P-$F1SI!UFQ?P[KOO:/A0%)RQ6DRI4P3K\F)THG@##K=&RQ:" M104UA!4/((KPV#&5FTJ&LJ(F<8!;/D-V<_YN!1#W?'CO,J4[WRVFG*L?<_QO7L/?<>;Y?V8S-"W P?+_G!_ M-7FA>V^>NEK3@J+?$F=>65P]N1(&T19/T+]V.8)^^M>+Y2EV&JS])(32VBBZ_E1&1$)]-SP6I4"S>#!>XN.U7&K= M%-==ZW)[- MS8UTY>4.?@#G>F$%5)!^HPM%XVP9;TMING=D/<>^A%,K0^Q MK9"7^ULATY9ZJ*FN;(/A16S/ZP3$1$#K6>Z:-6_&< Z-LG MF/6T4745??%IFRVO\NA0>8Y#@ \#A]^6;PM*.L/=0IU0*%LE1>?,*::6>EQ[ M+5*DI[Q04<#!:'#>[YP/%I!,WZUJ:P%N/U; "\$5\, ,,@=IQ=)::9-3)?O> M542XAD_$*EKBNIW-@!W!]\W4!2_RI8?;8NC-)ZOL8!MIQ,7?@!F4J2EOH_$; M*2MF8\^++1?^!9Q]4:D>0ZQRM]D@0=:ZD9?+E D>F"/^[=^=TC@7./U$U6;, MYD<5GU$WN%+N,U0/0HJW$+U&>,^YYSR@-[OK,H#4^0BVTFU.R11:4NBFG%** MEA3*K:P6O^HT:0;9I"/0:%A(\6+65GH(C-#3XB&>;_]8^"YB;'@#W3A"G2-=NLKM%6WE9'325YS5A*76 M;?.7*W6CYP<4I6 L(,3#'>WX(%?'# ZUSPM%(X@_ )PO,%CI3K$\CUYB<>$D MCL+(\AR2H MSCDR*&:F%D8N.\U!:[E91Y @,HZB +[%4=I%)+\A9(#S;'TFE\P' 3Y3G%S6 M0E[CKMGPH5"S(:0:=I"* O\$'61#ECU5B+E(4BN'PD09L$@ZF:=9O[P[O*'U MOZ5E#X5"_,(W?/9.$Z)DML-)E:STH9*%)G[#I_84T67L1=#!4L-W\(KSO"=1 MF=L/VXT=X-PA): AP2I.E3V9[G;:V7)^M#R?@3 MXP"\,&E1;-5\L+]JGC3[-6FWM]UP5];.-\),9MO?_P)4_6DGYZ MKXE7:<<]-A=*/$U;P&AYH@S?3Q=]WGLX41$:-CX'_CRPRA-$LHIKQX;6-+LA M526,E!-#TK+!:MJJE7LX65E*Y:IN:8Y,\G4/C&SH]1O6CEQM M=Q$-0=C:M27MD;$8XQG'T0()\A71XK+0='$U/>;>!0=M+==T&X_5C#-&9%" M1J.VC/8/G->-0:A7_OW2-*J5[3K)?Y)LRD6/[KW=+FP<;NXFF,RV=IQL;]XM MF7&I_:##,P1-,6\T*\Y0[7:@K87V,_;ZA@%-YG,Q-:LI8&WG0T!9FF MP NPD.!Z'X8Q<&[B8+U^E,X:M@;1X>T'FF7 D+S4+=S0D<0%$LO!3[>< MN'HX:Z2*&8 1&H2NS;PA9UWRIB//93IK7H#K+FZ8:0@Z#=X5G][KM!5PXBOI MI&HZ?+_U]LV@HX-W'"M+DI/B+/-X#^74QS^U91V\KR\J]6PT&'0UVJ^#S=1" MO9VCL]VRHFPDBC<:-6HN>^\YVH5,N^"#5U(F9G)7TE$CV%+=3CZ ?*+V'$ ; M8+7.VHH'<'Z(=F:D=:R@#JA&KARU ZU::]'.1#0AM#)+HYG7(48IB/N_2]>V MFS T>5]P-#9IQM:P4@ZR/V-AFL.FU-J$/N)H<*T97'V]Z+7/51.;*XD&J+ Z MP<\XVEUK=B=#,XWND]75\@R=O9D3=#)E^G8,4]6(6"BPO7H?=>SZVK+(!O0D M*0AF7 Q@*X*BP" YWU[4Z/G%Y="<;4AZ65X=A4@*LQDUUAP[#DQAV 2(6,>/ M&GVG=J:D7^!,'#]CUS?>V"B^";NX%X#S#B6G/+T$T]ARIR!8GL@^QE[]2[2S MDO8Y3; K#?1@XL68=;$5'C&3(*>F2='B X^VV8!M-JP>8X-N-2 G#[7;MLT* M7W(TP@:,4)8>C!V.RIEQWR,(H1="^W?+C5M8YB^^[V@YS2[AKN.>36\B. MY_,@.:#<2D=3^7N*&K\8#F_G!,OE1-!O@4" ; MX.:%/;AYXS$=8-?2 7;S(E$-_&MG+A(M>C\-KY8L7(5(X!'END0-N-"LYO:9 MPD9#7VU71XA\GYCT/>^\5Y=IP#TV%V1N.1<$QI"+?1JZ+U(#]K3&A'T2BH&D MG$EE6>^?09 ,?3T;H_!H!3] E "50!82KP/CJJ<=5\04ME%X/8D;W<4QT+0/ MU.6B, U8U_;8JB$(];V!LK+ ^3U_:$83)_!/H@4(I@O+*SV!+9NR@J_7C]C- M$$TBHV4@W*C[/NN8Q>B5H?)H [*AE+1]C1P([5H7P9.*(WEX8T7@SH)!D[$= MP:\H:G@T&EQT]1A?V\8B ^A&]Z9==-.,]A)L3/T(!WQ:B(ORO/IH,*VCVVC: MAC.U(@YYM!#TU\*B="7H6_6/S8; PB+;XA_ZURSWTT[]> ML"0E0<[",^UTWJR&-HQ@HZ"A-DN7^'>>:J-1-L(EVJ#(H#PF4UUYC]"#RWA) M5%_AN7X*I'Q7485L.;JL1.N#KL3MYUU6(E..!LY-=FJ"W'9<[("ZY88A-# N MME[8&H=AO,QV4WO.(X@6ON.[_ORSJ<0N_&_6C\[-T$LBCVN"RS%X[5H*OS)$ M7F#XXRX >#\^0"R*7M"\,!N$M,%VRNO-H7Q-)C9L$Z(J,#9-2Z. ID-"92:5 MOKZHS\O1R6E7X\D=-"F*"HYI5!B KL^3-9$MA?G"H]G0S:8]T(\94#@A_-UW M43,NDJOE 1WU XZ&U$[_(ZZ$XWT"U2!M;UA'_8"C82DU+/;0KFZN%2T/L;^@ MH6T ,1[)\_28D1W!=_1QHCL]S@1V>FS>VPMQJ9Z%W]RSLETL;]# M S?;F?T=16^HX3'GFH?:->!"LYK;9PH;#7VUW<0Q6F6'VC7@'IL+%09FLH#1 M<\>$,&=W1EO?/1B%+Z_?J0?;J76T8U%KC-@GHSA0AK"J,ULX=.!GRSUL0Q : MN(6#>?+UR??>D^1T^.JEN_3JI=8/.)=]A'XD;X9T$MDM#V=)/OP=!&^^ >N> M_, V3SD6V%M'=_VJI]YBWS,C[P6?=@=#(P/R;4 M*:.NJ_;V(Y"^^WC(N;.'G-?W M,H+@'=J 8-MN\BWHK\GL!=C^W(-_(5$2.TGDXSOP+/%=VKGR)@\_-XV;OD=C M[SWD;I W1!!BO!XR"2G'HBDUM.-,>QK>9Y MP*)\]]+\Z$ #E2-8-C(=SBW0H90_PY/1X/1$+0_97*BPC"D+&'.&T@VF_-&! M1:TQHG34+0B4(:R2TV\\,/+_2'Z+?LQ5V ^W@:V)NS R2)#%ER*6C8))PT*N MRMKQM VNE(P4JX-EXOTR7$I8AV*3KBU,[A3??HX5\>1'_P311D5UG&^5]QWI MK0#?1K>\*CI6UAB"J5;O_"#["93*?Z: S<:'=%O=!NGXOU>:^WBI\]Q8"]0";R\(+K7ZT)@KU?^TK1,+W]M M#[_WN,^KL_N\JJ]MM7^9A0Z>M2N767!,5.7&.L(@VN(?^M=A\8 M47V%Y_HID/)=116RY=!3B<)]>AY?HFP:V"ZBC4K;]K+<8'!L$U"T4LL5X*?% M&S50-Q-^LL8H$BFWY;)U$N)\#97>>W8 T*-[+Q5R'$<+]'E_ 6<(_/>2F29X9,4E[GD+^6##H^VFF)N8K:EUG C*2I+2LO9;F1I MX;M(FC -P8D%CT[Z@]+@4=;DO_721KL2&4J_EA'IV2VD9,:0'ZVAAE\*A8H\ M/AT-1HIO[RL'NS#V9@O0N8/',@ZG:Z \#M7LZU-4P-;B'+J=*M= P:*ZXM8V M15Y#EG-:/N^I+UDHJMZG2W7)]:0-5_CMVH\]]%Z$NHJ+@]5$%M+?3\'_CMT@&>#WR'\_DOXRV]H M8@N]>?CPR^H7HM(Y:AFK^:JR&Y+KXS5^"Z$#K>#SU4J"5'@UA#+G(Y;7AB"U M9GQBXG$$Q53=:['Y>FP-D]DTL+S0LIF3/G9%_10MI+,2G5<36;G_E[0I)X#O MR%">74)EP/JYN4JGBVA(OS]Y!P&. M)T68UNFQ):K>B>7-Y8&8R,X3/OG^CGG$BGH MLTQ2^:+_7!IER*GF=9-OWFBK&P72$!1(Y,&%"E-H0?V47\FM\\F5J?M"O[WBE8^\E%Y6_RWP0^DG@LEOTI=#=#I46'64!(XD MOT,Z/:3J>F&\I(%/J +G)@Z@-T]A2$_L/8&?R2.R:^*I;!#5JLLK:4F(Q)X+ MK=B3I':L2)YB7>.YPR%NP\<655$G,9H4D.< V@#AD?Q&ZP/+RAM$$2$1&\V2 M*B7'\'/@VP XX1V")T^"D&1>S/,F7(&9'X#[YCXSC#I0F M#:C98O>ITA0(DJY9+R>3HO$Y$R?B_CY&O2*"%QH*L4 ML-+3X((OKG@ M.9)"-=KR7S%=VG86NHY'1M:C%;U1"?LD([ MQ8D/X^ S*?,"8%*JPL)V:3M%D$>CP?"TJ]23(GK.+TVN3Y.>H??9"B9!@G&* M#&/EFZ.F.0RJ*FS.F6:6PQ6-UXLC"4':\%4VASDUY,W)T\SRM[+)WMJ2=M/U MLAW-;@US:"(J9,Z-9E:[M7 LG/2@5S*'(17DS$E2=]&;09*F$PMCVX!1>NN= MAV8/'IX) ,^&(!3+,#SL5C><232<5YTFHI-#"F?E*(K=UZT/V=;\C M*_6#/)*7?6#)DAVMN':JJX9\<=5.6. &-I\K/YF2@7#E>T@F CNH98VCAKBT M1EYCD4K_:KE6 #F)L5/8=&;PB-M 3ASEU'@&'HYHH"XS"8X_^P@\$,$@&6_? M@!D:<3M7P$-_1/C(9H[/%NRD.4;MAHVE7$/0-+J-5*7GLMP[/YA:'V"S@2/- M>)[\QN'-N!HPEFXU(6AT0ZG:#G$?6M'ID-FDX998UCY2/[)<+1=-)BN KT/P MY@_XVC3A-903L364K[WU^WKI"X_+*EHMJVQN02T2PQF'(8A"ZJU0'%4+-G;: M1S9VV?'%E4&I] M[YPJ%X2:^8-613N="RJ*5],4:97G?RC-Y50@_&0V@S9X75DV3CIW8T76-< 7 M,]QCN?#^*AO]C$;6 ,[+,S[*:+(C5*%HNKA6VP@>C:[G#M2XG%+G^\#(,D*O MI!V7)'8U%23GN-I*T? BD0$Q_P7KPZ7?-%Q:5CM-5U#/OH[Y1=4MRT=99Y-] M_\1[ ;8_]R#^Q,GL&LOX';TSFWQ_EO0IG#7-(D%=P1N-[6C11X1W<82F8H_0 M@\MXF<=!;V+6G%NP%;-H)1.$1F-$BC8\\^#R O#@#\D^F=W!T+;/E& MU?8TIUTUQE3C(3\^)FYTX,3]WIO^]#$P?&-ECG:.#!3 Q<2M%/S(H+<".=Q; MMW1DGQ R)N[7X,;FSH\#*?1;-W1DGP@P)N[&X(<&OLOQ?>N&CN03 4:O/1OL M97:*H*_PHXQ)E=HH8C48#4X5GVR12R)YF#2:%TQXH:0B?Y"8TP4(@#6+.,(R M[":.[.%+:L"ZNLM7K[@PGF PT9*7CTG:CV;6U@OC;*FTS&XIN,\O>=MQD M)G>366G^I6W%/L4XCCV9X0QUJ^1D:Q+6FJ/I;/)));V54'WM/$GE#61R1&\X M%JAH%;2 2\7 CU ;YM!*GO@F+G*R41$)]U1L33^RU>9*%?[Q8]-HH$=;)O*$ M>01;.3*/$Y/#]'U\X1WA=HZLXT;%Q, .)S*LL(YH,T?6\8)B8D"'%QA&.$>T MF2/I>$'1*Y#3(NGJ,*V(Y,EH<'%QH/0J1:*=P[JZ<>H>GRD!873OV6[L .?> MRY]4IAJYR2,#JP!4-W!TF1+3 W.<+'2/FN>Z4O,YY4.2W70R>P+1SO/*!&4U M?*1I=9@:O1A& R\Z>7/A/-$](S<&O=+!48P3 B,OI2F'XJ)/G^%1X\\0Q[[&V"7H>_+#(!EI*GO+" M^OF/NL%N 3GU3;MS%8?0 V$XMO^,80@9.7<(I;73K8!J]O4J(B2'8A5U^F52 MX#\# *A)=ICUM%.VB+[XM,V65\M<._^)@ J@_>/I=V+NG-TB1>&&HY/^2#]E MLM51W.#&):1R#9::>1A$6R:._K5KWNBG?[W@^^I*O'3AF7::K>23V2)QI)R1 MXX'Y55-J?3M/M5$/&^$2;9AI5]GTD:B^PG/]%$CYKJ(*V7)T68G6!UV)V\^[ MK$2F' UL)]-B[OG R-A&KJ"-NJ7,4P3EI.SRDGJU3CZ"0_/K-^@E:#Z#8.8' M2\NST[MU;S+^Y0MU67;L[5MY\?7S)>-7>8WKSP6Z.HM#WH9QT6LO=!GKBNA] MWH817.*P=2;MU)\N8(#^%92F?Q.H;19OZ@K>3@JXIM? 7\$<2WOO)0:3)%\5 M6NT^W;_5+VNRM]5F5]:TLT]_ 2L_P,1@+%^3BZL8+>3GV=:G8K//(PT6B.6+ M=#\=G0Q57WO/4,OVT$!,*A-3FN4(I'#A414G$?8K&,$$3K':.8+2N#^/WT+P M9XR:NGU/ L%"WORLQ)NO&^RE+7;&E^\@P?+EQ.)*K@4I?@WU&I"2HOK9+4,9 MA1L^> 4ZJ-"B?DHD*Z9B8)%?K68'%C50M8B^:@<6FQN+2<@.%4@O%?Q?*:*?U&EZ;+9B^MUZ\ M+A RR>K?]C+?. APJ"&9!5Q];LIDBSZ)P!NI/0??FOID+>GNO8E7:4+ M:*]P 8?.E(N2NT>Q%^>:JM+&.QIHC@D_66,Z>^;2A<6E!]_B$">?C3[O/1LA M ]\!E@87)2\T6E,I5W4@G_,#8]DDJKAT1Y VUZ3)2DEVI'FNS MIJVD66NZR]9W/J2/^@NY_[/\],U9:W @CPGIE3($0P.8CT1E=( M#0@E4"!]^MLM 0:#;6P3A$=3-=X@6MVKU_KU2IW^^K\+7<-FP+(5T_C[O^0# M\5\,&)(I*\;P[__RS0P>_^___>=_8? _[P^&_?7_X#BF=%+U(B:;DJL#P\$D M"X@.D+&YXHP>L:8YF8@&5@*6I6@:EK(4>0C6KR0>F(=8@H@_4#292& X_L]N MM2G1AK68QN.Z-/E OBS"KIM"A4CR5^(715 D%GTDF$S)[&/Y]".6&!"$2/7[>(2,2GA$ID5L[D:")S0N:8JA[ M;RSZEN8U0A$$_0O]W(Z3F]*4O^ZI2*#6D$=!%7#-L1#>GY+5BG M[&Q?W&TB^LO_<5-463BX#:2]1N#WAZ$Y^Z48D!R &/W+L43#'IB6+CI0.+ B M,HH3\1U&V)9SR#?X\ C/E,5K#"#IG38WQ2TP>)5AS"_XZVZOE3=X^Y)+,E#V M6;3I-_SA&-FV&:'(V%L-^"76+QR3&QQ0B5\+!+DMT0> V"N*?GW&PB>@ .5[ MG.+WA$OA%+.')^4HGA@?3\J/?_X: 5'^YR\=."(FF88#M<[?/QRP<'[Y_44O MXV#J*K._?ZQ_QYWE!%+ZZY^_',71P#]__=K\Z]?5-^7E/W_)R@RSG:4&_OZA MB]90,7#'G#S2Q,3Y#5O]!7_>*R,K]D03EX^&:0!40%D\HMJ Y7]49!D8WD=8 M(&.)$NHSYAJ*4T= X^$'H0%9*(N6+/"-M-":$W*1)-B$N@1464R.XCTWG82L ML1\-18-=M%S8!Z]'"[^.I"U4!D)"H D!#7\A1]B2%*?,*._VG:>5)#GY2J7V M S-$'=*[5BZ/K*GKBH.4M9TT9!;6!Q4\5/0*L']@BOSWCYQ'NK!J1Z+YXA,S MYJ<%JC[J,8!@E1KBQ'Z?KM%'DA)H$G42]C2?8;1"G6X3; L83*M1=M3F_+.= MG./R,.W$A1G'SG/MAFT.N_W5_/5.EJ&5LQ1IC\2T:WF %DB!] 71-'>D4BD+ MB_'(Z2T)Q8GDYD,GGRE.DAN"H0YXY"!USI*%Q%JBEC=DL"B I4]F4Q*J7'_9 ML-*K(M_&A=S*;EOBF!@*E$#^^(> @S(.1S 5WQ"\)O"B]+*N94%B,XHMB5H7 MB!9GR&EHBK$5*[10.,KDBL3W0(M] :DVAX\E5H=L2&UF)H00>2B)FY':Q4V8,K[U I4+$+-1BF> M%PVBP3]143+620I11&V-OB:M24BH[!&KB<,M?85\SYFW)V#.+\&3P7/]BH8O MY@*#Z!N(F@VN2:(_M)*R; ';9N''BM4TY\:>#AB/T]:J;;;+?"6'CYID3XA* M!-0!93#'NJ:EOD+O>_K.'HFP44'+4TQSQM$ZQ^!1N> JW+3%)3^GR&4@*3ID MX=\_F1=Y<;:(=-I) MHFGP2:A./JO;/]S7$Q3Z1SN;MVT7R'O]=(Q%>M6N2$->7Y39/E'C+"KG' I/BY&1MG"^H> P[Z[W5[ M9&K0N;(YZ-DYR[+I )\9$TUQH'U?AW-UU#2YQY"JFP49L;SJ<6U<+M12E4*> M6L#A33S0-/UI!( A4GQ"HFF6+7Q.R1RC^9$O9UYR M!.JB/K J@SJ8F)8CPEBPX5.T[]ZTN6&/M<>U%2\F9::A$M5<08<^''G8[U_[ M3JN'..@P ?N?OU!P\&A[?C_L$.8%"X_(I?[[AZWH$PT% =ZSD1=#R3-\$XT^ M+&P9.5/[-?B-[;;@?;5-U_*^>0'6XYJ%7G>V+(P(%+WEX?.7I%W18Y:3X=7" MDRH7HYE:MAR%H%]7!3PKL/FFR.C[0 $6YI$$C@:E;+ZP[U^]?/F?S:/]VB>> MR=Y\@T/4T'V>P+ &><\+Q=Z6@G94095!QT14Y+S!BA/%$;420&!\KLOM MVXJLB-:R(6J@,O#&Z5X]54N9P?:JFBAYC:XKH,M1N3C&%S11((?#[MA=L%.\ M=FDIKH7A#Q__JPP;6T#%(BEKTC!9@;]ZB;$=I?0&RW[\LRGV)L_^^G6TN8]0 M\1JSGRDXSNU7F_[U@B&?0CE!GHAR!J>);XKR?+6R ?:J8&0G5+_$N8!)EK3F MLD-'YR&POPCL+8/_E5C^K):=@7$+"-/*0)WV*58N4K%.>A%<+1OJMW-BXEDG MJ=/.K$B7B 31+K+CQF(\C,2Z'4T^5'+AK*BIN'Q;HV"260X M'"1G!9Q7S"ROC=NS;&$57&5PFF4ZZ.8E$4&>C@C:RWN>6Q<0N[J ^#(BC$BD MK4MDK,%E"T_Y$JL0E7(Y1,2IB"!.UQ'$I70$L:LCOHX(T.7D3'?84SFJTDS' M>OV.E>"":RD"B(A3=01Q=AT1.YIR^BHB*A(O=_A8K,FSN-(CU5JE7B=#'?$! MJQ$[W6HDSNU!'LV@V98#!>W"%ZP))&=9%G7@H4">C6 D86H4Y5X=C+MSJ)LN6"8(:8_ MA>E7N?RO@O4Y4#D>%$F650V&$/NS>(F)MNRZ- P:*D-H?#()]$FG[LL&O$JN ME'@R-DH0(!(MIZIL?E ,GK*[F%=X[_8[H"G-BZ/Y.24*BD)C5(Z76RJK=+)B M42$U)1=QPNKH8YDA!D*QDF&CY0*+E MU+":N$!8_74MUK2 :+MP5"%F^7Q;(R-=Z6=4)V$QO#XGXG5ALHHQ[,77MUP8 M&:]V]WOJC',@9'\AX!HFVI$4/ MNTF':+!$=EY?M'I9B4P%>)8_:+;DIHCXV,+9"XOT$YRC<2IQ\I3H<]'/<^[E M^OF/#9XZ<$3% #(G6@;*:ZU'4%'C%OR 3Q959II=,HPC-^O2O=OJU(O'I75QC0[MP8\T2GE[]V\?HTGWQPO;Z[_3!,=9A;71S;! MMD931ITY<\*\]R#MTOM=/1#E7K$'S;E=1I,RH-DLJ]XR"HVC\0>'E[]7\N'IF72P6* M$/-C>FB#3J58N?>PZD;:_S+2YE@J7P.4DE)%ALE'\(S$K<0@1$F7Z_QGEP._ M8OH64I1MLWQVI5)J8\1JBZX;R=\[QJ]M^G;7\=U*OE\T?:09<7F0CQ4X?#*? MZ,*$S)F)T/1]8[R\:?J(E9&JQ@LC79TNG'&1+2[!L'7O:N%&IN\RTHZPR@I? MC1>\*@XR4_%)&[7=TL4E=-/.[QRL M56T?L3G?Y\8"_J+QZW>?*O4FTZNH;KTZ3>)%29-[=Z_M@FC\ @.8-ZU?>[5X MLL7DF..F5G(IJ3*=2"_O?3;@%M;OS.+^[.J;5_0_0Q=J\0%?S?$XDVW(JTD: MS&KW+N8KZ_^+)/&OK/[%:2TWS77LN5IX,D49EXE*KAVJ_V^,ES>U_ZPMRK) M:PMBJH^T(3=B1K7[#X5OHOTO,NES)NW/.YQ458?%(L%VE0B1548UM7;O6?M3]$++5B.XS#,4M3*KX\RJZ]X[#H*J_0.!ES>U/WA:,<-,/UKA MEBDW/XXK428OWKM3>"/M?QEIXU:LJBT:V1SO+C1)-ZK%I]3E%?=-.__9\QU> M,7W=7C4Q;X]-DA/+,C525QVE<_?'?ES;]%TBK7MET\<7W*Y0(?L2T<[-Q>B0 M7F7JS;OW= -J^@*!E[=7N^&-Y=S.:PSO5NC%8/3$#7/=>U<+-S)]EY'VP&(( MMUA)XJH[+0KQ.2=T.Y=?J';3SF]2O&3B3 L>:I-RGYD,=!YD%D(Y/L7 M)]-=%Q]I:0)WR 0S*Q-/Q.77DGT_ZW=N<4>$Q F'_#25(;"RFMF'G1,-<>CQ MIJA)YSKO(K=HU/E&@R5XM]V:)GFA/76&@=,6;Q_N\S:/7D7#Z9@,PED7^\M/ M(CB1.!<0/[O%Y/6=WMUE1"BT07O%-Q@#Q$M904_?OEF6%\:\0XRC_#)F1T;C:AP?E.]= ML%?4RX%8J/W&H4C4P.RM:N4!095&K42G)R7G=S]+?VW%')35MTZF38>W>LKJB9@R+<(ZJYQRW>5KR?50"R-/)2J7575$D\R98XQ M&4'+5B9IBPJE>E>K?HZDHL9+8CR:<@8AQIJY[,K%"].[/^#DBE(-Q(3VH5B; MR5FF9;>D!)%535<6>JMICPT-ZY6GJ8[>R+3C/A$#HY7.4HTI-TVU6JMTJN!. M,D'8J6M_^N:B/(B5Y7)RS_+*G#.8V]$X8)[ Y@+U>KJ_?.*6;0<^X/X\'*-;8]FS+ MG6_'Y;QYRND3S5P"_\KWO;LLMO&C)AI[L[\5W5#Z[OJZ^#SD'NSR#,TR&JB] M(W/ 8.HB132#?P[:?_'[)C,M-I=:=J7HUD1FWTT(]W@BL"7V!K9=#XBS><^'Q7G.<>0O7\B*DG@5.P4-?JBZ%?5:$0@$_O# MZW/#)#UKKJHU?K54E<9BPN0FPW%1#JQ3<6;8G6'! 7G&!0<4,HQD[ W#^+*; MECFT1'TM2I(K5/J%2*>M%EI:)D:24Y=OWY,]?*MW%W(+8\@,4FO942K MF>JB,?1%B;Z5%$/1W8WLW!0N2?VGU(3+6N-N1Z9FAAZ\S>EHP=&V%S_^05_W MNG%!/?N1RWC/?/_#R1(5%SL233\MYI,G:RAP%4J/&M%4HSO.W(5$=[OQ;Y+H M)]7N#.]EVX6"(!* [K57JWBBFZO>BZMX3;5[<_F?%H ^[RBP'4N1G/5L#F\H MCEUO\)N5!;S>9\V2V28:"T -!QVVW$L$UF]Z)4!XLXM!#SQ?G;CZC#CC9J(7 M6RCDD,MR9F2L1*5QS RHBC"?$/Q\PN[ 8W;''7/?PV[-3B=2!'P]N!>KA=L]%;Q",G#8Y(O?I6CEE:2F"JKC#H5KMJ@05V/5509@G!CT]EW#4"8J^FG$KBV+18UW9,'5CV M5BDTW,E$6S:@!#:_K:5?ZD@L/=;-CMHHM_ >VQAP7/!./?;S3B][YBN"U[IV M2MEL "2?E&? 8B"M6$#:'GH0?>K93S(_(T SQJQR45+J4^^L3 M#1_5^L-Q'HP8LF_S>',D+R:+E3@33/2"%Z^,6!:_^:^/K$K M=^)36C\WYX8#KE;-<8UX9:%S!=U)!6^!<*"T/G&ZO2=N+_FWM;[-KA+JM/CD MJ&XEGFY4#"$9A#NLQ%FBZ54G:("6ADRLL^'3A,/)^9\"X/=J:%3V7".>%SS=/G/H*( M(A!M,#(U.:]/+'/F;;;<8 "/+8>25M#3*DYTI]%V-:^)R\!E@#Z%@3>Z_6^0 M>L:U#,5QO3&041;HTT;HJ6FWIL2+M;8ZYJ__#3)' MFZ==!UC;,AOK;^E3NSVEVBI>7)AL;)*=9Z*!B_@_)?!7NGP?TCZR*/DRIKXU M[7;F4ZW04AO#:%5/,#9/]K^'FK^UJ;_\ 4OGLO4C"32SW5%9Y$1+R!?RHTY^ MX'P/$%S?U@=+[&\8^PDNLD#1RQ-"G*9Z+L=T&HG(]_#RKV[L@R7TUZQ](E/I M\86GQI+0[62YTJG5Z/GL>XSSZUK["^Q9>7/%9LJU%0/8=E*"W;.]&QJVB9T> MI-E2MF?\.)-E?A+IYG.$6$EPI6Y'%9_LP([J5SKF)W;V>_8]YVZ/Y_$^(??6 M?)A+DS*1)\1^O%1*I1:]=">PGGP0Y![ _.TI-5IS4P]L K]3:'O=.M[2OSXFLR/'>GVQ2NLV C>'>;49IW#>ZE)W M:Y'3L<9<;M7A9X_G_R+6DBK#EDPZU5#9G M*A.,F6OE0KP7 6Z;/-Y-#-UHG>"H+A-]XN.111,/K,MUWUB[Z?JJR [6/GM>]A>Q5J9Y6ZTM MU4&TI)=JJ U M[!!K 8A#+V-#OQ2'OG)7MM,WI'FE/58X5[#<3F?54ZCBO6/H\G=E?Z^X\15L M#,W.C(^YT:(ZE;M2>P8;!/'72ML#."+TBT/IT5E\ M4B2F:B:>QI7CB%JM@:-U6F':NZ42?"U>.! M=2X.N[DK_3?Z>:&5+I=?U_IIP49YMI&7GF2)8"JQU-,D#?A.<$=XT 1[[A5K MA'"Z7(O <8!5&?A%UN)L*"0H$%FWPX.Y4Z^1S;JM5P,;(+XESF/=NYP4B1T- M?9[#DW=N)=M^>>_Z"4+IND2E7Y[RTV0A4AGWJU%G$3@W_6;73[R0TSNWI>T6 M/<^QO">*=._^"5)+1>VY!08:F>B,>*05NL&_4\>O<6!]8_$5V?,]4\-L+ MDB^-L*C2E1C1R"-TJ Y:2# M9PHF:]1#A'VKU./;BZPOC;#"=X'K2WH!# M5KV*II,;_ "/GR/[ETR^I&&.[V1GWC',\?/.Y@4'U-[J''T"') <6F!OS[(H MIH543G IE2%;TD!I+M/I6&!CD/N ]^OL#H%^6:"O#R8 %_.8DMSK0/-+LD3+9 MPMUYFL\;,2FMBE,Y&FDG)6T1#97[E^#^!K^_)]3?SF!]S<>&T8WW!5U]M@%M M#J*/R+!9G,<7:G\^MI?-9"JP#O<7_=\C#/B>6:KSH^@-I[;LJD]:56X:,&:S M9M59/E/3:H$U\W?D8WXG_+SG*W),+I>W>;:LNG6=&$>6W;[1"&S>Z=YX5$5W1%@HZ&M]R)U@JOY@:99HG ,ZZ8 MY\:V9L:^ETJXDCMQU<79YW<16HN49!*%;(_#FQ7I:3DUENKD>T4GMW 1+G\ MZ27L@UR(DI2MY-*<:T8[I)JJT9W4]](*M[$/P83#6P9B"H6C+1-#AE ,([9B M4WRSY7PO5^'Z!N+,,#CB)HB*U1(U%Z26VX\YR%G1DD;+(H+^_FG4FS)Y8^(Z MME> ?CF7]%QE41'[WOZ*9RBAB:C-? MKZGW%\%C)0EH58PC0N>Y05#+PGY7*_ M[M%]P9\7\GV'KK* R^JR:>:?V)4@!G9:-81_0)3_J1GH^QH,99S-Q-)<WH M%H8-]T5 K@P& ]:!BQ7RJ4M]DS.*&L!+JY1(WI1/# MP?P)KQ:T?Q%<3F[Z)9]W=N2?PNB+69Y;[!3VE59$H.@7Y[2Y?6AZ%=%:-D0- M5 8-QY34/5#FJY4U\-H:45E56KA)5**%27TJL]>X;!MFN7"S@C M.$5?,.#\B/@:\7X-C\VY&-].3_MT+=,T>T1@G88 B._BV;*/2"]24P?<*#=L M\>"I7C4,=TG+P5WQ'P#IG3G; _5FPI=>AJ'M$3ZT5:X0)Z*15KDQ?A(O/HX^ MW'D:IQ+GZ_S+C0'H$C8TB[6-4CA]HIE+ #Q)5UT8AHHV0*70:YN<_C3?U"H4 M/^*H20,OSI:@-],"JX%VN^C'*B?T\7)@IB\P?T,F!"8E\+VTU:CP(MX8EV?2 M6)I<_GZX#_6>3%Q:$;.B/4H:,OH'';@W@SIKY.M5EH!HNY:WP"AC@:D+#&EYO+Z=DG8=2*YE04][ M77&<=M.L8+(.QU3Y)Z.>MCJ-X%[S^[IXUCF$4^1SUC37IW-N[ZF)SQ#S&B2. M4/(&)N[##%\DS7SQX18ETRTAI>5JQ'00[3C9L@1Z4F -7XCSV^/\V,&8_S8C M11N%N2H5XCT"I-,%<\;V>Z 1V) G-%+W.WBOL#SJ#L9;WK+9Q+3OV*KNSE," MU2^T^D1@G<(0Z+<'^O,A6GI?B.4:9M4B&!C@LXU1/9ZX_'73'^W\64UTL(YW MRM;-3BO9-&M3_85(+PND%5LR7<-!*V0VJY#Z;*I9JE5&/)Y996K+VKEI/Z?*_RONRZ^_.DFF+:A% C&26E-MK%C*!FV[S;"VPL$-3% M]H%.-5T3Y^D]T GX04*KR;Y];?!OIY4#FF$J6VF;'2:H,GE?0":+E9*=1X M00'"B1LMWTH^]"#-,(Q6RZVUR',MG8N(G%52Q1RE&QF1)I;Z?:8(7O;MG.*\ M^5;!9]F30F(K_.;>D*UR-52?]UGU"[[*;7F]^Y/HF2T[&T1KSV$D"3YMN M7X-^HZ4,EGE#>M@(W2KE4\T5SJG3H9JF6Z4<+L;OTUP=[^%E?! RAF1)QL_H M@QR_8O2]2V._M%^DJ=>ZM-HR 2&Z]D)0Z716D@(WXC]]X^S)L+KY3I3@7$/Z M]D6W>30;#ID"&T%]*YJ2N%4R6[\&:!J, )*&["_&A)^YQ02R?#.S(4V;XUB4 M:VO\DFO4I_IL,#"MP(;J;W1YQ^=XI\\A5HYCI0YL@'(>Z$Y#?^(:%=V'"T, M)8E11HX77,+--.I248I',L&]&N8DS)S4\>^)FN/9F8MZ1D(BEDV,Q%B9!X-J ME::+RU2Z&+C$W;_0,PKJ=2!G\8SF^+R5]%$ +%RBDV*]OMTVI',!->HKG*2KC?(LGG?+LPM;=*=(^8TFS1, M3)NY628M<]1B3@IR2R1G_?O&S&UMTDU10U[>)I4GE#ELM,9Y3J_4YRL^TU@U M[/MV8FYIDT[U7X*(E5-L4G) 8,N7WSO]G6W2/2/F-)M4 M<4NCEI3(=M7&E$RGI,HD:LU"FW2GJ'E[WF'+-W2NC+-D37UB&F!S]L^F5%*6 MO04'HE85%3EOL.)$<41MC9=%02>Y;+S1Y::S*)X?=V*]83ZPN9@W>_R,F#>[ M_#WG&B([2&$N@A2JB>,V1S7B7*$ZM*=/2F':&P;6&@4=*9'3D<)< RF=,3], MTCAM$FQ'Z2?2>+7835Q<#]P5XW93G8<'WYYCB(VL4H;C8PV2$UN)47(02225 M93C$+I_>I,^RO/$=I.2JN56!5\L"IPR6@[J^4O.3R]_/<%>,>SMSEB]_E-!= M,2ZRPSCF(D.,&,>X=AXW8ERCFYGU[0EH B,<8I\<8J?Z.\2E',472,E59RI+ MD?6!JD<2N2=S,G7[3A"'V.T8MYOKH0^O9CG#$./D=(<'4G5(%(;RHF77Q^51 M+HS:+Y_?N8RC^ (IB6B)YLO-4IYGG[1X>FKHQ+09Q"%V.\8])\,^O//UR XR MN\4L%@M0ZA#9P<3E1GBZO^0#&W<%: ?9KF\2I!79I^G8IN5M 5]Z2T)A&=TT MUH P\5I/U:OBBL!3(EET1;8:X)F7$_7KJ]W]GAG1:ZW9W]T7?>JE767!;+AB MVJT1;2X&Q.6@FN@5 HNO*\S2G([U&UT@%AQ<7VO%Y6=P#>,^9AA7R3C?P"-R M-@5R$[QTWXON_F6X#NI*XN1C@-DCU^\H3AVO<%OFAW5X'5LGL]W%LQ\7H7OR<2(@+Y?++)\Y=7-T95=$/IN[;O M_[DS"O#)3"U'SZ8$8,U6;VGG$_-&8$/FP_U+IW3RLA.6Y(FGA>P5 M/0,GP3VM)G";V>B;31!%A%W-D'C> M48Q%/IS>YM%5G)OCW+VL0COU^*.]HE\] M_>;-C<#0OSS<"/RA8]SZ.A!XIB-;7+ON.J-BLOHD-P()QY<;@'?[_G7(W>R MN&N<='OJ%O(/(8><3&FB,O-.)G"QV^6WCG\KY.P83HK>L9R; M+Y\)\O7T4Z8#@Y(*1S'B:BZI8!#' Z=B@A981W"*/MG]>"+T0SIBH/; '!(:M&3A1>S'_,E1VVQ[ME2GTZFC9XI4>B ' M3BU\8_L1G 3.\<59E_%:QD,W8FKZDYKE98:I3.J10O#2.O\6U 5X ^>'4%6: M1ZJ*&1MG^&FN84?HZ'2Q$ .'JL#)_NH;I5Z[ B0E:J(A@<8(@.-38!5G!"S6 MM2R4Z%#$/KK>1P$O+T/_$&9&I)4Q)@G&(<2HF2Z;M* O0>#LWQ8SKW#HV2M^ MDT5WK+"N>17-AP!49TDQ54J.5[Q;U41*9C.=22*X /I.\MO:$$H@H^ALZ@0R M(L]?D+.RG2=N2, 08I.JS:L=,<:NF&+R[.9"+F/J50X/B+ M2)%L;JA.E^-9JR%U%WKU/B7Z+QC 7Q2V7J6$GJ,]$2I;F@ZY%)--M@9AEOJ- M6T%>R.]BMX)T#)FHB8Z>X)5E4T YPI:D.&5&>;?O/*TDRIT MFV!;P&!:C;*C!F+KV 7OPR2%J"]Z$&^T>^R =7F 2ZP=*Z1ZD\O?"?51T:/+ MU,ZI:8]/\57*PF(\*P5,8UYJE<@W%YQI:/HV"7$,6+5FP M1Z(%;$'+4TQSQM$ZQ^!1N> JW+2U[2848SHWV%;W>(^W+WV\X;0R@\/.@](:PW/I"3=D-KE2Q7A*J+:% M&+^H/W=8]E[8K:SLZ@!J$-/Z).@.WDI/%\C: M#Q823;-LX7-*YAB5L]7N*D,GAO.CXEB_\K8P?BF+1]@!T[4D8/M?1T"4/=T' MJ?SG+_@'LYVE!E6H+B[PN2([HT>2(/[G]T249<48XAH8.(^1ATCL^9&E#$?; M9Z8? \!F-&^CT>\?+VJUAHJ!.^;DD2(?F(GS&W(+'P&OBNA#+ J?[+0*7YYL M7AU I8@/1%W1EH__;<)(Q,;*8([535TT_OO3?P+_M=%-A/_][96VE16 %:%6 MO'8?X4<,_4]%_ ^H 1$;66#P]X__-"LL_&I/1.,L3?I?446/AFGIHN8_F?M] M73]":AX7-65H/"+.0GJ:8E\#F#G 6&0$# ?"#9$$)23"_R=')"5I0+0>^Z8S M^OU2: ?2V.$V23TPT0T+$ 8%*3(84$0,"& @183(@"2$^" */1,0E1+1>)]D M:.F'3\B7I0(%\%N#D>.6&OA]AQEH@PBP?O=-"Z+3@PLY66"VJ2DR]A_"^V\C M4W(M4V(KTO_S'Y(A?GO,N@&=#XB0&U#J@>Z0M&?D_SZ&[FTG=\'9-S7Y]PR& M\]ZTZ?)QI,C03?+HC5,$_7L+R:O1W3\DFF2.4?WC'[Z<;W)IK-%,-KD&]M>O M?D#I;' L7\\W\Y#(9#F-<1TVERQG.8RME$KY1B-?*0>!>/(X\6W1'D'=#SV> MGUCZ@7W *"(:25R;X.-HIN&/)X)W1XM^FE!OP*\)PZ$6=DS]<><)T@G$OITC M'\@$T(]HYWW+MT,\J$/'2K(5\^Y5"1L M'<;5D7?QN8 7,T04SLI >4R;DHL\/+3']H=GK\NB90F@7B@GT[%FD]#K47V4 MKS5G?"'Y#L$D@=?\H;I'\-LO/0_N<-2$H^8K9))7)#/QQ;']![H8PG?3*@;X MT_\4_@W_AG_#O^?Z>T:W^7A\^B+]@?Z//5"'.EI6[(DF+A\5PXMY^YHIJ0'\_4.!+]E @GK5U/JBIIE.WUS\N(R/ M5'-%"W9;6];!Q+2<'7=)SZ>)52^2QE6P5*SF/#-\$HN'[M*&\PTP- '&Y['& M4H<&X8#3;^=X/!-R* QDZ!*Q"//[J NV-GYOV:0:GZPWN7JQZZ.GSE4K]:;_ MN-)_PM)^_]6ZNOOT3_DM5VK9-;OY;CMB^L8]:^^ MA?WZ9Q.D^K\FV296R6!D@HY<,?#ST$L_Y^^.1*V)XT%KQK0P9P2PZ08>F#_O M@@$(9OF8![\#WD<9+96#E8YD<;D$H@6,"Z&WZA'%^5-$.]C5*K*>%DJSD@JX M'E%LN^: F@\_Q($&F#C^4@Z:^(DANHYC, B>EVE=2RW2_Q*UB)9N^M'.@5ZL M=/O3C'R:;W8K"?+C3S2=)BO$[&-.L2:%6RM M!#&2QBIUS--Z2'M!78?=0,U]=71L=)FSE>E&F0TL4_=UV>OO>RW+0#)]9#W" M$!GJ0XCME[^\")PW&>L;N4AOIB<<\_OU.@ 9X%0Q#Y),@AD6]42C7/M0KPB"Q",$'4F< MD!U[JYXP5W:=7!E%G0#JBZ.Q#H;>P9J&@PZFVD%D7^WF4HU&5.2I-,@DV:=L MLM\_1.0^=M*FV]= "W5UB:%-%HHQM']B>4-Z^$+.]N8&ZP]N(4J.QSLTNVUM M>8:)-F9/@(068)&"#7D_;^&TU)&$@L3E6C;(I3.G8AJVEI>:(.!4H@7I9\ M:I48?3*(EXGE8,5,S,1PO#"2:(G[NN3N<':\I0L;/OA3XI 'FCBQP>/FP\N) MES5;T,H%R5_QL!&'M]3$Z^WZ@;_0Q'NRMQP%R6Q_,_4;,+:!IHYWR2W-]_QN25. M'OL6$%5\#CGT[H*9[>]BWS8UUUE#Y>++9,Z2O=\%QR]'#KE]76[_Y]L1LHWV*DXLZ\6&!3<*&B0\YFVF(P;F(UJJ^DH(YSY"YA>PN()JFN,BO MUVK[YSWL^O]0*.62)M:7DISC*WUN6GR:XD0J/42-?D@H<0JG8F0DRE!OBR5 M8ROV5<_, SIF6IB)#LWP(\^Q:RFVK$A>9L$IZU5VVR7^4H.'S7)GA"5B/DA@#X9=7XR MF8SJ[YJ6ZK/O6/;X+2G\O%(F:XTC3P57K"IT;Z""V\LA#!L\/5KV^@1KR?4H MSL4GR<3\0X@J=[^8SKHR,ZHF]/6TGC)Y]KH\5LB3E3CF]*E(B&I%BL5;[49Z M];'!!1UXDK[<@/J:4IV/% ?@$*D2>)Q8P(M>4!+GCS5?4-ZD"A6#I$Q$#>,6 M0')1#(-5!E - _O/JV6+F8.%[!\0P1^7QA*+D 1COA?H$48Y2$&1*1-40>K4 M*F,UFDM\4#63Q[W"TVOX\^(C"1V'IE5'IG&8(.],\=D\00L9M:W0:M>H3]U6 MZF,3R Q-XA1)'I\V_DQ^_.9^S!_/V5L44Y.QWS;F U,$ LQPW=KSIJ&3'RG M+.3YE[Z>DA6A K2"U-."S_O)&E K6]Y9@^L<-[" C$UO2NT[J4*,-Q-F $D8PFA @=2PC]>$04(HQ,1T3X/0KH ME\E:/A$5B$CUJ4L4:GBR9.4:*UFTJDRD.\%)@FH/FF)#SFC=3@WIIG7)*R9]?5 F$@^)XRE=\N24+DT_ MT-1K@1\6?5B+T_]T/.](?N^\8_R8XKY@VA=)A XE$DKDWRJ1CR04/ZR^OLR3 M^)>\K,\OO&DJCK\;FA.E$<9JHFU_.,7W82#?+[2&C7F54>;T* M@5M((W2P/0;=,1A]0X@]^VQ'4ID''@>]62T:R$%[ZX3IVA5>DE3?&\?;N1JF MJLI:KMY]XD2F9_6JTU[7^JC,H*N\6G)_81+2PF:BY /M_B0>" M(-$*2,P[HV.K:;\PJW;]T7!K>:W5A[^F=RLL>B0-*E.S6B;T<0KD5+'63I'S M]1*0MX25;OUKQ/!RKAI O7*1:>K-D-HHKN<%9U!2^OPI/@)M*JM2[,IB<_%H M?9!#RWJH=R2U297[ VNK%=\5WP7F=U[?YW&\ XDK9@(^3>"/?_*&C&;* -9? M8M((0";#>E1H+X$2?GU>5M?;.P/6"E$.V:[T%C:(Q.MTMNL/'=&HO.R*W-QGUY$K/_RNC=_ M_L1$0\;^H':ZW(<#!Q;JCV&'T$M>>?@FHF==F7?DM$>)1ZYH.UB"\&N0Q:7] M\/HZ^T0%K5$1W7WLG&XH-1=XJ7JA%^F4RQNO4T6]#SY#LX MZ@+[M5'YUFO[?7_UB*,WMG5LZEEO7'NEHH,F#_^6S;,2$SF!F-?F5;#[U YH MA,#!H2N. \<4T. @L4P#&4]MB0%H2)=8'EDL4?)FA]*B(_IK]%_HC>!/[ WV,_:9HZF%=RADIWJK=B;=J]QJ:Q"=_ MJQN _>?M!_T.WQ';USI@=PJS:,GE?G6>@[7&GHH:XPAX;G[)01_ H;_=VW(U M#>#-.)UY3F#/'_S8"(9#1<0T^#[ 1$F"(QB"#X(:H=A"YO#H4PS*'3_Z@ZW# MH0];L3:V!D.G0HK&\B=R 6!UT%HB6H?8T#+GSFCS\P/T"(!'FPP&BN%EU[Q) M9N0\4<3OURCT?B9_;XJ]6^!U^C8%D0>P+OP*K9N2BN%I**A,^CBU<6QVO9F' MW5F4A!@9D$Q4%"(1,B)$X$>A'Z=)(0I$1H[V82 1'[R<\2@9\::QLAB1KQ2K M2MZF4D]I>2C0A[,H4G%89ZQF6N&6-%.F%LVDE&PG8G3E$?MZ8*)\YK!6.! MTX050R4CUY_M^?H2__?F@W08+&C;253F(?JQE>=7R&ZCU8G>#D\48#YZG^#; MX _B)PY_^O,N5Z6?)@Z*?HC$0WD$1AYDXB&1".5Q2WD\Y\3(Z$,\$CAAW.LV MF1,83A$/\5=S]R'#+Z)QWLK[A@KG_-O$7C"3>CBK^Q1,5IS1'[GW#KYKX.^P M@Q^PF'?=NW?-TQWV[D.V(+C].ZY=0=#[7J_O?O6VI7>7FSR M:O_];1?7TJ[QE]TOHLRZ/PVRDSWW'W@I]!-$N->%RRO0@SY\8-[F8*;F@[V[ MO/8\Z%WRLV*YIE:\LDR"IA(WU;9AP]XI62]Y7(B^NU&@?&RMS.>7H]^?K[U=J;6_ M"BSP?G?#7RODT[M=,.1_72\%"KY)N-U1[_Y@\IB8STN;^$.\,:MEYOY"//7G'T4;3>/ M$&Z-MPT3LQ[[6)]Q6]SU9RVE,S(H0\5K@J 42YU&7T%*//IUW#'OX^ZBFU1> M=R$BI[L0-UUZ/GAC@>A/3#F^KE49'%N4[BU%A\;6,+V5Y*[M+RZ%8/,O6#ER M5X%I>6UI2]3X7(%-PV8Q W;:1.M%(0,]XVV(AJ2(&EJ+BL[C]/:XKB_+MC%T M)J@BOW;(!OV'^.?1=:+;%<&O7_F"1@X0C8&HV> R V?Q?">'?^W+SEKQ=CQ5 MC5<*O,MGXR R?9H;-;8S_.28.;I@^G*'REUC'X2WBMH> 4W;X!7[ Z+06\OL MGR3^O)?AU>7"KV\:Z +[_3T$-[#MJ,-[*M8#"[V8Y,Q8CFWQV8J=D7J]1;IL MURX)EJ_O +CJIH2+;O9Y'=C7/JEH/XGMK>8OFS/_SBB,MVT%*DS74'R\\O"#T%AK6<';5FT+6IYBFC..UCD&C\H%5^&F+0ZB=%=K M&JXNFXX,) 6ZH3\P&SI*L%/$_FA(VD)E() D6H6.X _BC7:/'; N#W")M6.% M5&\2AQ6OJ['__I$O9X[LLO,VA'O;5AL>A177\2P#-!$[HX,5>I%63VN3!%6V M+*+5G<[C73@ZR&C\)T/'?Q),?(/O#2/^\7>2VQNE81T>$R;YN]'M]W:C_\3, M9ZH>;G4O_61Q_%;ZP\/\=H+%B]"Y2Q4Z"^TX7>1%Z;I$*NC21'V4C,VU9=[) M;1^C:5=DIW**^$#2['D-XO_^7R>=6R=!1\Q"D=9HLYV$\F*K(<#]19WB +^ M4=3FXM+>G!0&T<5LSZ_; HM&B(H\1&+_@SU_1-WRJ=JA!NU8V5G1N; MZ.CS,W]3RN;A.VM+=T[ZH\@'M$5FY["_"/D00VG#RRXE]885]7QLW5\B-K*0 M8OY/L\*^Y39\M$G_*ZKHV.F]ZTCN&GG= BKL0VF'J M#D)>RNV8.-8[Q/I$-")*T8$P8**D$!DPLA"/4#%A0#(Q^(2)] ?Q_5U2'GO0 M]UM33@4#-"L[Q[LB $RP,9>7LOV>B8.%Y!\2MIHIW=Z.L7U\U3#XE;;D'; M.8KT4O3=WZ#\_^M9PAN;&3.W['7 M#T&Y1G\_:CV^6__?,PO?K;_OZ?OOUM]W%/FENOODZ7 MW7['P@'//C+:WC\B/P!QQHN\Z=BU'66P/(>^.64)VNW"D#,IU:]T\DU+\FUZ M>0.[#D.8SX8P>0?HI)#9[*Q""_T=_U*= "S^1,2M]^T\'*S[ M#,U&(,W&?2"+-='80)L*X2SLWK?0SWNZ;5[?G M6%.GGA\8.O3?OI.A0_]M.AD$#1LZ]*%#'SKTW\6A;S3AWQ(Z J*2J52Y>K+Y MTJ$_/%EEX/WWP8-A+NKI[R3?S<&[IX-=B5:L,@'^R6VV%V*@L],0,.-&Q]U;UW_*$_H?5*W!*&*G=K2*/W;QK#28;0 MYH4Q2:A*;ZU*PY@DC$G"F.0[QB2-9H4MY"K!G638"STP[T#9D:G)P++7Q[UB MW-2%PCK%TW]MZ/_3-0U5Z:U4:^N;A:3^[9[)0)=$0A[ZGE%9LR;5MZ/N)AIPT M1&UI*[8YR 3 \7L^^X<*S_X);@!Q1XAZIG)[<_,SM5XV?T,OFA5X#BQ0Y.'= ME>65J0/;U?R)@^<- 6&4<9>FD:+OW]J%84889H1A1JA+;ZU+PS C##-VG4*Z MYHJ&HSC>/:30<8)?M?4WY'5IINU: 7 *G\,,.@PS@AUFW FB=JGT(H8=.K$M MH9 2L6^Z#E82+14X6%VQU3"*N$O+1X=11!A%?%<#$$81H2X-HX@PBKA1%!%A M8766J=G0D:I:I@1DY#H)B01%QJ@ .'O/X4,D#!^"'3X$'4H;\KR8X9G ,"BX M2T,6!@5A4/!MU7H8%(2Z- P*PJ#@!D%!-5EOYO.59HZK[UP\*U!,A$).W,VO M60[O6;Z7F""X2/)H"N]5#N]5OCA'PGN5PS@EF+8GC%/"."6,4VZMI\,XY4OW M*A?!4-2\5"Y ]=@"S<0B-!& 9'-XL_)=Q"@!1Y%'&;9#6CA9<9>&BP[O+@B# M@.^JR\,@(-2E81 0!@&W"@*2:&EW1I0-_E\8J=/Q#Q__;JO#0\0]U:>CXAX[_K$Y2W<3!]P)HG:IQ#PRT6%)ZVO3GBGU]CGP-D _ MKJ<0PC#B/DU?&$:$8<2WM0!A&!'JTC",",.(6YVCE 8#$9TXR4],HP$,Q;2> M?2@A1C"): !\OO 8I;N)(NX#4!LB,40EYI.Y$SR$@<)=&KBJ M*B$:I:-,$)://\<#T3 >"'8\$& 4>91A.Z2%0HV\==D:^6PYV>3K7$.@XD2<2@3 :VO SZ)SB<49 MH54(7']"JQ 0JT#'[U_1?UBU_W+$O@:N:8'(TRU00+@5DA%D,F3%GFCB$@Y# M _S^&$V[5V*\T ]CUW:4P7*'3@S]CSP)[ C1?5%2AY;I&C(NF9II/?Z'( 8# M@MCI]M8?^,S=0+(R^^8A?[[O=.KG8M*)N(0X'T+B"HN#F## MCZ(V%Y?VQ@E(/-#_\[MO6C+\A=@017O"(A[HZ/]@.Y\1.PYXJ8L+?(=C^[ZD M_]KFF>7?N[)^:-H*FCM_M( F.LH,H-KWZO4$ _V51XI\0(ZW#K^N.Q8A'V+1 M"XGJ!68W MIS>YL5-@".;A,9'W24";K&%:+JT-]]$_C[I1T(8*396 MF&)+FRI"L=<&! MWSE<6W?.WG9N_0HV5YR18F#."& Z$ U4".*@ 20D0XR*)=%7].O.V3=)R4%/ MR01-_\1$&Q-AC3*0L3]0N77+^\6W!*)C<[:5D]R1RKF%-!*-(=AI)?)J*[N% M-VT\8$E-V^DI9GJK;)R1-\:>GPXPR'#'M)!7B0U$"3Y;LT_&/(X<$ZQ""-$57'&_YSL_=!BPPA*SW&.I:V,!%@20V4 S1D!38XF:<_,3ZK@T- MH&W#ERWX]G")'LE#X-@_L8EECB&[($F2::,'MCA#=Q5XC(3VUO _F7U4"@XV MKU\0C5!7(RHP"(!-T^8$6!Z5L!81D?(J-AZPO($A5>O3]WI!; @,6*D&^2-! M[O8!IJ!(7QDHD.#^TA.MZQ^2]+(2R%6HAJ'9&2XQVY5&2,)KH>KB\N<&GNM' MWW=%T3M!N:CP@(4H]S;\@'R1E:;-LTD(;_B6I'@AHB0@T3\MQV M+8C'=5M>;7N-(;XC#")J3&PDSA!UP(!@M"Q8ZN&RZG$W>40SP7&:W]/D7=/% M;"A.34;,E[%=M0B9BT:_9X#J6PVQ-D+XH1':P R-\G4=NT<7;WZV?9WJ#7]/ MW4 ]XTG.1M)TX9"71829Y,12-(PB?L+_*=*K=:!H\ >DS%ZJ8O3K5L.RIJXK MMHT4]\8,-3AVHW2AIG(MVX7C"0&E[D)W(D)%_NC_^4?D3PQZF, Z8D1^(NNV MIHA:4[2KW:M;\I^;00I-Q&"P(;D^,;##BHYT,VI[X'/%A[/D24 2D0:"SUW( M$ O8WKD,D$99&0P@54@KP%&*5-C ,G6/RDTI:$@E2^G[0PVV"]O1=C3;&^,. M*0D1*O6U)4%E-*Y.D-R%K++P&;MQ6/YZ:GE/5-+WW&H#9\MB"H?(@U M;QF-4!D<4P;(&7E+0SL.A)CKI7^>90I-M8U&,Y2-YT 8GJ3Z8"1J TR<3*!( M3 /^$>V-!X6&M__YF!?I(P! MR.N:0Z-V%,=KG9PVH?A "U5QX*4A_J9;6-*%'Q!;L>2!(_;\6\KR8@$7NLY^ M'U\6A355%<,08:BY:P37WKP%Q0OI4S<6ST;# L:D"#<;9%IK\%N^HH/6$(XK MB&]4#=27,@ Z-A%17MF%#AE$Y+,A@:CQ0B+8 O"&(!J),]]R0>TJNYX'!@<* M$*'R71O=C2,/H#)LF!I BA/!U#0@L!2$N9]>K<_$0W\>6#-%\EOR+:[W*V:( M2'P0NH[T:A.!^#:3C$6V?D(D3B%&HI5J]E*'4:^-@HJUB^?5"OQ! M8P'/NOAN\Z8A&<9$T"5&38K&$IM#A]RW''/@NX3H%>@\ A01K5DU<#4-NME0 MQ: ,PMKF(U4%ZT*Z31/G/STN>_V:_0%N(!/YW/^UB;6W@0JR;CNLV[[\ MC!(/.9*IPY&CH.J@GI+-G>Y[Y'EFT<+6Z_W/W(\-R=CO]3\O?H?.]9N_0U"]+.!A<^WG/A=D/9$N#PK;")/RR_'O#6($ MMMTN8#E3\^XR_ E#>.G!:TCQ_5';U!0_!K#=/O0.%:@KT2 XY?7M&\O]XB5% M9LUU63],D->^A#\P/+>QJBR AF4MTYULZW^NWO^U*B+/U7OZ$WFB$S^;H2U1 M!D3QK?B!EV.MW0WD8>VHM!-8\FHGD#K<*B9DISR%C]*2C;SE?*9)R3V% 9:,H^1L.%M@GIW(B0P4T"G*#GJ="4G M8HK\]P^!!""1 $ 4(A0Y$"+1F"B(T3XC4("2X@E*3$2B_1\^0OPWO(O-A"VO MA&=>K8M=6 &>@*3C-M /"9"MVX+)[Q%;*:>YE 1%2\P&7=R9$'AF8%*+ M:)5)@)I "M3+DAVCNZ@,YD*)8R5':TSJ/)T9S6')Z,N2(+;21PTY&5&506O< M-0PZ;4E#@1*(ER5EH\8LJ)CN\E-S8*95B2+K'7THT(>MYSH5?%GFDT-.5SJ2JI.Q M;+\S%R*'):L65X^F,TV7IUBG%DO1,;KMS(7H8<.YLZSQK:20."S9S=8*SM,$UCD=-14W[3A,UAH*)'%8 M=#P8QZ1NM?>D%I19M)#KSE?:",*./"S:6S3K%;%I-SC*U RC4# R' 5Q=P1. MB3+(2$]M,<%5HEJLE%;$6*$-"3@B>U"UQ>2TO7KB"XUNS#4'CJ0(L.@1X?-< M=C)C"D6)+^07C4&Z7VJGJC54]$"F5;94+O3T)JY2YKA0DH';SZZ\6@^$.EWU MB@E!525>(6N3A*Z/Z*2<%,@CF,*[Q0D8"[69NNS$ZE;?!D0E 0DX H#.4ZM, MN7504=E<*56=5YF9@F@]@@"CF)Q-JF)RQ>,DJ9&S=&\N2'-4]*!;+EF4KC\)+)RA&)R=$F+'H$6+F165Z,"92YUJE(&C_PBRE.83)'1>F71;5%94*:D>2$J. 5HI7H=492%])Z!"Z5B>UV'#&95MMQ0^98 M(Y>(X+#H$;AHV4Z]0[3=/M]65TZ2(H:L X;WZE..5U20]P[L1II'R MBA[@-=]>KA*)4C9.X,OJHI 2VSK(S 7Z"++LT@+,ED*GPK6Y(C=_2O@19?7U"LB;'MHBETK&C"67 -B7:!-=4#$3T%P= M05:B7IN.*_JT3U1<2L@M)HU$5JJAH@=\S>8YHVAQ;):@DESMJ92:CE0U*=!' M0!BSI:'!SR=/7&6@EW+9V:HUAM::/H*L5*[+$?56U^*S@I0'7:TYZ-4A!XX@ MJS)R4MGRI#=373-2IV<1?)1W8=$CR%*Z?+V1YF,EU063&+V4&_$QXL 19$EM MJYOF:9GCI_*\$BGQ99K*0PX<@3<8621[@[FZAP5/8 +5<6' M:FI0-SE&2E&CW*RW!&VOZ 8N_D36)NKV0F04<6OBQ :/FP^[?B *4MU'S;I;$VN9-]D-=Q]H0MFZ0]-WH=U>9>[4P MB8?HFXOC=V*CG?I-6.= ,^>;.&3S'9];XN31SS',(9_>C>W7V1:OX4U1L6^; MFNN "\?T9UE%OI.;^YV!,17JX=\_J!^?[1C] M$(MOYC,WD[KD9(%Y2P:PS4SIA7O^E;F.I.TSQAQL9S7N3=9O]N]U(+SH[5G M0-/?$@RGJ\TKZABS_W_VOK0Y<65)^_M$S']P],R\<6\$G-&^G'OG1 @A0 @00HCMBT([0AO: M$.+7OY*P>Q/MMD^W;; U<=D;_]TON="=1GY T8VMV%$_/X!1(;2?SGC_#PW$5>$5 NJ(^_?5&/>P2O MI&K%2ZW^9VZXUZB?\T-+H3F_O^XU>N?G]V>NFK<[OU>GO=QCPD M3=Z:*O5CA'V(B^ ]ROL/=>AN47J_:R%]&R;!YQ1]["S)E7A;O?/1RE_*UV,' MQ?V2"?]N]*EK4CU>_[[X[_=M"MS!?Z#?/#RY^[=]+!^C]2+E7( I]>UD5C[- MD8I?RC<,OJY$NBR)77F1 ?H(!&C2R0UHHE!;8I-VJ4\/CRNK?T7%,F_*9)D! M6/J/Y $0:QH!!:B4JLGPI&D)R_/"ISO=T&Q/<>/_^]2&/]V=>YW]WR?[F/SI MIYX>)/=__ZEZ2_=_G]*X;2G*_L\2A)2OE_]AOB"02F@EBO*"D0O%38U/=W&Q M)\6_*D9^2+]T\P6E;\)4X@B\,T\((37C,EL<_O07#)(M D+__;_?M7OY)?%M=O?ON^$JY!J,S7+=U^,L3V,)>;P4N 7A@^MA GB3//7AW8.W9% M"J:ZB"2Q??)]C>)8(RV!C17 AELPBCR"Z^NT'[])8<7_J#WL/7]T04]!ST\Y M/_TUK^H01(9F%(Q4W?*1NV]4A?.4LN+0N31*685"#PJI;*;NG:)I!0S.%?#^ M^[:N!.IA2;T@ZMZOA[I?SNPS"^[M\.]/T*0X7K*P F-V)BTR9SD54V]$P]U^ M5_CT%]J"$*QV?"H=\&5X]'+P^G4F;2US@8'R!I)XGCW.O*D;,SWJTU]X"T#( M"TR*SR4C[T-+=_#7U<4>P@EW,%A]"GSSO/\V[=4WL/D:;\H[NEI?3C[68#XQ MDA\@O;A0Q3VTU(9K0W26LS%]F(U4FI4M&2LU91)MH4 =[ U@KU;M_8B>J)O7 MA9^)V# 7)H K]3*@;5:KU MX_M27_=%NGX:@FFL^M_GK7O#G)8WB0V?]9.W7O7;B\,7TU_ND@+>=E*8=2C6G!4-VN:P3#R[K[WAHBKRT8 MSGK06Z_Z[07#R^E)?T\R, "MZAS6'C(8W+XY=='C^!'J3(4IP3 P.@37OH[;CY0D>I M GKEI8V +1)^+'Y_LTZ.RK%Q+E#?JCH[G;LVE,E'^[*R9!77:PR7=Y1_]&H> MB_N+Y@](X"$8^AL/.R>=@K(">7T"MF% MM3 2;GP1[SGUZ-5\#>\?TB_I2W@6IGNH;VF4/74<;@CV65$>F)E48KK41X@6 M"#PSYG)M6D<_"/2RJ4MCOMR@IM H!*^L$#R@Y8*@L/">AP^D% 9XM;L_F=1T MR"E"6=2YN/TAI S/0HW3H'$:O%_4O=R=_0CL9-#9ZFS0]22H8_97I+8,N>%O5 MXV^B>Z^OX:D_"V*FOUIR["D]H=BAZMM2^@T@L(6#CX40;\!QT/W M%>MJ-\\JFF<5S;.*F]4WOLJ5G@2^]L/,JR/8=SO' Q=V[9%CE@XQA2P=M96STB(*H4!5@D#%+QM M[\7Y[43CMKAQ_>1BL:=& [DR#>0L;RY(F>4$[RU]=LP _0UZ3'5?<=-VU3&Z M]&X :(LD'TNO:N!Z8RK$;X%KHR2\SAN-"W@E0*\3KV9M4N(/X"$@^R*!'*JV M[856@()@"X:?^:;R9MPAC_:,&-E*!6?[OAR%F 2:LRW^SHCB__=?,/FONS++ MM$#[.^PJ<55&TQ7%5=Y/@L:U;?+'/N*W6%GJ_>0S_ H_;L L?FABX7ZYT!IU M^P8OGP]ZQS3G\KW<&!_]8K@-N^B[TGSG:M1[):]*43=*X#NR9YE=UH3\9AGN9YTATYG6D);]E_>E;V$S=T8X7F2Y^DI$ZK2ZKC, M9+"J>81WIS;'J5 M6D&Q6;&M&]&9;P_]=1J[I?$_-"K%*ZH4G32V?2..Z0TE]C],&W MFC_25>1D;%=JW\ =;CXBX^4D68^U0MTX%]MKX>#3XAL-X!M'1:.YO)3F\EL1 M3YTT2)P*="+1R@X+T_D^!V=6B?A*JP%)XOWX,_AONA\WN?OOX67[[W9NO/7B MWEYPO6R!G2<%> \+$NNVYV-?XO?;PY#R9J>!3LE05WL(OW!=G"=AV!TL' CR5P+3=_H"?PS8B6]5&#XK%N!C&+Y9=\F_ MOF\WW*1F-*Z1QC7R-@K'D^14U+7QK8%/?K%4,N'$#:WK!V\ R6@W" 0^BVK^QC'[XJNM.;F>O6;JY#9 M\T)D=PN)_6@IV94L=WN[D.2!_F&W/(X&1NAQQ>V%G#OTM0#@F;?7S5C,]'.2 M"AL]N[&8;^BRO"V+^0=)48_*K63C]I;&I]DWI_Q<_^'KUZH8FER6!D1DX[W'<](S28 M;GGU5E44$>R9%^_-F/_G]/S&Y'\UD_^M9<(WW'F-_@QOO>"W%X*OD=%_0:*! M01?:XZ2U940L3FC 14;;129#59%%O+ FD,>Z<3?H?PG_P%N#X171WZA K_@* MX +\%7-Y0$*0"B4:GD]P;#38SG2AA'^AT)!("X.?61;ZVE270O/S[,0KU+ES M^USM0?W3RH:Z_Y@$B7$'PO]L[+$;C$C<7.#AC;;L0YS+IA/AE1_@6S: OVVZ M3D @_J\[HVJ[WNC"3?#[ ]Y!S1&_T7#P-:W^O5UG5W!KW0_:=@TS^1/_ WI8 MO^T7JTG^;)\_JEE(0>+F5<.LY^V#$>/,O.?QTFM)V)U9^B(N+D0K\S ML="3O!$+)@!_ , EW]]W']SME>CN4'Y+ZZFND7NNN2R$S0\,[#%8&]6YU&;" M!?/*;[>^\*QB4$RER3:("CCIWSM+*EY9BW370=>QZAC2CD*R3&!LB2IK,P$ M@FN+ $)+0=W!:>$F9"G((;0%7 +@/9?J..P:VCT,P0J&0..RNUK[ M_@T6^>;V?BV =5O1ZZ^07:FR%V)81.CM3M[J ']_6F_\Q=1!&66#%>5;T'T ML0!6@]#WYYZX.2_$ZR#T52[?'T$T9 JU+8&.(=#VV3[.KKWA6A%*B&*59O)^ M\N;^A@-F&CT\JK]E'\SG53S? \'AG;ZP0#B6\9:!T->D1>9RV8VZ87Z!#\!X M'T_XX>[(V! %*/+ ,X;#LR?FO3MBON7:DTS!A;&'AB,\AIG0I&0.WF@H1Y0J M_!68@K_ IW9L:"6OLB#28\-_"J,>L09QE%(/,Z0]!.AP 5EL(*Q"OR8B" M)YF"7]_'Y=3:]K%]OHS_'%3_D?N'?B=AL6PD*8;G0;Y3$[W MCCTE.AM(78>\:7WZ"RO]F/724Q>1\_.#D?C'[FG):Y;D'2>T"@C28!M9UW P MS@?\VS/1>NIYIV:0P?OJ[@1@.!4=]B9JC]8W<=YKKHH_[D9VF-IZ]0+B;E\= M),,O-.2?J2!7IX-^"X*O5C7]O*B+NFD%!WL=&HLHY#!'\4%EN^RFW452Z!\P M^H.;Y!F>GR90WN2"W(YOZ+'GB..E^JGB"\I9*VYAR]IZV_;OM',-QL9C>[7W9!-3N;TG M@5^ -BUPQOKWE4XO")SQQ#=( SVN))&*^QAC:!J[H&08*6,K&(ZWT"?6#VK0 M>A6Z0!-?N4'=X.EPU8XD*9B6>Y!RCN'B;+L+1Y10PK74#R"@A>'/?,_WSF(M M\\A0XC3*'T(M2EEC*$ZNTA/\^*%X6$FE+]Z'X*K)771QA!W$WO)3SW$X;]L# M \-(MJ+UZ2_T$3_Y368"/8\MT^/RP$>9/ 24A3K44^MD*6NAS!IH@<@CCM ? MN(\KGM7<0JV[XM_LC6*(@^$V#X;>DY/HFE;_YEIQ>;/^X[84X0O2XD>F]WC" M+%UNN4&87 >C-D$BIK@JKM:J90?8(H!Z:N7%5^4-UF_4C79-JW]SG?KEL/ZJ MJL&/P#X=N.W3?&,"3.@.1@-ZX@MHURK!7O85PPH]FJAK!_^\*6?;S$@4VS?T M.T.)_.*KFA8>UZMFO*,2&+?N.GN #7./&DK34B]URP2OKF':FGVI;.!84N4A M==H(CK$!]*,%QOYBDLEPU<4#15OD$XML-7"\"DV@Z>)Q/9?ZW\)C"!)B.XA0 MR,F'X6@WTD<>H0HE'HOK'45^@L<;\Y)]&V+[PIZ[H&KJH07>/C*VAA_;!^/. MKIJAM.Y\(RE='.<_ELV^FIJ?'ZKFYZMEO[SUJM]>-KY7$2\86_QE(0'P_G;DIWKF>!''C$4J[XT3H1026%48 WRF M+G5M*M.Y^'G\K IP'T*TO6UO MN8DLE N^ZN 6 LCT7?JF:GU6*F22;Y5.V"R*3O[ 9TQ30.6FU9=ONK 0/GZ MD^0@,$]M$C;WJ@/%TZ4/E\?J%$"O^ M\HGH_>VG1C.*#8V^*^5O&'>*5D:]%#\OR_B5+6#BLR61!,6Q45+=+L-C=%"F MDK:O^)I=Z&I569>JL\P?OW'ZORP#/T]#M^.]J^3E<3#^];PY MN;9OM+?G<@-/W6C@Z1O]O[I]^.O?Q8^'43374*)2+&WOO^I!Z,#EJ/=""0#^ MYT5DR[>G!$*^R)5[V8)\->GJYW_^Q]>3KTO=>_GXU:KN>0E5HM(RVFID*$Y; M,8LO_E-Q,R6/[U>)DW_ #Y+WS\\BMF3#'0C\ :/_<_?5[R4[:KSTE&/[*XY] M\TCB_I\]?%9)U<\?!G'URN3/R'"5,E>]'/V;<:N-28+]GU"A#I2GHOCC_<(0 M\ \> M?%SS$SF8M\CY\R,VK._M;UU:;]V(*K4PA"GT_AYQG? M?3WENR]SON-[=_>S+@CNJ$E).9[.F$'QS]@%<\=.BC\S=_^0)I3498M__,^O M&"(3"@KCIDK(D%+H(PBB%1L-&H ,$)J!J AAZ"IVSPWE05<86#2L=J3V6.*V MLA,0A#%!!4$N=)GO*9?YRAB>7&SK* ..E2@O!JI'Q6('*2EK\YP"W8AKN\L1X"4#?3ZQ MN[Z!404E"'Y/VLUMVM= 9 H8KG_<=5UY/J0+.ZN^)&FXUPQ-W $ -%S MZF24E+4E)7N<&/8&G1T0#E4-1)F.RI E96U)K"2.3Z9^7 %&SQHAZU&''=-" M05E;4F=.0]QF:>X!'G7BDWSD=P!64M:7M-0\>#]=K_K,4A@MYGR7@GN9("/U M)8U[3)N/UZSK&(?^<;:R[218"#):IW2.JL]T(MUV^F*Q^<$HZY9-0K$Z9>:V MD=E4[U* "'@.; ['\Z6:R7B=$E ZR#@64)01T=[!ZF]EH2U2,E&GY'FXVU6/ MHSYCJ[G(9H%P$L=48:_7*,D-)7"+Y!@!N1O!N B[ VE$R2!0)\W9?*>+L\[* ML5=!0$*4C .3 B!@G51<;YR)O)8V3FC).>9W?74PRTK;H$;:UB!MNS'W"P<[ M*C)_Z#F,ZQ>C7CA0TX[BBJ/9X23UMP3M;WP&9 _%J!%<@6T'%[=3' >@99?S;=UD +LB MK;%@1I(>E=#9#.!\;[MKFZ 13[.2M,8"^SCB'8H <0G2#8E4,MUD)U9)6F.! M1T\4%-J-("F4G+6X-<>VHU6CUEDPCB"XK[@DQ4#B::>/4;7?[1:3O8 ".,0B M!UX&":.L!BM@9B@\TA9*TMJZ%I%Q%(A$[#'*,FFKX&EILANK)*VM*R.C4"/Y M8"5!S@K+%[UDOEA4H];6U0T/(;SGTY$$V;O.C/ 8- NK4>OKZK/%A06/ )K) MNTDW/&TG0V16K.L"9N(!AUTEX'47$'7 MQ28YOZ+\,8!%VTV& M^0L<+B^!"Z#56:0W6 6'J:3T77G&#V=<) DE:6T/U!,0S(Y0>@+" M?%\OS, M7U:DM3W@M'V .VP$,Z*((J9ENYI8P NZ<&%U68&>>QZT8;B]V[%TPY-&5C5J M?0]F*D*1!"CN@/04D];.M0.3*-9U0<+(CIGY.VIU!/JY*./KV1JVP&+8"Q)F MH%#)8"5T#<>>M3M6ZC)@WRQ&O0#:#;:0X;Z<]J2066_"Q2Z5.#PK26O<.K05 MHC-9ZKC#8[LUI0Y$_F0*)6F-6[H6Y5-Y."$<8Y2AQTS0PZQKE:0U;BF939LH M3_-.&_;SZ3%='4*KFNMG;E5.CL_FV=F+59AFKK*/C3\??OE:!RRMF7M+IE3# MM;/Z_F"+5J:3DB;!PP=GNZGZY!OSZBM/V#U-W7Q-HH>)W7\A>%:AGY8 @Z"% MG?68(_8KV^*K\8-B3-,-L@>K_.'/[=+I]^?9&"T+CO[4"+PWRZLO?B!5U#AP MT\1X8>/OQYX'\+F>A_N?+QKS;S;BU3;B\0<@S4:\UD8 ?R#-3ES#3D!_0&"S M$5>P$6#E66TVXNTWHI!->+,3U[ 3C=YT+1N!//H4O-F(5]H(\@^B49NN82.@ M/^#FCKB&C6A$TY5L1"&:X&8C?M]&//.YVT^]?:^W:N(9J[[IMS2_M&0M<,L/ M_^\3^NGOWD'H'^3;YI\3OYCO,=]&AG$W+OYB&]\QOF[H7RIEGK,^8*#U\')' M?7]'IL:2MSA#P&V?H8GM_ZTC='7RE7C"P:G2S,J"SK96/SR?_OJ'[=\EVR"- M%5^/6W?&42M8<;!U\]=E[Y.B HB4=*=D[EVQCF=KOQK]3CK!#OX,MP#R:4VG?MG%M^=IEQA4\!GY=F8&__8*O268 7\L,0#:2SF1).T,2 MR)?C'J3E[8F^>FN9@;FZH&A"D#A0:BF(@?+Q/B]E!G9N; XW%1->M8K*%105 M>3V9<8[AO_5ZKT)D@!?5#'XB'W?;9),#=H(,,BMA>Z,]]<8B8Z!%O38GVZF3 M,W-Q9P^'\'I,%2*#+ PK"&]!P&OK&2]LASG\0;P- MLN*GL5>*_3?<_$XUW""[V"[M0VA='ZGER<\>B;PCJ?8J#I<2A[S9#P*]*B1E M1 =;,V(QC6>!$K(L*UT(\5+JMX_PWE3G'4/2TR6 MAC<$MT@,?H72\&^1%3&- CW5DH++A\).WI(<0;VSXWYJ5\#R(=_4#T F0%&=X7%IWCZ$WM?(2XECE6P.()O_@ MM6.)[PSBC4O@=R<1/ _A?3CTPQ2?;@&/8]=9>HHH?5 6S"4__86@+0QML@4: MA/^&E("/A/"7#OD_#^%SFL[ P0A=,.WVV!)S6)EV0:M >.EC@)$6#/VTP\K5 MQ?:_.<)BL>"X=5=\YAA)V?VDC,UK]QD0=W&ZWP?11>?"A] ^;ME5T'@$WM8C M(!JN6R8/^?KX 5P_EC,!*'L[W,/;3+KWNO P'RTPGY*QRAU ME#XA>(+MVCU MW[)QW]CP;VO#/PN4Z^5>,[6QA !\+,?RF!]'&5!VN< J'QT.-8'X#QKT^R@7 MY:M8W<_"9$0)X$=MVS M?3M.HJIP8>/);^+QC?7]=M;W/3(+ 49]@\L?2S%["O;&G]VTFX]^DU^1P='$Y*_3._!\C&N&R[I23@E V.6&XU2F#3TI,5ZZ M"(@6#+YNWLUM^@X:C#?>AE?S-CP?XW#2 X<$%A6/PM>(+"755WB\(* V^G*X MC=/)!%#2.4S3NB ,VYE,E-X$O(604!//_Z5X_EN?^Q>-][_UXJX)U"_K07@> MJ.=[TU?BV2!VJ !E,L1L7FVHZR M8*&<52' P!;QZH6(;]&ST&0C--D(K^=+>!JP9V..=Z>@S#EVTID':(_T;; $ M-O;I+[2%8Z^+ZX]^8;_/X.1'N:]?Q9WP-%BG!R8<:6:8%H)EV::)96H?CE0Q M*[)*+,*PISG\FZ2#!M=-TL&K>!2>ANNN;AJ''3L].?V)B5!,CS)]R"IF57D2 M\!8&/I86? .)!FS97]*(DSOCG&S11"QNT-AO;/JWM>D?0/3CA*7A/NOH3-OL M !XZB?"3OQ!WDB6#0&G00TCSO+]YWO\AN<[=F,QO:C+_'(9+$:K!Y6W>^T530?^&X^%OGRKQ-W/RM5WT5TNYUXNHEHB>! M'WSKU_LB_ H>%$->:NZ#6(MT3:1;@)N-)S %^,P@R600+&USN'GW_^J1]K<& MS=M$XM]ZU=_$ )L@O.M%7Y.D>.%T@K\M*>CB'YANE^*=D)NA/6_AZH9728JJR<"CG<"N M/<'@\HL$U2C8:MS9YS\ERM&X^"KA0ZA#3=K!NY0YKY1V\)"YU(L"CR[F8?MI MP4_^\V.?3H6T,]V\Q!ES3"*EN!1L7XER-C&\N)!9Y0JBH*KX^N SOE0@\;08 MR@;K& ZT'H;&0(39M%/8/M#]FP20?*P72I/%T&0QO!M8OW06PVO".ESV:(Q7 MS53*-W!(+AE:&VI"">O2I=%"7J:U^0>YK&\Z&/M1[NI7RHEX35 G^^$ \_)T MR6#40$JI>*F%5'57E_D5+1A[FJ?R0[@9/A:HFPR+WYIA\9J@W@N^')&P;DO* M"J<%0>WW*+NZJ:O'"$@+(M]KN@;[V57PD+-Q]P_5\ W33O[9A%B:Q(TF<>/6 MO1B%<+SWE7;.N+[4)1%VL]4@6^<"K10"H:RKT,+QNL) MY8W:T,1;F\R,6_>G/$5KZ$QI$.D/W*&4CT;.:M.+%]ZB$@[DI[^()_M"FER, M1C8TN1@WY)9YBFR8L-+";V>=KF/@/D "NCJ91I5LJ%PJ+1*_Y?(.WV5?3(SD M/N>B">#\?0<(7 !7#U+5-=Y&7/WW2S6/>(.%785(>A4G1X&]1^O,+ %T$_72 M[BNWBK1,:?3:"C:?AP M4Z\TKFN3;]-&ON'6!]>T^C=_VG!E_/C@XOZ*,G_?3;N Z]KCVS3$;OB$7]'J MWSP[_E?8<6.QR(X2VUKC_+Q:.^,W1AEOR._1M0^V;E1>C\IVCN5,&[9]G:9. MCD)TY.E2QJ7C['='$J%G^#X>#/RI$8GE%"L@??:! )]]()E+QZ[(,ZK4'@J& M#G>6(KJQ9! K XK 'R\3BKA-6^GZ3:+?&"[\<&A\=DCP)="8=I(U3(4'#X", MF1Y%<:\]/*,1J]#X(M']#W(WOKK*^OOB?A\'C'\WMO<28#0%#9H-EN'$P:0N MTT\ML+VU*C"2%1B;M]$?#XRW]2SZ]X#QV4&ZEP#C#)4BF\0LGN&RD9&AH)EB M:07&,E97H/&9Y<]N(U+WG37+0;NST%[;3?PSM"-X@Y,;! M<& 9N] 0C#!-[&8EM)]CJ3>W]HV&HUX4VHW1__)&_R/([N) =Z%W#DPXD'VU MOVSG"[RZM)]C]C>!Y@;9C0?A+3P(/T9VLMJ<7&,;B( RWG;]L=\W:+!"]KT/ MX9EET:[*55",N33*W3;TME+,3+&,8D\\+RBA'&C.79 F<9FO7:T6ZQ]AF/']#CK M;J--.MEF MEA3BVXF[TPX?!:SH-GP!HF@GQ)=FB? ML9U=;P4$1PA8626L2_%3>P;FS^M[?YGP%KT3H1'<;43D[?519H M&B!H-,A*6)\[+F,M GFOE83IP-M'QM;P8_M@W/<-:FH)-ZD2M^5;N*Y-ODWK MNLD*>!]9 5?&CP\N[J\H<_7=Q+6O:X]OTSB[X1-^1:M_H2;+J ?E@$WFA\[C9[>*X<74K(:?--[*YQ@E M:A#I1M0^$_\)[H]W<>#:^MU_ =7_7W%5X7%XE\%>Y%;[)ZOWB M@+F','V/X'F)VO,:*5^??\$P]1G"$R/AS;ERO."Z,61GG3E(/Y64)7((T9'5 M[Q\S&4+*""(,/.:V:>*'/S?@WAHQ+R<.\+=?W#6)@Y<-0KZ:.%@* (ENUI0% M>,@P%);YRK!5H10'V*>_$/!%(BD?1#LH-?RW1LS+B(.S*?O6:WM\52E3@H0[P(\)>C.\V_OZ7#>^^M1#Y>5;*;X[\OO6"KT)JOHIWY8+ ?$3T"9(R@8;8N"MY M?H>W>RME@*\I&4)+%PG1@J"G58MHXN*_+R[^UE!Y7=G0N%I>T=7R/-E ;O+%JE;, ^_86U(/!U"]%^=+WAZ@RK5VA1^];KO0K1\"I. MF.>)!BB=(HMA=LJEU!E/Y-W..QV/E=I %FH#^E@!VB:]HA$,OYY0\=;KO2;! M\+)>F.<)!DG$^6YX 'VMO47E3_C=15->X&MS^ M]@.C&<5>1M^GL8#0YP,C&L:=HI5^&<7/BZ-[-PD2(S[[,9.@.#Y*JA?HT._H MP"^F'9]_JP"@E!_W;%_Q-5MQ[XJSE1BE]RO^XS>NY?>Q5+?CO:ODY6DP_O6\ M.;FV;[2W566U/Q^?U)?9EW_Y5&FMVX>__EW\>!A%,?C7IZN=__L?7DZ\+WWLY^=6J[GD)52+3,MIJ M9"A.6S&++_Y3<3,EC^]7B9-_?); ?WX6M7!UB('2A+W[ZO>2'35>>LJQ_17' M[B5TVS7,Y$_BRY\KR5I]$,1V*2G^C(QS.EO&7W2 MN+(H MQ\WO!L5G99OWUEG0%E==(3/5,W/.BZ/Y29>9B$RW^$7D1VR7FC-=<5[\'#.3 MN8SO(\QHG'$T8B% MUY@GR- %TIX?SMTYK&9 WUFMZ'$74U ]D^$+I,FDW4YFZUB6.$'+<#6!M6%D MR8@,XM^3B@9[C-M]@7*4?;93PYX]-<="07IAU*0+;01GNP+RXQ+ 4E67VB95 MDF+?DZY&2[PO2="&H0\)1AKS8W[H4C(J0]]3FI#?IB/:QP"L.TF,R7X[%@L& MH')MIK&/$A.N=^8TV)T"F,\*RMKZ>WG*@)ONX "TB0,!AALIM9R2$OF>U0-@2%@K+&*"UR>^-#I]N5H%#0?%X\;1=:.4^RMOD3:V#EBRAB MC%44@"<VHG5D(&?6 M1Q?K9\HM[RFOM_<^#T(=R:,"RRB. M(3CW*M+:GGK38@-Q/4 !FP/P#NTH7@^I2.M[NF@/J3:G[B4CR+)C.D".!]&2 M\?J>XBIM '80\H5)6C('1?E1.M,978L MH26$GTHIN8V-B9(2_9YRL]ZGM.OUS&*C-MWE M $^1?<\J*&N,HM)HHK(LLG0\=Z53JXVWD!VAH 1K$P6( \XFL]52"M6Q0@N] MJ,?I%6EMIBZ==F=0EE. 3<7Z:&AY_7ZOG"E8F^IH@X#Y-IMU "PD)1<<3?$H MR4K2VDT%Q(O923ER)V:);A;8&*&">5IQ"OR>-$SV>+!:FQ3#94R06,L%:454 M88O75J7-70XPU ,%T#'EJ2E'T]S)*BAKB^JST0@1O8,/],T(%P*XH^V')65M M30 \3KH\ '',,EKM-1\X312YI*RQ?Y*,5Q"E(S-F&88TW!FX S0NYUEG_WZ0 MZ(-H@NM2[H%SH>VQ7K[/9/("^[M1BG0 FN>**5B2OR7%B%0JTMI4,RR<4*HA M>1+7V;%S>+<Y8P/0_+2BQHS.')6*M(944O2S4Z=O3QV% MD*1)1*@V:@O%HNK\!WA-(?G],@"@'@'91PC1@6+4@K0VU^G*4F;Z^#26Z':: M#9+07*?S:M3ZL>:8R0B;$H)C8ST6*M,Y8>(#+?MOH"Y((B4 73E1/ M(+.*ML;9+2KX V(7[0&%.!CM0R2<1H4$+&EKTR6''1#;P;$,&+WP"(YA9&42 M%6V=MQR-J?!2H66@WS'3@[3N6?-1-8$4.V@GW,$F&U77CB2#,]6HM85M M=7.MD7Z@ 9@JQF/^="230F(6I+5] +NHKD7S.5U<0_N1-P-WU'&;E:3U?5 S MU&^3&Q&T+50.VFD%]'^:0)U$:X&:, I"]E=8_'.WX/&YMNG-5\R9S M\M!U^.-HZ2K3&(&FYW%K(F8;[$@?;+>E@G8(1J,U,Y:D:MSZ/E 1J" G2B(< M>TDP2SOF;'97L &J[T-_NU[DLT26'-HZR9EQ0 9;E"I):Z-NUGUU0S,:#^3K M];+;#N> T*](:U?G8J5O)GMZ(CMB*"Z\W$PDUZQ(ZW=G/$P!3[+[)P""T80" MN0VOE!L!7;@\>73(GD###P&/GNW9Y> 1&P>N)K4QG2?!CK' MW71=S:%^?1ZF.;7G7$8%N)$_@F='?2@$YW%K]Z=E]]>=B;"=272PW+8WBG98 MY05SX3ISUZ!L,S/:G3IV,-F$^F!3 ",K26O'1LY.BQZXZ!1'P=XOO72[,9>A M59+63HV@^D(43X8Z$YJ."JVA,#80JB2M\6MYT(39WNR)#C3:'X78[ZYZ8C6! M^B$WT7CA[0F29>Q@S;DN"*M[*:MS78@;MQ8G2A+ADNL0W>; MA::M35=9$E#,.HI%^G*X,'@&4B&%5_)BDO%/1UCEF*W28 M3XD9(_$"NM\,4<#'Z&H.=8[A#:M@ZQ=Y)4A81 M:^ES*5>8\[AU]'2DS6$6CFD'.B4]^2#TII97K:PN%K+8BD-;140&@WJ*9*DT MLM>J.=0W8C7>\+%JD I@[,"IQ[) EW:K<>L;X>6AK$K[$P- ?4!)@'ZB'\ S M;8UGH:M$<-X=+H&EQO.@1SI#<5C07C!&+8>:&$+>\QU:$!EA-S=/JD^5I/7I M#FFH/UWV]+6DA .%',#%_58HY"5M_5JG:5L"W3$E*1O4Y'%() >C,VUMN@J? M[K!Q[#I,#K4='3JHDEJ>W0MFWBAYTR)0,-7M%6IF-MZATAR5Z:J+=FUIC'3*%MM5C#/*2F/$ MKI6OQ9PJ26L!;=E2235B&\7(1C+L! ML,5.UD.?WN\@S G=6";63MA'JE9<*J65N>8E?7"#KU>YDRH'_9#E0$AE:_Z M?-:69I/Q=.9;$XBA"8F*M^O]DH_#;K V M5T@G!*6\,+?"+-AAC"4\=$[Z#F?SS-2]+@5+WL()]HF=(F9\IJU--\E6V"GH M(S/'QHD5X& #3CV<:6LBSQ,G>7?#SMM N+)IWY_P=#^H>BW6]V&!MGEH0DL$ M0+/^R>%RU36T8MP+9A=N=8?(<6NLF?; GI/Z>+XG"_ 4I+51V],0P GQ,):X MA8R/V=,VS,&L)*VKY2YZD OK! /Z?JY+VRY0'+5JU)IEH"V=B83W>,0QUG,B MBH[D M:J4>O[<(P[P_9A<$ !XX2Q%J.(R\+VJFAK^^!!,>^[:B>6ENXV=';= M8SHUS[2UE:U.HP.[1QD#L.F!W\9DPNSIYSG4]FQ/HG;>G\WZDN(H,\D[,;9F MG6EK;%C82K(2"3MR^,*06.Y1,>U,J)*V;IULL% ZRH23.6U(W=)).M7-837N M!>ODT%/#]5%C)8^,10_<"]V57^WOA8C!)M5WNU%_[& ,O? 98SZE1E19>K V MA8GDS_&8[H3 TL#%B&/&XA2O*O76N#LU!";UW;G!A(&4 82>DN-%5="P[F%R M@RAI.+WZG[&S 1GQP%M8*0B"U';(>B9MC9=>;%UE@,< MTAC>@Z>#?I ,\%[%A MJB&-/9_AF1CL\+4+P?,!:@[SB0EV.)JJ/FUJX@9SE MK#V:K59:7Y4*V@M6XL&T'3QT"(2QDT5G+#LKW".LDK2NO?9/^YQ=&84ALTNC MWF%D%BI915KW\> M'[MT->J%.PHQD &W"DVF+T\%"B)(!X:J==7YI7;'CAF@!@% 6DSL]V"\"[2* MMLXO-99"E4DG.R>5J2$*P3-RJ&85;0V_1\O7V&S+!1*4)?T-'HSY#5;5:*CS ME@1T9Q?IA=CWQE0[%MT !*B2M'[&Z7:[V_%W4ZD_P %JLB'&5EZ-6N/MN@.H M@Y ?=QP(#6S\ '?7B%:-6E<;2;;+['*HF.O0$%S.]).5<'XG5O?%3 ]1J<% MTW;RTS2$XS83G)E0VX?3$1A VQG+%S(W;1N^.MS(6#7?^CY$J#6/]$479# D MY*V117'=5"@3M^H:TVPT D*0L0"N#\"*/D[=85[E>-4XYIF(%:HK@6O1IRA5.9L*T',05:9VY M@;GG)3]TUU)[,.:@Q8D8 :Q5T=:8:\CA?K0'+12 7,Q>Z>)"#*EJ81=$KB8) MS-&AMH (>12;[O8*NZY6=L'KR:T3 @_V.A".#@RA!0'4'E:T]8W8N>Q*FL#+ MH13R*.SHJC'3Z&H.%SS5X4K!D9.SD@R7&@$=1&0GSIFVQK,NC4_=+:=MI/S$ MG#BKFZ7K,C_Q@N7GB::XEM>P+*6)KMG& #M,2QF"U\5-NH73#;^8CR1NI>Q& MJVA!B$>A)*U[M9=00J[WMN/D&PZ:+=HG:*)6I+6YDO,#C S58W'U3=D ,%)& M".?5!"Y$%WSG&$1'>N7D:S">#]91W!6K82_LKZX.3P*8JXX"S([=G!Z0>[_B M07U_W2YY<&A+/0!+M9W8?>?8WW2IBK:VO\YI59+6U-Q"%]XI M-KDL5,$=X-!MP \36"A)Z_N X!Q^I'8&+"F<@D\4.Q\?N#-M7>1"WD;@1]N% ME(OM7-AR="=VS[2UZ<[0+#:' -H#^NZ8V*@GV-?.*ZNKHSMC)QEJLG0=+ ;< M[9Y05 >H&%971Q7&0-7.,4(S:&NCO:GWFQMR41'6FK6*+)/ MA24,"F7><=T-$2SGQ"&4>2-I&X61;&8E:8T+B#_C%6+598!PUF-8=P:* MNE2-6F/"@#Q.Y7D(J0XW57-I&8CB5JQ(:WM&=<<)I[K#!=!?D.R1&GE[H+#J MX4LFXM9/R>..W;*2XB\2N>N;V8X[T]:CLVH>:^!QL 1X;HQ:*G3LZW(UA?K^ M*B%,AQ"_3IQE.YE!8SAPR>@\;MV#9BUI<48??(F+4Y+9#T2>S\ZT=34D!LRC M/3X)4BCC:49'2X]!A'/^=TTNS(D] 0QLD_'V\V@U7=$:SE<;43\+JXZ0\,)1 MCYR^LL_S-1Z?#.Y,6SL+@&=YU!#W=( WQ]NU:^<17L[W@IGJ]A&^8XJRY!0" M9&OX [([*2 !7X@.G@[(H2_V(MO!Y*XZ/8"XAXI625KWD*H>&8Q/>< L%5+9 M]-'!&AE5$ZCSJ\>9.37/8(!&AOQ@Z#E2-*A(ZVMS9=31KL9M82Z@,>Y]G2'#HB;*=B M0EV.) W MZ]H;0)+RN,/[OE68M].L)*WM@[L[]?:.HKB,T;4L@1VVC0YCE:07 EB^OP16 M(K,$H&D_ /%,Z^$KH:*MS180NO'8F2Y#(.QO078]#L/9[#QNW7T6&GP#QLJCG4[[--?[Q!N84C2LJ" MV4FI,R(2*-1,GF'-R6*$DK] &:[ MT"+3K9"5I#7FHO"$X@!I=P)";L5;6Z[- R95DE[PQ;C=1.TBAS% #UU8A(^1 M%VRJR5Y(&W3!A8\MD[&#*5-JM8.1Y;9['K2(*W_F3F9Y,NU67*@S-P>(XU&7UB+3WIV+3 MB^F,2P%[/U'[V0!>'@="25K;ARCHTL<9;^%.[HUT1L?9^*!5N\0 MVGL)\TAE9H0RV^V?:6NS%9;#W3@^E?Y& C4\9[&C H&J:&O3/6'L5#0\<..$ MWM&#$\!9>_=SJ F;R6"7")E=6-)0)LT&E&/LRT@B?,E&7!5:>]?@T8+'E,P! M8(3/YTA!>\%&G$="3.N'H2]A##I#_53899A0DM:A,QAB$\!1%@Y-]EG003;^ M8E>1UD/@6R2EW"X+ 1X&Z<@"P&?)E"I):PK Z(@+U$H#!HRG&Q3)KM4PGE1S MK>]#CPF6Z_4.*<0=1@=)-*/%)58-6]^'MF1VMX*"8D"N'_"!.LGD%7ZFK:TL M78CZ'ACS \ ^S%9! .BXR)QI:WMV'.A3Y# !BPL"9$4Q9$,"6&05;3W=Q4[ .@+"%P0Q7C7K!^+6D\.?79(P%P M/KSM3?83>*)5I#7N4O&!26*+WP#*IKT;R-0.[A2Z/GS!4-8%9C#789TMU(K1 M865">QFP*M(:OU24%P8#STDD*%\Z\G:D!3Y<3:!^%DZQEM/3-K5VN.-.B [# MD[65JV$O>"&TH1B*&\^0EH8W'ZZ"B!6[YW%KTUWY@^4>=7' "5E*&_DGF]]@ MYW%KF!2BS7R=M[6! QT)Q^\/QL)\6]%>B.Y[_;'8W26,@_67< _S^BI;V)/P M!8-6FQ\<9.UG2X8G5'88=O5H9E:D=1.1F+D)%]I+ACL-L2BB'$\IU<8+!JV0 M=194QF])AU=T<3S?3".XU+0O&+3R@MKL-9O.'*ZO1UMYM%63I!JUO@\.M9C/ MT5'@2X9TC!@O]T+C5$VVO@][<$^='!I(F>5D[?1FL28(\'G<^K%A;+8SVU$+ MH!U@XI$0^DJAC51,J/%6HF@'=;P="MCN>,>+/7=,@]6X==FX/(2CM#_8VXQH MRZ>^IBM= RK8<,&@)?3A #3\TT)2HLE*7:,KR\.SDK0VVX%/2WLTM"4FG:JP M!T5(-RDE[@6#=LCK],VV-N3&Y2?2H2Q5'8$]KBIH? \^H9GLAS5/E#^%P:8P8D83 *>2CW4.I MVEP*YXZGRXYV&"Y2)MPL]YD0*9[8/]/6TU+0>#81Z D/].W5(.%$K#M3BSE< M".=244Q8G1 E'%J&O2T9L;PWITK2N@( 3*W9T)VS@,'L5N)\!O4Z)7,OI-H: MN3B&S=#S@%#FIDJZ6J)E$AY\(4C,A6NB/1ZK8Z#/4= J(7J6-*]&O6!M,#M? M,(>]@:-$1VJI2'*VZE3KNG#QP'LK2[0^!^2+P4S%!=K<(=44+FBYF+L@9@ZZ MENA@;PFG 3^#.F?:NE>N(R)IN.F,I?2PW.).RI*K[9EAM7TP7!O4,C7J2>WI MX2B !!?/1IF,7/ ^,;"*BR2*<#P-K[T=BX04H.*M#9J,O&"DT5:FL.M@R4: MZ@)^/% E:5W+7;+M^7Y!]@ N)W8+'U6YY/^S]Z5-BF)9V-_?B/<_&-7S3LQ$ MI#WL8$]/12#BOBMN7PB$JR((RN+VZU_ K*5;*S,K2U/ 4Q'3DY7>@NNYYWGN MN6>[6/34,P-@-S(&%$D(,H:F&+5I5@^5EMT)AYZO S&J"=UI"1^+A%-JU@_& MS&UYT0S.UV$[$85#<+)?&CY_%#OSXG):J\^CL6??S'*1,> I3#$.RZ'3:1WU MX< Y/?<<.]Z^NPZ KDBHK$QZ]$YTK=EIOF=B6/>6"Z50'AX-O]7!K+GA]\EI M]-QS Z"YJ.0G_;V]DY2YIFZ,4G?%H^BY%RJOFOW:G,H5!YC?+=?S;M=Q+>4T M]LP T$QCLZO-<[I![&2V7Z\K<^L8R.&"!Z WM!F]/.LC;'6P)K7^1MG*@?U. M7? Z!Y;FZSKS2:F4XOJ8,)5>*1$3ST3F#_TZ]N>0& &L>1&?:O"6&XA>NJY M 3#N;SUF[ VQ6G-AY7IS:CLU^'#HN2YD6^5%H]L07%&7"-$PLN2,Z$0SN* + M-?'0(?O"$6AT1&*T, 7-V_D]__3<,TS.*EJ9 ML#TV.$@.].VFH_5<8M.)!';&H\V]8NZ:\YXC;?;98V% [O=4P O4!0] ^%M MO5 I[[%6I5H\CJW:SM)VX=#S9$1#KLW7N4H]^(+ME4$V%HQ5B)YZ?NIC-]N) M/QM.Q0V)EC[;:9A2=AX./7>Z4HMZ=D9 MZ4BM34NH-IH[>U..)GN^#F/E(*GMS<(T5K:VXO+S@F!GH]F>KT/+;U>.7$T9 M&JUJQZ^Y6;-=[49S.)=M5MZ,M=6@3XBH4+60L)YWFZ7HN1?RS^BR2F]67E9B M92W9V:3+L2OVQ)1ZV>Z4J MLV25>QY[)ER![0_-L=]3)67)H/Q 6=2QXFGLN7#;76F4I:RJE'6;#4^ER_B^ M$8T]%^Y@O:+Z'8W,83K>WGA,@\SEIJ>Q9\+5,)(]ECO=MDC@O3:Y8=W.B;@]QI[3TR1P;#3W/HLTIOLX00A];"2S%Y/FFM"SPX=!S M!FDT-L1(J0U%H>#TN(6R(6:!S49=.M8O^%8[X@< M/O3*_:.T(2JHI!-ST=M%0\]FJS=SB\H:&:XT;!P87.8'9/_0"8>>YP;0HB]%L+]#S>!W8@_T5)0ZI3DO7S)%C"WPT]HR>&T/3<1BMW\(8 MQY5M-[]PF%KTW MG"&\QFTCMI8H),[3D53L!<8K=>'\G:-EGU[W[97A:_Y. MD>I3]YB/AIY[F6KETH'8EHYB=E%WR$)!03V)#X>>"F@T[LJ"UCOMH A=\8LW^>-4V6D=1'_'9TKPS MJM?E733V;+8<9^?H=CW7%$M'GF0&=AG#K--SS_TKO%\SG!)3$@_3[,BKX9U* M=1]-]WQ]6RMY9^WVE&V4%L@3VGBI4>Y%<'9XG X8/%ZSJZ6%O-PZ'F^WGYLNU.[WS&$29FD,;9NA17@ MU(5#]81I;(>&QC7$[+9H<>*PW+*KT03.3&(TRYHY:[$?2*6I0/AYJJB-.=K 8G5)@AMV76E&Q+3I?-WKS8"7]D M9_GBAI&-;-YT#F)C--39:.RY26S.1N:XO5YO#6*M]WLB-FP?Y&B^%XIQUP;1 MRS6K>Z.&1HIH$H:O2*?G?C&)HW9%7SNMG!I3J;9I*FL7_?'EA^_;.H0-2IZ; MDX2=-=131XXO;66B+BB*[]E??G%J@Q+]YB^=4KYK;O4\YKP3C>=\F=CS"_%3 M5XPW7NA%_$Z_>)'?=^U"OGN^'3QS9MJ[+PUVOOP]&[;Q^N/45V87R.G5OB[/ M'7:B%W\9JDS=8,_TT$?T<\%^Q^AO'5TN]Q3"?[:GT/-_?ZD5/?8[_6*S<%B7 M^ZP+]3O[8O]B6!? "ZP+K$O7KQ+%]8%]GU8%\ +K NL MRSMY#.RQ&*X+X"6>ZP+[?CS7!? "ZP+K OM^TM<%\ +K NOR4SSVXAUQL"Z M%U@76)>XKPOP6#S7!? 2UW6!98GALE"_YPA8E_BM"]!87->% [S$<%W '+OI MND2WOD;_>_<"O9:H_$&7N+Y%4G1X/?";9773]+K;WX7\ O4&70$J)DQ*P-^A2 MLJ24,*&\YAL&U0& Q4M*\?99 Y[BHRGQD9)JF^$O__>)^/1.B07S>#&V^LL2 MHW\^0#1]L[@^?>95U5_YIN(A[<__3$&'/@YI+\?DKZ(W5].2?_Z&,]A_S_][ M)95Y*')^>UCZ(V/0B8,/A W!+P:ZE#8I)4PH$((&BQ#(&G0)I)1$*4$0 W0) MV!MT":241"D!>X,N)4M*"1/*0WEE8ZXZ("4(08.FI%%*$()N>0OD0/ Y3<%G M,'=BKCH0A$Y,2"PF&@.>,="E!Y%2PH0"06BP#(&L09= 2DF4$H0Q0)> O4&7 M0$I)E!*P-^A2LJ24,*$\E%,'WUDDS^I5L9;V'[KF)IH:,R,1Z67]:5+^\4@@=,'3UX1QF96Q1^R?!] MBN5FSU_ZEDOEKG>1')[FLTEOH3C(O1Z;@[I=D>B)7)I5CU_9ON4EQ9!(D.H! MTWT$TX&Z7?-@3:19]1Z,Z8"Z@+J NM*A>D!='ZI+:58E05GK9XDTH$N@2^^0 MGJ@X5C#=Q]D3[ZQ,=*HWN>]S1?O*_H%,K7NK5:KS/L2-KWN'5X,;4T4UYDY@ M9FG90*:V\\=OJHK0;/;?^T8]V->B'G\5Q5^_>EXQ%4M%&<7-V+-,5;%\Q3ED M\*<,@1'XC]#ULX*(35[INS.T0QF_+]7V6K*Z>4TM^XJHB-_IOPLK\Z>^#V9I M%1U%#UTT^]\G*?A![GF*I2F.)KO1L5@V*P33WXKD2F2RM%;S=7$S M$/E/ 4%9X8NC?\B[7_ M'F:'Q;"/Y??($5&)8VUJ-1@5A $GV%OTA]/&67=I:J/S. MO]EY&N.(0]$?]L?21N3)V;%@$>5B>)[&PP,U_813L%G'%6FP6=^41\Z^;N9? M\=JK/XY#+FW8@B\S4>'+ )!GMBN'-. M^7>B@0*DDAQ2N6V/J.2? +ZU= O+;"O6<[+*,[,,C_NJJ_!+4=PX_$$U-#)7 M./"W/0I4-HOIP+ 7.X-93BJ3T6Y:,R:1C<(%1P$B(!0V!T8*\ GP21SYY$NQ M]9=$I6.79U%K8&HNR:V63#=G328W]BG4"]NN^-U]2BVUB6N/?3V1=.) M@H?XI\\T]92C<."1V/)(JFDD=]MR^.33"&^K>L5233^42]MVPBGQGN?H4]]3 MIB;JVTW;"M_GV*89#*F$&4S(]9[I9CJNMKI]9M(R_&Y[PV?KJJE-;NS"S([K ME7)-7]8DO5G%.PUF:+AR>! BJ$^?\2<,![:)+]O<^.(\L%H^FFZ(2I$Q:UUR MB D#9#M,S^C=.-6![Q$RKF_Q,VM1ZA_E:)95B+3(XV$^?*9QY8G+T"QP0 MN_X/KVEMT790,*V,ZCL.LM1#QG,4RS65:$$5;>F[7DCT22BPCP&9I2'P$O4U M(?X+*WZ+%;][0MV7A/CX7VUW=]U-O>D%; 4K'F]/X#79*GYY1*"[P%:PXL!6 MP%:@NVG2W?AYJD!W07=!=T%W8Q>CO*+JWCD>>?;5KIY[6?"=R"TMXW(4(,#E MOBV3S]$"_&.#D[S!" V;S/<,H>RC!N;YN4'E_;D0+6^!G'"F#EH@R]6WZ-36 M([S[[=E#+SP[Z/NA?_XD4-[2^M^\]?Q79WT3>:U97]F_E/)9'3'=DD:-6$/? MUR9%O:/;_G GS?/N#%1NEX\UR6C*HCX[ MS+JKHU%9F^^/5WX\*32+0ZJH+"9U3&FI%,=N^G6EU@E)@7V5%-+3'":*$V>G MBHO"1D&K=2#[4S@4[<.?4:(;+L2 (5-=MO:"M0XZ\H -3'Z\O::ZB\G'P"#U MQB10)>C(PY1]? A5)BJNDIBE31$,@"I!1^XN*Z!*@ ' (!XPB%]$,-9QE1=K MT1=.HRA*; \7E4%NP<^H'*\?WA\V^>;==/OV#]X<==.)G'G"=[Z\+@J^A!LL M>@\Y6UU%[6!=;*V+5'MN14\9**:/+G7?\5G#6!1*>]$O4/9PU,JJDR4OYZ+* M=N*))CFH$ .Z KJ"73N^,$@_"F)8FPTHB!D*8AMW3_5FD.B(_!WL3>_0ICK, MI#<3D::J4\X;+O:576!OAB'YU^S-Q%4CGUKB!6^Q52.C1QTP,_XZ"KTC1]5= M%-[(Y% '3CDS#_2Y@ K#A4^*0QKQ6VADJ>[P%:/MN+ M5J"[H+LQT-U']S[&.'+^ U]"Y(5\JRO!6LWJ/%U95[%:?6,Y 1"TBC\/70EA M+/RMD?"X 00X S@#]KN/T]W4J&ZR8LZ@NE"Y'6O:372@^!KF55/8<]A*+&&B MLN6+AHQ12RZ_BR(U[&OF57J*L9O(R^A1V7NBRT1C0&_7+9"9VHZ&G.QI\!_X M>I]Q;5/7,K]AT9^XL0F49<=*ATZRNK,.W3T[B[R[".()H]1;FD#%H$-QT:&3 MK!Z=BN^_&P&,$@TCH&+0(:!BH&* $< H%C"B[BX"@!' "&"4\L#)=6X6IYO% M9EL3LN*PW%F;V6W./^KO3VYI(N];I]P+D95I1:;KA>.Z*]6L#N[Q94L9,SL9 MQT^WBC\Q% 5-'&++2D!*8:9!PD@)]O:8H8B[OP[=&T:PMW]L4L1KV_*2=JRA M;W*>4>H,G)I/C2H]5172",X]#>E/NK_01KJ4:WVMWU6U8KL..) MJ):=PIXHC(!Z]L>H9_]'6DO9K[SEQQWQX:,7P1Z('/ZA[@3VR+CLD6T'S9#C(.U[T$B>4"17*RF'U2CC..U5 M\IVZ>+-MLE3RV[V\1%#B0>>P'I,]"*P7;9.!6HU+K2KMD_(J2 M8[5+?@CFW[)1CE5OI^U7V;:D-*?<3F\3B/;X$/DX%D(?=DK8*6.S4_8=I+B^ M3JG/'&G#6X+B<;RF\;]0^_SR=KGN>SXF]CH#0Z"8\7PR MR9>-2;1=XN&QDG["*=@O8;],SGYY]JVN?B]J4H!_:<_4?W09JF?D!CQWV+E& MBS]4QGD5,T6\$_% <,PD&.R)X5R-,<9HH%)@#- ?@?HU/,=; ?PR8QL<(^;ZMZQ5)-/Q1+VW;"&?&>Y^A3 MWU.F)NK;3=L*7^?8IAD,J00O#@[SWC-'X#;E2ZC"UL3L>K=>R6N\;.>N?&#X M.T=T&&7,3#5-DVH.\O0,M^^DP1U!.#O^3E M2T^#G:+MH&!:&=5W'&2IAXSG*)9K1GF!&>7KA3?0.24>F;NQ#"5 =YU8Z (= >"CL1!1SY&5HD4 M32S=L "?6.D(P ?@ _#YM48N@)X'S1+XVGF"^J[S!".3V!V2!FK+H[61%YKUE?V%V*81G\3?!=!$ S%I&>;HR5,5X6.C)-1X@'YQK1$X+Y[ MM=\!\DN*Z?"QY#=:2G.>S)(V)HST::Z0;=?'N??G0WP8']5K"P:?]]N"@?QV MR:^B;+6XGD=\Q+[&1XGKWA-EF62GBHNT8&U7ZT"RIY0)M ]_1IDD--6( :6F MW$\,*YX,D<19 DG+60##$5@.5AQ$DO2Z:0 !T!ZL.- >T!Z (/D@B+,$P.EW MU3X)1#^;=46BQXFU]MS=5/7:9C)_?Q7D-^>?V[=_\.:HIU+D#1.^\C9ZBHZW8+>1:H]MZ*G1!>B7W ECB:]D:6X8]GP:]S&;>[[O>V@(^-4 MU'6!>F+QM]W0$4LD CD!.<&&'.,53U]J0AHR$$#EDUP\GP"=CR'-)SKP? >[ M,;FIZC_U$4Q>(NM&AD]ZG2:\==1 M=!HYJNZB\%:9TZ?V.I2"F_QZY'2D!L72!WK]5L%7/0V?WTHQ(.=CWL-Z E;: M=?>#24G%\_M?;"ER:A@<3#Q,,HP(Z=1(./JP=4*1^ RO2WV%Q8I0WG('?R?5 M.+>X6Q6;1GT7@:GIM'3!4V/H:LXOB",7ZF U3=Q$I'0%;IC<2"C@#G@H[$ M3T= 5L"YH"-)DU4B10-!C#@GTESC;$[G-Q8YS#LML<:W^Y65CE=JA7EX-@\S M8XBG',;" 3VFZ 3B2A9QP;X?*QU)7UI.JCN& 'IBI2,IS/!)]>:3Z-2?:UBZ MLC+==VUA(F K:XX6]*#=D6J[*%[.GBS=7)H:2OPP96>+7"^82)BQ$S8M=!YT'GX[W "=/YAU?Y9,6@ M0>6A9\1CT'R:VAI8P03=,/)ESS*]X)\'3^8S:P?-D.-\C8IZ=MB2_[MHJA6& MO"QTBIGM=&\1_$KW=,7,K/VIJ:O!TX('!-\D^67$Z4A6B:6S"(*O+P1?OT&S M-3O][.E3$_60&@SU IQ>",)6ZLVI(RAJ%FL9F^&^DG,&JL'+.!L&8>DG/(=! M3X28 C2%@5OHB?"(/1'>PUOCS=3?T0S-&ZVCLLA;),?.9YV0M^B MZ#\(K[ MO*]1<2:JS+]B;E.TOUC6WZ.3.F""51KV,*GF%'ONBO 5BKIZ5=3;S8I UL$K M+^!TW\@-1X[[7ZLDP6"("+K \="6CL_- &GQ0>G M8('\'%3[#E). TA0DZJ:D%3MA1*C8-='[) M1*M) N/1V8TN(3(_HZ;6T6O-(T]1U%4GH#.,.V_0#39:3$ +?!9?/H/6(+'7 MD?3E+D)C'4 /--:YNVB2L?DDKE5,: $KEAI=XG3%1,=8I@ E*B/Z[O[]5*0M M?OWW_M35-5UQ#KW@N-::G;JZ?/]O*^W6\[]!=;FW:'+-@2'HHY)2UW%3+]\H M)R%8J>BC2WZQ#L-D\6G>T[##K*Q8Q=I"+H9]9;@PI3'WE&.ALPQTEGG@SC)Q M=F4EB8DBE]=+1$16O?S1DOM#DAB# (KB M$E_[G"B1Q#(J#" VH,5!]H#VH,53Q8(XBR!6#I\XWSF?#E]XCWG3_)8LTIK M8MH0?<3P#;-_&)'T[L//G[+=+S!SW>Y*JYXYW4QVB\;0X4:IJ_D_GY$R:CL1EMZV0#RV'#NK#L[9=SBO4^ MWF2LS\:+:G$X4<7:<)W%BRUDY=U.%#MEGTW&%SO")*O/U?,SLR::>7^POQ-? M-$NW G!X?V1/O[I6&HBW0)FUHV^#,TEF;0; "4\FX2C5=YSPQZ^CH#-6W%.J MXN=:37&*2?L$FO87S#P_H(T?=8YG%SD,470SWQ8JL[I]H]9:+W'F\,#[XH;+ M%3%_.MP0\XGG3OH!9^;"?!/\"" MCL1/1T!6P+F@(TF352)% \&8.^4"_>! 3S9IK;[,[DFLAL_GXZ6_%S;9CS_0 M3[%2MYWS"Z+1:^/%7,,N[(=AA5SNE!B4>\KEZ217=@+<1*1]*7 ME 2-5@ ]T&CE[J*)Y>83U\2G']C'6[0<('G3FAF;*2%H=8(=%6YTZ6+_ M_EKL)O(JEFJO4-UV7[P!R6WT=Y6J+ATEWVX0;KV=$^3]+OAB,H%_^HP33S3# MO>T")""CJ_0N 2YZ+5L@QEP$^_==>I\ 9F#_?O_^/5I*Y]R< O'GKK7;V6ZGL+FS17[2073\6^ ;;B;9>]BU;;[+ZGKR(D>E?WK!# MH8X$DS2UX,.\8D;=3A0W;'A2]2WTS]]P!OLOB3V=?@@7\<__3%-0M)^.?*U8 MUJ-=OU4)[\JMV14K]PN5G%44A2-O,)U\=KXJ5^5QZQ?RD*)O!1 Q&:?6(OD \@+!X(N[FL7B/L?T 7D%\S2>). M'N&C%\'^BQSW-),+%%+A)UZST&@UC!);DM'!70@MM LI)&S107\X?:3^;)3J M#1J2[F.E(S>7U;VW&"CQ!@0 2X*.Q%M6P)* $# /1&0^OJZ7SN*OM*\HLQ1 MNV:C1F!*94G.731JU6]]+)WN-,PH=\RYP7C3JK#M&#-J%1U+PT83#(L],2P% M9U/@$^"3&/+)#])CBMFU-FXP_3I&M/:*+=5$W9S\XNW*KQ%)L8NK1VM>QR2] MZRUENG[H#JUYY"+'/WVFN"<,?]NM[HG!1JIX)-4T$L.N&;&B$=Y6]8JEFGXH MEK;MA#/B/<_1I[ZG3$W4MYNV%;[.L4TS&%()7NP@]TM/ '58H$=$9X1)0U\U M-GU:G?'ZC>EFLC@4D=/IF<90F!LK);LO[=T3W5"?/M,,<$U\N>;K 9OE@ MLA$%HM)!A)XW%(:I4-FB*AZ57[P9Z37\:\CC.;E'SB2EVBA,Q [/-)_QSW[Z MS.*Y)PIGTM0!I&@[*)A6YG05D7K(>(YBN6:4JI51M*7O>B'/0SN(V]5@Q@S5 MT #DY@U 'CP5-GZ))9 >#BP'*PYW7E^Y,!QT_G%T'ECNT58<6 Y8#G3^ 74^ M?IXXT'G0>=#Y>"]PPG3^X54^_='=KR79['EXU^5\Q.\NNN M56YJK/K^8&_+6R GG*F#%LAR]2WZ5@[^'/(0GB,>_3#@<1(H;VG];^$/_FOT MHXF\UJRO["\$C/ %F\^S[9V(*;HI#M5!K=&4=C)!1 %C$B/?%# &PKI.#XK' M9JP8;M(?RU@C2\,ZBK?*2?J!/RQ!A2G8OF,@]:^HRX4%VGA4F5&P%XD1W2JT\J8VM781587=W)XXC'A;&_AD01#H*OUT%;_0!%C< ML=(1@ _ !^ 3VU8+249/##-Y #VQTI$49H^D9O.Y^U'S2EDEUSDB%LP>7G-0 MHR8.ESTGY]:W9+G9"8^(T7TEKQT1$]>?())8=AIE@ZC!X1Y9[JDW =J'/Z-, M8HJR$Y5.%TO_-W0F@,X$T)D DH:!Y6#%8RV2.$O@[J$CT'E@.5AQ8#E@N;@O M,.A\TG0^?F&B.&>%O'QMPKZVPL42UQN+FRV=K2Q'[&1>>?^U"=\*P=R^_8,W M1[ELD:]+^,[5U47!EW"#1>\A9ZNKZ.0N["+5GEO14R+/X05?X=*S>T-ZK2TD MM)%*WF;/^5R'EPDJNH2!>N*HMUT/&$LD CD!.<&&'.,53U]$.N6!9U!Y:$*0 M2II/9+CXCG8C5]6'WDS0^,?7M!V.W+&M7XF%NC0D\*IC1LY>U&F2;7 MR^CD'>:]$$\8\](5ODD%(Q 7$!?L^P\/'T!/.K)Q #W0!B)&HHGEYI/HQ)YK M6+H<6==\;3K&,5WQD:X6>:LI\%$TG#U9NNS/9>HD-"%GBUPOF$B8CQ/>*>7H MJH>TYW&A4EQ,S(EE #M1^8ZQ=.1"FLT+:3;=K^B(AO&[0!0EQW;="^0R'/0[ M C\2)H8R'MLC1=P?-3XX1C-AJ@V.T3>J'0&0I3YQ)@WY,9!(_V@;"ZPX5,A! MR7J\%SA1.@\L]V@K#BP'+ @\Z#SH?+P7.&$Z__ JGZP(,Z@\ M]'MX#)I/3TN")O(RNJ7:*Y3\6MUTY(RI:YCDE"_[A:$?V] MO^6=+8NX]5>(#-I(8;)>@^#%2_&1R8=R.)'T'*:[O'"(KX&1K/)L9 MXP,EUX9H>)1ZC(6X1DE>%91?Z#SX\M%$( WCT,1FM$3TBP=,XW8\[D0&!AZ< M36@,# S831YH-SG[VIE_Q>I4\G&T<>ET$H@L>,P%%I$&OEOFN4(%VRAV([O: ML .[?V*1\)SRQ&'$&9'\&Y@$F.372E'O_2T3[>!X^::/ C9BMMQJX6+"8+%A MC*VWP^PKT\G?6:1(L3+IF[TR1N3P#MYH*.C(GUB$^_298=DGFGOI,G*@$: 1 MH)$/II$?I&_537$OS22^;C";TH%A/*W?56_L+,U9A\I<,(=M2=_VV.ZA5<*; ME7D49L&#LPS]E*/>=A4OT,=5^L/<&U>W9X_S["E@CY\S0FQ5KUBJZ8=B:=M. M."/>\QQ]ZGM*(,2^W;2M\'6.;9K!D$KPXK#I_S/+Y H[0YUPM&;T-J6=,Y.P M4:,RORW+D/1&6&T98<)E\9#^>>Z,/+)0[<$P9 M]:BJ7J75^L5+%%Z#?>&@$DR@PC MB2>6?NFFP2NT)?JACMP\CRRY*9:/D *3F*NZ4R0KT*NXR2J1HKGY;2?I4J/4 MV\! Y:!7(*MTR.KFMQ^D2%:@5\#MH%<@JZ3("K@=]"JYLDJD:&[>?1[4"&0% MD /(Q5F-TB(K0-R=KA5*E18!XA[X\B+8Y%Z359K;T505RU><0P9_RA 8@4$' MFH>ZM_I6U9PX(9-A%RH\]\O=(OK\MCAP!VH.*QFVK\F3XV8BW*R,DZ!IEJ[K M.Q)C*KU]&U='JY7"1PE3GS[C9.Z))6Z5^@R ^6"1?%P#F62B_N>R"F,,^;>D M)WX7 #PLO*4A&?N!=$MI@)/G6[X\KR >U?1RU M!:)ZM!4'H@*U!;6]9_56S-0V7L>HE]M0<'AA[&<79@'+>GB.V3:Q*G;MKC9G M/< I]NB.\T576DW*]<(&J^C6./*EA&TH"(Y\HF@6SE7 L "5V.!'W21V'?6 MS2FSGJTD5-S+S<*ZR#7S-Z[OGO>S9,\C)SVQ-QOIJZI%$ZOI/'*EXI\^D]03 M!4UH/K*+1.+!?^.(?EQ:VKW? OBU'A#.%M<$PO"S1FDQ$2;TBJA6:E?N-//# MQG=Z7JR*.;*\%(7FUMZV9-28'4]Q%RIL605=[SZR&43BJ>(![00F+TN3@M-K M24JVMVQNU:6Z=F_<**JFB%7%[^.>J"Q&,NTVU(([.6WQ;+#%X]P3AK^TQU^A MET-,,BZ*MH.":654WW&0I1XRGJ-8KAG=R)11M*7O>B%_)[\Z/!UI7$GSWH*. MI+#;PFN< O'QK+YM1=N5?O49JD+\B\Y!,UL^>^O[%YRUL@)YRI@Q;(2U9GUE_U(\?#>0BZ/Y9#F6#F)O M1R)>R3K2/!(F%5Y83;XM( YDEL(6 7%@LSOOZ7=GLQS=(*5FOU&1A*K)%3;6 M"MOTWY]/^_$$4_#KATKW*$XQ@ERRK<6B1.41'WT_]E6"25Q#A"B;(3M57*0% MJ[Q:!S(^A>;1/OP9):%<.084F7)_**QX[$7R_KTOY:%Q,.B K6#%8R:2CV2K M1(5KJZ@=K(NM=9%J MSZWH*0/%]-$%1QI:+!?Z)+L=8H==A>GU74&B!5XFB:C*G<,(J'$%BDD^Q<#V MF.+Z["NJ[IW#W*"ZCU8PG&[:3714\P[66+G0W9=R"CF7E![;FLZSG9G.=T)K M+ QKOFR-I:<:^=12-WB+K1H9/>IUG?'74;@3.:KNHK#S^^E3>QU*P4UT(64, M6#/5)237[Q)_U1/F>0-I-!:UXG@^,42BU2^PD^G(R8F_V.WLU#(^F'B8D!;1 MT:F5?/1AZX0B\1E>ESK+-U:TTF]->R5)D.KL>. 34O:XDTDR["Q/ONV4"(B$ M,G H X>L1MB80$=BJ",Q=L%!;6/,ES9%, "J!!VYNZR *@$& (-XP.#1W1D]JFQ/0K%I#-CM7:['J>UHR,F>!O^!K_<9US9U+?,;%OV) M&P- 1?;-*[+OK!$?6+']R+J?>EL/V! TX@HB>1 VO#_O@^['2/>!#4$C@ U! M]T'W'T[WJ;M_4]!]T'W0_3AZQ*]ROWA;R!W0MEH@Q8V4[Z*]VIO4&^^_?+2) MO&_]3R^XS*FI;U38Y=P42WQ.EM=ZK^)[.YFDHJO%B2>*>EO2!5#)52K7'X-) MPA!RPI@$=M&;5[X_AN[#+OJQ<>77-L!CWL[)%,,61;VN5-L-S>-VX<7;5!0S M?FT#3$^A^Y_3O[QAAT+-""9I:L&'><54+!5E%#)3$XQ^6)_:IC-SLR28>%[#B9>V(O7!X "(L'PNY> MS?Z/ARMDO[(A$G?R"!^]"#9@Y+BGF5R@$&%K]/JM77F#'2C>:#"YF<]CNY!" MZ(!"WGAXAR19V* AD3I^.G+WJII;;S%0U0H( )8$'8FWK( E 0& @'LB(/6U M5K]V%'VYSK^0[1UV;L5D)+]%[F>+JC@OCW^QSO^U8^F\12*.4M<3"?DUOX + MWK'$S,-C:5C(3W#4$TGDX&P*? )\$D,^^4%JRGC2SNV&2QL7E:9&+(SC2!\U M;TPD\MH<'6SW4#5ZKL31)ELM5HF3BQS_])EDGG($!SP26QY)-8W] M^LW=OVB5V*I>L533#Z72MIWH9FW/<_2I[RE3$_7MIFV%KW-LTPR&5((7.\CU MGME&JOECN85/56Q8WBGTG#P6N_TK>]/U']WIW7&Q8F>XYV3)5_.H5NG(Q7*6 MCVB'"NP7XMRO_F\@G;B0SIV[3X#Q'3KN-IA MA:C]02X5I /I$Y,U;A?Z_LGN8,,F\_@3SK)IZB=1M!T43"NC^HZ#+/60\1S% M3<))H\ MD20MG@X$3IO,/K_(Q[(!_ MJQ)MZKL2;48FL3O$@9NDY!J=?7DL$CMU:\RV+'=0WY]UTO(6R EGZJ %LEQ] MB[Z5AS_'0(3G$$@_C("Q-Y+5F?65_*7.%H[WQ MI][[FTI\&(D,B3G>KE559 QS[K(T0OIQL>A$),*^1B+IZ4T11>RS4\5%6K#H MJW4@\DB$B2[OC@&30I46Z$AJVB5\_#:72O[36[(&!+5AQ6LA8K]L;%[=1=HSZRWN\! M_N:]=?OV#]X<=?^,O);"=T[++@J^A!LL>@\Y6UU%IWMNNTBUYU;TE.C*VTN= MBAV[5]@-:QQ&S(Q\U1M75K7V7";9J*<"_@3=_N(+9N"Y9/$4<&E6RE+H+#>,P2>(U MPSAQE?JGQN/!6VS5R.C1W0(9/S@09= >.:KNHO".CM.G]CK\LFYBZI43E5@6 M2_?P]:_8N.H9_;QIOD51PY6*LSVQ5*M6&H*.M9J_VE3L=.%&,/$PX31BD=-% M'-&'K1,FQ&>P7+J7(V\*[8G"5R:84-.Q1HU?4\@-3MI<>"\'_;9^8X"O9(@D MSA)(6F((V/"IW%-@Q1-?0Y8HD20M< @K#K0'*QY'D<19 L!RH/,/J/./[FZ- M<4[##WPGD=OUK:Z3\K[;9Z96/RNB[';EB^2T73Y$KI,P28&&HE>@F@>F&MA> MH3/%@W6F )6'W@:/1O.)#N!?PPILE)KB=JAC"TPP*M)\)JT9OMN) FCL*U9@ M>KH6-)&7T:.V$,FOJTY'(M3)S3BU'0TYV=/@/_#U/N/:IJYE?L.B/W$C$^AC M$"L=.LGJCCJ4Z&0[$N#WF(8M4#CH4%QTZ"2K>U-X.F1YBF(!'@&/P.F@0X_. MZ8D4'5 XP _@=^<2-( ?P _@!_"+8X#IYU*6NLA3= MIHN)8@9SIFLC[UG+[0@1J2="UT:S8=R6_@76[:@^?R*.. M3.9D O_TF7K"V+>5<0&;W:G; Y#9N[M!)(S,P):(E0Z=[I /=O;*P*AY)4[I%0P9#D0K4/8GDH MY7XHM06B>K05!Z("M06UO9O:IK[([]=.42_WB4#5(S,O3NF6>,C[E26GTTQ% M>7_L]4TGJJ(MX_F^XY*8L+1'LPY7FPGCZ$05-H(@./J))N!8!20 )' U$OA! MYH7DB6K;F-?KF##6*:RD+SI&YQ?K@U]#?XE=%;5)>=S!AFNJ5B$)I,W,3N1' M#=,O\"<,8P#\J6B+\3'8CV%GBUAAG[=5O6*IIA^*I6T[X8QXSW/TJ>\I4Q/U M[:9MA:]S;-,,AE2"%SO(]9XY@B#W9JE-936)(8BCW5X6CV/_QARA]<>^C$ON M5"H5K'FAM[#7"X&/.(+Z]/EF<1;@AP_N(0+&P6T((NNP;7/?*Y4E?V^J*ZM= MK^9OO:\ORD)>FVN2CAWPKK38V:*7K)2C0MB$VJ5F)L$BD:H%B 3SQDE4C1Q-+)"O")E8X M? ^ )]?:WT Z'G0%("OM=/L=[73N?MD!' 5/S?WZ2XF$F.&KDH]GWW\O M=\M;(">(VG],)!V$BAO:?UO837^:U2MB;S6K*_L M+T0HLX.#T!YHDYHH+!?$ &^+^S&SDRD\RBJ@\+?E' +WW:OQ!)!?4DR'CR4_ MY.6;0\&HYK##L%$DU$.VJ8W>G^WP87PT7%$=0BH>:F*I[=;R*TPF5XM.Q$?L M:WR4N/X340Y)=JJX2 O6=K4.)!M)*@GEX#%@TI1[@V'%DR&2.$L@:8D(8"\" MR\&*QU$D<99 T@)5L5S@1.D\L-RCK3BP'+ _*NV=F@G%V51*L^ M&&##@CE>F'9WQ17?[Q7\YM%S^_8/WAQUD(Q<7,)W'JXN"KZ$&RQZ#SE;746G M2Y.[2+7G5O24Z/[D"_Y!L\;DB!VA(*.W]DU5;[#M'=K)%!'U2<"?&#P'A9! M3H]+3K A)[@Y0 )4/H9I!:#R2:YW3X#.QY#F$QU-OH/=:$W[S''NU"7QX$A- MOXL(L[7OA'9C&%=^S6Y,3QW^J7]T\!9;-3)ZU-<]T!T-.1FT6IOV :',VG?4 M12#XS-I4+H:BDU5 G(YLGU@Z/*]_'<)5S\+GO=)+.DU+Q^%A)*Z,_;R,R[+J M\+_8 ^1T.4(P\3!O,**CTZ4)XC.>HD'M9TRU TA=NGBE5-"S%=&63*Q7RNE. MLY?G0PPJ[&NA(_'0DA7Y&*-!-@DJD M SY L: C\9!5(D4#% OPB8>L$BD:\)W'.7_C!_ZKR(?^0_?5!>_5NF9A:F?C M4,8&;SG=*MU>;DN=T'L5)F50! E%I#'%)U!7LJ@+=OY8Z4CZ\D%2W7\"T!,K M'4EA:DFJ-Y]$YYQ#8DD%[Y*BZBS+V[/E3>QU^63R/Z(/FR=,"$^@T6[ M0">(DP]VN[# L.'4KZ]R_0Z^6,UEB@H3/RCJ1K4,@*_4IW&D/%L#S/)4[BFP MXE"Q!274\5[@1.D\L-RCK3BP'+ /KB_"D/YX/*0]^'5-)\ M:F/P;S4#)R;+=;)-I2$=7$2UCPUZ50XO+*&B^/O+9F#*VSB$@?DMY7/$7#^%T@BI)CNY?Z M.=C:?MSING(7*RWZ58=J8O9F.IL$BD:H%B 3SQDE4C1Q-(G#O")E8X ? ^ M !_H*0 ]!0 ]T%,@/J))QN:3N!KY)O(RNJ7:*Y280M1$)2*='%Y3V]&0DST- M_@-?[S.N;>I:YC<_K/ZBD&>V;(Y\MU42]URE+ M30?WG<-G"/^U M#9=D=^-B=9;;83XI+_-<@R'L-A]MN.SK&VYZ2NS_G/[E#3L4:D8P25,+/LPK MIF*I**.X8:5]#ZV]R#CZYV\X@_V7Q)Y./X3+]^=_IBFH6$U'U:_(U-L5%M/YIYRY-N.! #!>Q78WQN"+XGN'[>2XIYE*R6ZY(U_K%TL!ILX8"C1& (B!B4"(@8B!@P!ANZ, MH;,(1/PQ%*LC^.^' G(3 2,!(PTH.!P')HHM$STV$9TG M- $1_9QI9*MZQ5)-/Q1+VW;"&?&>Y^A3WU,"(?;MIFV%KW-LTPR&5((7AXW[ MGPE+V73*F_+(W1FUJJUH60UKE8?O3[9\$V%5U\VJJ19GE,$<6CVL5#^B'7\B M+"H@+ +8*KYL=9YN]E!T!7;3&5VMIC);[MEM!V-:A"3T%ETN-[KQZ8N6ABZT12+/F^W\Y,0@[*?/)$D_X3GVM22R_T3\> . JRCDV"_+0GY1TZ\K MTD,HHZAJP.>*=0CO4FG:'G)/&5V>':R/$I!Y>*N*8%L!PMW33U'"HA+^NJA; MBJ7JBIGYND6XOT=?[MKIG#_F(OSM7/1U4IKNKDWE$*X)^N_/S3#8N5!V<^L4L9^@2TW??OXS^,^7IZ@F4IR0#Q;/K_H*]_"I)S; ,>S_W62#^*O^X-R9 M C'?33KZ[__]/]]/_ISNGHGINV_U+$LBXJ@YRDX=I!A991:\^ _%W"D']_E; M2U, M&Q5"VK;"*YF>55UYB[K_==TN+8<2\;",<$W1%!+)B$2$3-$<(4\1SLDSBB0( M F&:0DP_G=YZ8XP\K\-+";6%:(\>A,\]9,K![\)3^W,:;6 ___XUC?;TY816 MLR V>V(A^*'7JE<*?%\L]/K!?QMBL]]K%06^5R[66U?]?F?3?N4+?YUDYOM9 M9KY-,],J9L*)9H*9#GM7W")^:J817G#B*U[^)35YJ5 )IOKO[R0NLU-6X^@I M%OR Z$"=$)(5S!-UMW)Q/G(F57A,%K=%:56-5]@BN7UD+$Z M,BEC?Q_)4J42FUMQ D;8E&DQQ&C+%>?!R+-G]C147A?:^XJ8Y>RNM#9KRZ$4 MCJ3_/K)49'?=D])>Z'MLS>G( M]/G(Z4!C]4+3-+%-.2^(8JT]5X]SF3Z?YTC6EO.JL6*P ]K7-EBC4'#\<.39 M/*=425$+?#EGK#23T,>.7A+YG/NZN=:&6^,0C&Q/#]TF4:1*O,R>CRQ- M1OUU6\Q;(I%#?0&CW795G\O<^:9WE=K6 MKV_8KJ'8?&TP-5Q_H\YE'#]_ZKBN;X4"I2GB4&][;;G0:!++0$6)\Z$FE9N) MOED4)27K=SBZZ*BC2C#7"ZJWKN5;!\:8S[%LP&#-W9'K>.U@Z 4]&7HX69I0 MK0[FS[PN4R$*YAH/AEY0E/&@V)EQA\;04)!LDE[9QLE^\+4NK&JA-S1L<#$TAIUG8JS MU"V=#\^;9T.;M?UZM'+U 89R%$%:]<),[NQD\L+"LE9!FLZ=2E/R>QVGS(VU M$C$*AEY86*7N2O5QKC60AD8>W^_VM#K!Y^'0,QZHEN0M;4FH(C$H)U0[)75J M-H*G7M"!3<"I%]1EL7=Z*T5=!/O:L=K,S2HTFHK! M4R^H2T!E*SJK(1RKU66%L-P #74^''HV 65VR*K%W:%@*(- <:;F06I+P5,O M:-:\V5K*W?94DH;M;#]GL=7%?#X/AYZI"S6BB7I!1ZYQX+#>$N.H% M)2Q;^:;&;ZM'J7=L91FYX2NRR(=#SYYZI/R)O-0P6ZSQF'M<]9PCLPZ$=4$) M/6> NGZI+(I*?5E<9SN-4M?A9>J"$A*%3;E;Z0M33,\.5%+2.R;&!$,O*&&U MW"KH;9>P#;WH9\W\A@X.:-'0L[GVL\MVENW.*I*?RY<7A?FL11>"H9>V#;T< M*.R6ZQ@"[)H^]EO=AM+CP\MMSX;VCXJ& M$8TR82C'8ZF=U4W+6_/A#9-G0RM=9BYNB#(G,5-M6R%5!Z]5HA+ZLZ'U[O:P M:"ZWK+$9"M/<1L_OS>.I^._O0U?Y;6[47N@CX^#5\=W8XYE.>!$O<\$8P8<, MM7&&2[&W+^W[3>:@:>$27%"7XGK3RV&6.1:S]=%Z:@[[N%WJR-0%'9!Q93CR M5@W66)6.PA$-:MO5(#"P+NA GG#Q!N/F1Z(_<"LS/S_D!OXN''IN8NG;V:"B M;#V,<:0MRF*[39>,GGKVM583C2\U"7U"7L5G&'&[JZ:)N:=D#;C5&FVDPUPOJXOKY5FMD:+BQ MJ35J3&XUS5=WP00NJ,O";HC+0+]IC)GNRT?'8K;+;6 Y7E"7[9Y6+&1E71&- M:Y[B[.I8/P!W,/0,!>.%9&6G?6N%*46MNMF:!T0$JT5?T"Q]XE0ZZSR9,_0% MOCHZ)2)[*.W"H6=/=94C6>)9;B#J3&6[*%@EU^L&<[W 6<0FN\14#EM*)=8N MYUB>*DYSP= +FD786+/7T(Y54??P15G6T"'+!$,O:-9(F6.XN\]6)4'J=/<^[P\IPO$WM^(7XZ?K^MH3;+_4Z^>,_G M=WZ)[YYO!\^;%].ZS+?=;EM1L'8%WNLRX!C[T8.(9U 1Z# M=0$>B_NZ<%'<#=;E1NORD_?-O&H>WTT(W%\CDF$"OJZ>1X(^I*O3:QQ_#R%] M>8L0?(6IHP=/+2-SB\*O%;Y!L=SLV6N^RO07)!BF=TB2";W;; M.Y^Y5Z*W/]D=J:E;*-,(?K]P,Z*E(2WSURY(@+D'P5S\0'3'3G-7!MF/FH[% M'&K2Q-R""S,89^"CEQ71]B4Z0CV*I.^J[-E#"CVI2_>6J.P&ZDUSX1IV=O@ MP(?\F);[BH7/7\D2]![T_D9Z?]N^ MH5?2^\2=(:YZ)7.LS]4?V,7^CNMYL6HP:9O,1S:2QT^-Y/'O&\GCI5A?O[_[P6N-Y%?9YIK8:W1/:NG#?15OS_R1MY/I,(D&?PJ. M [>XMP70FA:TWG=KO -:_W;M@T(V<[66(DLB,:W92Z^8=SLW1"LQT!;Y:KZJ MB)ORPLE'-;L:S,PX*5DS5392Q MOMH4X>_#OZF*N\BL'7NKAQ&.Z2%C7S@Z)_KTD%S3^NXD>/N#UP_/YW1"6H!,]$[TAKVB!X3/U,O\*=^1@KH=_9]!^'7;?@$-#&@X- M/]XOX[8M_K13+?.O1!_SVZ&%ZP:O*]I.V*7!F_DFKZH!O7KA.2*00?# "P>* MB5\6*N1XN3<$7)Q4J\>9Y-H[F3T=_W&..3M/_!N@#% &)\ -G0"O8/GO$#[, MCN/=9#,@L4U!\8YN;K.1B1#"S*?/Y!-&O=0), TN@9/M44#KP.C0HV7*!,N; M459A'\?CZ1DG^Z>4!SODQ9,';6C3? SKXV4114U9+X[_#]04V1'*A MUC&KVZ)!D(23T5W7CV[#5FW7 MNQCQ &I+#X.!^7(G\T7;+O[X'G^M62% 7^49?$*(O0O\I.2=OK"7J)DH,&89 M[SMB><%VY*B5"?'&7NX WT>&+]@95[$SW@??:;59RDTD8RTI*Z\C2?W>6I?X M8'9,>.AX# <,KZH.^F)Q*.K&UT]UZ!E35R(H0YX%G+0>R__R 5=H@M8_N-;# MOG]5_\+774P\10PN;/9-UFFUEO,E+>EZ@:D=1R.)=Z,.UV' Y3Q@FF!'0@'- MD.,@+>,I^\N[-]!5>E@I:5ONV5=+> ['%[2=,L#[ROZ9@_+(0C/=>RF-XS M M,AN2FLVE#6EVZK.BQ&)N)VRE3W[Z3#W1+ %Y' #G>-L2'P_G6X O%!/@>< MK![5GY!HZZ:W4!R4#Z$L?(?D"^37V-5F8\&L6,;JN&IV\X27FU7Y\*X?,BIR MP]]8DPI$ $0 +I;XV45O)@)BK4XY2U0\2<].C5:%*)2<773I5V0%TM\N5/\BVV3^=>ID!7.:7!. \ODEI;)%^2=#FK/I[0F>O&$)BZ8@>RUMP*F M-.4R/=SGJ+8Y#V\9#(T4$KIF (KC;5:DS=OR HC_CEUKR8_IT;!1$%=S02R- MQ3Y_#"\3)7\0P$FE:T58*-8<970K,U-T)[-53#^Z[CIR/+"'UU=0Z=5 MA!,6G+# U9(,@R;ON[J%7#HYATGI(&HD\Z)$2H6OPHK M#5NS'_R3^G,ZUP&_0*U4_6BOU/[$,4KYDERN-70^5YZ'-RH'9A']4I(]L JP M2JK\-FDSL#Z.5'YXZ-JTW-)Z[2E]@]@'BN KFV:#B>YK#PRW''5>V?>RY19O M ZTUFP7_Q)I#O4YRCH^QEP#86M>L\XG"TU]P&M8&7."LW*0@MU5KV!.'CMSP MY]UEN[0/#IOTCJK6 O;,R:.5[:%*8TR>T8W]!E M2>=#L(=UQD\.=G"T X=1O(V8+V>["+!?[Q3BO_9%%A1W M433M73!]+SK/7> \?('H7=NI=(U2;5\Q36TJK[G@4,:$!@[S8HP>B &((54^ MG]08/-<@AL6ZM6[M\EK+6(U[TZRN5N:.RH?$$!A#+/63IM!/JL+]>]2?/%]N M&&'[KN6\ZR+/C?K3?5<6'36JMV>90.61&OTT?7:VA5G/7[QMX -*Q+$P/8E M,6@M#^H=-_6.O00>JA]\0AT$?4?14'AM"]*WRM2$QB!P)@!G05*)O)$;SA([J(U9DFFY(&4+#&T/:.S0&7="2@CC)O@30Y[?:Y?D MW(ZV@]:*KGTI]3DY!.S0UY)1?<<)DV]/G@(X$R7A3)2>(S\8,]8S-K]T;WBN M). M+?*%\A$L7S)O6[&\T< !E#\RRL$J MN:U5\D:0_QW; T^@T?I KJ1:5BJJ&VS66(QV(;:CBF3J0H9[*HN'(BEE@J^9 M?=U<@9,:G-12X,;Y>$[\:,,G G73MIXA_4,2[)4\(G]8+Q 255L>_ 7!W-I9/=5 M^K@?R NL$E@JIZZX! V.&(!RK*V+U.63OAO*]26>:U014\16!=IW0E((;QY\PG[6+(JW]=/Z2X;,*_<* J&EA[>29KL\@ LFPJ)P@N++'+79 M^\/\AMUT,(14&B-&(I:( ">(ZWN?$@49Z+I]Q;5/7,K]AT9]XES8GKBQI M?Y^(^0^*GKD3W1'@*XF]SWT[0NP8LR/ ?"&$5 B!D$ +VZ]_*TL2B,78[C8V M=FMB[FD;BU)5+D\NE94U56KI86Q83>0J".,JZ:'+A"+QBYOI .X66H;A)&<7H?YEM29&8E2D9:R!%X(3MI=/)M&K-\N'/&L.05 M5611HF".J;FA+Q4)2=1PXV_(LFMI$\2<;Q9S?DI _&KNU9?+06%-AK93=5>/ MTQO>A,MUSW2G.H-ZHA2?]PK2XY1>=(LL)T8LJV7) Y:TX8TE0]'(Z09:@ @! M(@2>T U[0G^$" O&7*:C*2W.EZOS<2]LJYSTR $B@!^4""4CR2]>4N2^87CP MAA4"L<&35*5_X%+*)3*/'*6?__GW$ M.$'$&Q06?L_+H-[COO26#ES T%#QJ M$:E+!,N"-PB:&3Y+R8\5ED"/_G(]>H=&>+>G1Y\H1^&\H6X;XE@PR?6+N&T3*/3? MK-!!GI; MG#<0TID*X;ZO-7W(ZUI/=E<$A[Y2$,[\G1O1GY=T-[^1\^6]+.]F6616$5P1 MB_'$_8MT!I:38H&NMZ;W$MUB*@Q[WYQG>]W5@"7M@]EH*,)>K#L,8"F I<] MND^YFP3D8=A_/F4NYKA>Y+MM(HE2M!_X?Z>;($'D%NP-!T[&[3H93VP-[_8S M#[:&GRS%G?)J6)]&UA*_6%:*M5K",N-=;L"27KYL*I1D7]CM+H"& !H^JZ'_ M:DFAMX&&='1>ZN)YZW0FK69-E%QW(_450,/?E1VZ6#Z25S1!$\^4CP3Q6+#K M_9FK1S[V5L1 4P)-^03U(:]V+)PU'Z_\$^40G#=X"4[8'%%U30Y;R)AA;V48 M%'!\BOW>FZ= 4/CQQMF")IJ[.EL;/6"-;6.%S6)]/>/W&\M";-GF^GF>K?.L MTH_/&IGJ:A A/659-H2#M2 E$.C]Y[S:^/;T_KJI@%?H_3BAT5FA7FI/XS&9 MK]>&MEK*RJ#W.-Z/Q:_=Z^0ID?AX;\>[0XER24D92!4L_+NE4P](F2I.;8A3 M0!)$,U\SFOF\I/EP7^I%^ZB!M@3:<@ND"3P0UW48>$5+ONI(;JV8 VDY'A"S M5T&S(3(&*8O.9F+\1*1;4K+&3ZW.4I\U_KAXJC:J($-&1M,QMAG=M,Q=MOWB MN=?YMB3G&U&]P-=6/<,2JXE$1<$!C-%9FY=@IZ> +GQ:\TUI'GTL%6FAELI5'GM3X=[\\]K3WX?/46U45+N] MK$)G%#FE;UMIQBAR@PCI9AL+@2YGX_SO([0H[.2BUE&HDNT,$Q6*NGT MNI_MR1^('DNZIE;$T29#QU?+1;;V^#A:=E> 'O'GT./KE(RX9"1GA_"7\*OA M-_RCJ4C($8'?<Y(,"J?_[I/XO]RZN<_(XKQN9G8G+^"V< MUZ1U\S+'H3]KM;06WT1T8='J9:26(+$]'':0KJUQ^O2:G\]YO[+K(!@ZEF+) MI$:&/L-,G,UT 8=^P"*:<+]A_8"_XRF1K%):2SL^-S M44BZ1L%BH0@J]DR&JB+B9T;X;9H;3 M.BJ?[L3/KB.+KZS4RS]@_#.MH)]K$'M\B2S$"44^>6>6?8?WU_WWN;WG MA;H_+!@\;:\+U2D;+3ZB]B0_S?!$]^%"WQ ;^4N.UV2$N6()*J4B4O[A$C$( M?X+PY[9($_A*5^QB!UVL.$URL> !H* VQ&0@TSF'GF+Q\0'/NG"?8XMRLS 8 M#&VVMAI$:?"<,'J^M--]@"F?'U."\TA?SI?Z(VR(KQAEGMAJPZG ,\5A,1YI ME-8<8(/C644O8L.G*VIQJH H WDUM!+0F3*19:G(.[F\*[2UA#79S1KK*LPR MR"2]733Y5UT<%MPH=-O>E1>-YG6CN4.&VBA#]KA)@'K.JTKUBO$$:\UR-?Y1 M>%PP4RT7Q\C).%Y5D@[N#PH Y"/353<,(']-&7*Y9YXMJRE[6/F':$!FI.(A*?*2AIL1G3E7$#^R$L MV1>+)<^V_0S0)4"7CTS_W#"Z?+7TT*O Y[F8QYGATE:MMH^Z$8 MC38 9>#D4RC%?*TV-;G1"(E.,FB-HT%-1I0!-.<[H_\JD+NN!^7H:VV4<[6UB96UI@'N MP?]R>^5L[O02_L!ITN$'OB&DUB)).P4SB M8IOU " @VP=[:RWEG %C6TFM%E0PKE^&362UN;1#WR $ D,8U?^V-49#H M4C31(/5)BN,DA4X\I-!+7:0@) U"TB#A]?427G^$RW5,/AU'L [*9)'S+_Y= MM8$K?@O@6(5S#MPBFM&&G(EX-(W.Q?$L-50?<3@;)4FS9#P439QNWP4(%2!4 MD#2[%82ZKC_YX0@57[T$8R(!1TA0Y%HI=:HWZZ?%OF MY7XB%:;2" ^DP7ZI/J+FA-A!?/T5*BO>.0'W=P,J9PYJHP'#PD7'!$+94CZN MEIN1+IWI("W>:56M:7OU,1!Z!A'3$;FOKN)F:IJ1M=%]F%.'W?1J$"7-HB.1 M4"1UJ?]: L!+ 1^UJMA@4D-XND!W\\:K1HOA%N3ZE*1,!EB "G8&>TJ7(KFO4&3V.RY4#G]ZT7D* ML/"6PC M&&TDW1ZJZ!: ]7_?.^WV_LN_";3=)]J*M"F*25:/\?;0NM^*HE6JU7[_3NFW M!MOP& %X">/D0>#GQY?YR M>*$'L^$@46SI=8..UU@^TQHWDZD_N#7UK>%%3+%<9)MLT[GX>-1@(\/NVAX3 M> %?+A&*)^.?*>MU\Y'=%T3/6RLIN7D*7+T6C5#@5;4H'TV20"T"M;AZA=:' MJ<772GF<+<$.(HZOV;WD\Y+FPRN^OT8N@_0V.8@B."LC&,8&D[(CJ#8Z$U1$ M!U6NW$@V'NFXVE"Y6J;2&9;E032YRUE,OXUTA6_@R!) M28Q7:G%;G,Z6@X2=D":JPA$$<=(2;#+U)FF)VZWK;AYM('U72#$3Z5] S0TT M%Q2)0FNX0 TY!^!T:XP,RKL#1#!-9)%C<_AC*J-K$CPIP4]D;Y5T[DX+*KE> MI#5&^.'@R$RP=Q^4]-R4!W:2VWT^H]O.E;129,0BNMQ<&:7%K&+-5Q1!];N4)KSH^,-*W'#:+T<#KN3)_^KYB< M:NO0J?N/NP0$06>P41[4X7QVS^FM-\JK"6T3KU42%7YA5%&W7KP\F*$7%1[C>GR!YE+:&[$3*+!L#+IZS#>4[^_S,\>,,* M@83@2:H2_F/+GL^=WN">.S=2]16E: YW\-)__N??PR!P_11E!U^GPU-051.( M]T?G76ZI?Y&SM.,%?IUT JEU(=LL<&&%):R#%M%?=8_Z)OI-?/EJE??M>%/2 M1'V&VJ"V=:S$572NYP/?SLWB*28=IY7I)"?,S-6V&<9N-VGE' O%+GK= 08$ M&!#4F]QR3YD78<"THC79I2S.=EC]QZ'WH MUBB8-; G$D0;0;01N"-7=4<<17L:AX0TUVK2XASEPOFD+<5K3(N1L2]"6AS' MDJ<7+@S/!7=2U,$ON*ML3T)?=P:=+96[F>3/4',5<0X4-?] M'6X'T#4-.9X87+--SH8HV!-3!)6:VT-5$?&(>!"\FB"Z^ S1QVL7&-NX$4 @F4/7?/?(J_Y24$ <37#" ^+VD"#^*M/ AI.?[I MP0;Q(IHN:/ 8,_9!16U4]S""/-76,P0@R"]G/(Y2.2YLQ45O,"T,Y[UZ6A]% MTH_8XR M2MDX_4SQ-'FW6=)(VQCIC''G ML27J_%C^%> MI=]>V&JN^]A[Z)7K0FOU*(,6Q[_]2IVY/OTK9DQ M#OYP+FR$H7K6$0FBD\\?G=S$-FK@TUS#I\E!+SQ)L6P#[9 P;5M5W7I$I(+K M7.EW5YC;I=ZRS&>$5 KQL6RI4Z2_=MEM4NT6D M2A-_:,!&D]M\-(CV/D.T=_,4N$F_Z"3[&HAX(.)!(N3#;3QL9'IF*X.MUDL- MNSQ-+<5%9E:8VL.')3.B6ZC5X08QTB8SD7CVL,:_+;""5ZAU%1$<-?'+QK=? M+82( 9YA\8->Z11>&C(=5]32,:,$&_LU3DOO<\V]\\YI"D&E,!IOIGYSK.-(]AKV@>>[W-."T^E+UV\U;4LRY*FR 5>B?URU"5304'CMO/V+" MQ#8M9;1YU3H(.>A7((BD+'_]!__'&T54D6 =(S=]^XZML&HKO&@Z7]=I<3Z M4.R8I(>:NP4G?),F__WO__)/_C3Z<7O+^5;ETIHE>">C\-! PC0LC/"+?PKJ M2MB8GB>M^[MK310@+:(!.RO8?:349R%/.,_KJ$R$@+E2CD?! 'P$$6 M$'.>@0,K%2EFNC7_)EZI<-5/B'JA6&W]0R57;+>H[7^7X; G__0?U MG9LY 9P"-8&Z;6)SCM>,UB+",Y@C@S+'@H$H;#&$$#8I*C)-YR*)E6(B/#.P M)#_V1_ NHM>A\IW3*8$88H')(E,TE#G\71^E;1-CLFD.HI%(,AK]YLB,\^B@ MJ$YC23:2H-F4^P?'0E?M&2:]^!9IQ\.T0-@41@A_;ZD8NN8LK*M *OUTQ?"MT.K(C#>8,!$ S^-),F")*' N: MC,@@SK<$"+JP>B,9JIAA3+*^L(7EBQH*IO(D6]U5[/GKK4DVB)LLB(9NDM=3 MP!L P]T,'0$ WQN)NKDQL9J'W 09?(@I@ >904]2<2>0F-T9YY05'KS=H;[# M7%CZGTR[0WYB_OD1PK,ACKDCK[!8#:D..;R7D]-8)@;B9^45U@,Y.>1$ YCW ML)8*&;HID,/5&6P$1$7U9 [S0U^9[L5 A\,2EF&J#Q%E0T0AF#NQ#YNZ;8C$ M*)"8T!,HM!14FV B68!/^PX5!"_D':'CP"-Z;7QQU9GYN$ET',N3;LQU1QHQ M$3E;QE^CF'B(8FDF$0+@,[#,BP9SS$=M?TRDMXR3I\EOA%9 M$I8XS"U!-I C.+ 6K%#$[F!DD;&C\AUFX$Z6\Q[T3Q@/Y,_3^O]M5-F9^FF,Q(0R17'NFN1)ZR@(4+HCD:%/1P6?5M%L!WW)P+:Q5);. M%HTS,F9PP$X'3+$JRV.?%H7\2H<-X\)6 &->F.?$FH4&MHYJV=HFEJ>[O74\ MS&C*J&XUSO673PZ8Y #@;>#&#P//2_:5/7-8" ;2MLX M3_FKQL*L$[-4!<,8#/4:IH@^VN06+6M25H5';FMQ.&J@3P^2_LN#'-VVB)- M'"<\.G:*%0V[;S8)DL[;#3P76R7."O%T'0<0'@6B&SIV("R_#0(RJIZU:>\A MU!EF;R:%^5Q51,&+801?,;J[N0FO=$K1R?" S*:'G_L4*K=_V),5DTKKX 9Y MQB'/M=*>6:#:^AS<_'/?RNB2,O+FY'V9:V5VWTW2L?\HAUE&DH\!/TH1L="' M=K$8R/D03Y(@/D8$Y3UU[Y9188\ 8PRBYRTT1!)83#1()>BV24UL0S$E173, MY][-+YF&@%0'5P M\!AE_+FDXV"@@"TO,>XM_(F L1G;$LZ&4$55!!P)X*A3 MPO^F#6$+_G<:J;)BS\#>K!7PP;#R:!!9W0MXLGB4N:#@?\ N8-G##I#D_*+C M. [;$S+?%R*9B610MT&JK5>-\(J5[[BV1\3-#46EV BXZBQS:$'! MVU<1B92UIWJ% %8J&-D/VHUXT%:JUSQHNZ-@4RNOZY:F8^^(8;'$P[-8/3$ MFVX42N6(S?#0G?)77QUD_]Z*0@<;!31LDIXC&OE(@:TVZV?8>>IIUA_NY4"Z M[:5,OW)^,PVY$G+")/;P\-39>"M9:_)>#'#:9U>:4G]5'_7';8Y:=W**? M,**=[B3#6O(I/\\_=RO\O+"50G07FRLW=OI)'#[8"L9?\[/9(Z*3#-B1T=W8 MVA/R>AM&3_HS!Z4 +[K/&\)'TOEA;I% @XK0#L [<2<2W4\9\BGMP?[9D?=[ M'#!DC;@C3O91DXBI,- 8?PT":J?I]BZW88T-Y"2G-$QO"ML':VQ23@KZB:F] M9);]5[\JM=AWV6D(M$B"7-! E%PQG8V!YP=!X%R M-F'QPU#T M* _7_;30#NGL0ZB;UHH2 M>H%C2.;JK.N. +8!IE_%'KR(L-NH:/Y[QIRNI)Z[(NUV]TP<56!)'R)$6JJY MDH'?JL\4"U;H3]#!C'SS)AQ:Z;8*7\#OQG$(IM00J.^F*IQH%$A!5N(Y8+ZE MF/N"'M@<,)&O&LA;^"NJ@H#!,!\R"4%R&\5-;.VH4YROX.B9 1WD\2#&6;B' M,ZZX,RF7ND36G$NO5SZWHU$W='..EB\N]-^--5(=A9H*"4 5'_>SG%FE5@ M\Y:4Q!.E, ,0BJ"T;-(-Z8U($%U9'1@HF>3:XJ:-'89NS\@F>5TF1N MC)8YFVM\^T7?T6>S^ZGHVQ:'DBO83B%.MZX)_HC&V[ M7*T(!U_$P*..D/MD[4%X!#&I\SU2G+$;17 -!XDM5747-+H!YLXQ-Y\,HL]' M$!"K^QW]D"_FX]-APP2[(C[XL80R!J7EAMC4DIS0E4W.T\;MEIS]'B]J\^?>=G4S+Y:6-W;+WF _X)AX;;*W?+#&<^&\&WH#:D#ZBD3> M)!'@)@=,"L\?!T<>B))B271 6L$T[=G^ BJ$_2RG?-,Y!4Q)-DE%[;]RD&CQ9\D/ISO928)3EPGZ MBQ_RMN^A:!?2LVDEV%S\D^D+A3RGN2B8,=# M.RR,A"G@@1P2D[T#6=>EE0*Y/J?$2-!DA9RR)BQQQH"?3=-;\UR'F ED1H6B MU9&ASURW%T\-]AO<+T&!)TG3D>IH',]8(UO='><.G0@*J?7$-/=HX-&$I H= MJXK?3B S/"2E2Y"/P8QW2I&P?[J32OBS28SWTW*)*8*AV-(A]Z<2$<)6':9+ M]KHU_$8L-[8;8.!)B/A17Q9TB%0%,T%R"U6AHZE.JHA]A1RB8HCV#/P&$6$! MS.(5N$['3L9LS4WYD?J4I:XN'2)@I2*5*][T0W =D4TRB$Y^=*<3^.&137*O MGM6;"227)W@^^7"SJV5V(BO3IZ]>\LY'*(-4,SN%H,YD?=QFE(>/ZY3[Z!U420/% WE',IP,$VY $-/V#7R@M2"813"*JT M8%ZRH:^P:1-WI;%PU $;Q'T:]QZ#!=9>PZ)JMK&O=VK!1_8<1P"BM7-@[VOI M%GRP]USY'0YX?PL]\7*P==@LP4D+K+J"I,\)X31,!1W*R98**=3AG@A;9W]8HV' \"#;/PD*QL#VWL;!/#FY0 H\=1/Y1@7?=>,4"2M+IYK4 MG>?!00!2UX14!V7@.+")'/\6,\7)G5N&H+FE;@XZ[7<32!J=.!?>IL<+UOMA M932G$'6B'C=54//:R7_[M8?HDJ].,DQER*$.ZD$')\!=R&%5S'L>J2AI6"LU M!'LW<8#O'>G$GMHP!_B2SQ@XCS ]D5Q=L&UEWM]H89(U7R#GMY/C?X MAW *#;]4P//>_P&\@3O*MT17VYT:D@R.TM@/B= M,X112])570;/"4YJB#LOA'1B(.;(=2J=U@PG7_0(2QQ@Q[,BSA<0%+ 1#^!W MVO'HSQ M=#D6V#[?T;JC8^3)2XK2 3H#GEH7Q33QTK7 M*&.I)V?[H(^W&]RX@0*(C^C:._S-W1DQ_?RF[&M:5OCK_SX*P+^0K;MXZV*>U0,PU+RHEU)AD&[+AN!TBZ,!@-:\$?8-0*H88H$H_>,GE7$/MO[?_T12_YA^OQHTJP1E&;-=#4V&=$_S M.M$XIQB.:$UQA@&Q($'9-F@Y.=/<0L92$4G\9D&:]IQ)@J7OW5N"6JZNDR.$ M#JD Y(#0;A:&9(PYELY)UN+WYE2\#I<'F[YG"^Y6'/U;F[U[_8/*[J<'!8S@=HL])1<[0+>IQ>0Y^\NY0\'<0BS.K M<',-;FF)4_A\[OOX]8!B/QSDQ*&L)NW2>#[&D;#^K&%YJ3FAGS8G;N[HG"%Y MY4L89QGG;,BAZ="A?.RR)0F.H1P'P,1Y)#X6HX1#FSF<7$F0]GD&+IP M0'@<*AHZ=O*N8;B)6($GZO,WP*':.8)X(61#!CL8 DFGJKNQWL#FWWJIUN%& MT28DU'HB?F+.DF0T:P_&D&^%(I&^1ZB3!LZ$"')S3*16[X. M\CH'L0#Y<@:_E0Y1SCSN#D;;[8)#1LK)!SK#DX.8[#3T-?HEUF<,I[;;E!5@OQ6*&9;P*UX8K-8VW1UD'[ON MG,4*JJD_L6+F9<+XDVICD2=G4/VK=B5SMSYG;8QO;5Z6UHN6\)JO.:F;\G:I)06.$Q.!]WW-'NN_Y4:0C\#%GS)D@=:1 M1GEG,IX M-GI\*D2]%*&^Z@UX'80KZ# 1NLN"WFK^\EUBF5O;)/M#>]J"+!"&(X\_Q[DW MI]:F#;4V[QS7'[MZ)5^T#J>:+AK@5)AYU@"_8NG>#EDB2O\XMM'P*L]& U+N M+"G\P9O:SFR[KY,\L;<> MAFD=K]B?T/2Z'7I5"OXB(B@$4*';G.H2F^B!)XL6,%EV:@ /*+=?D%N5YBW( M7<:N"DH_[K]UO(A=EM@;3M?V?/$]?-[7\TH_3J0MY&/$SF$T#U\TVM/E9.;/ M3]RS,4_2^Z#EF/^R>%A MS6=SS:$GMB]#+TE"?[6LZ!-EZJ>?"-Z%!PR7CH\5<@=MEO&38S%5*U1009R65^R:*U6S]QE^A9],'C_9E6,)2S$&&J\LFKE-=FZ/ M^H/5@#T=TUY6S;X12YNY17+;-BO+\;(YAB=/QF3,<:I:TAY3M&#VBGQYI.6R M37D0&=#'3TZ22B05B95Z/!+"ZW8G7AL6^@TXF''\9$99UM(;>2/E%BDQ'8YO MBU9["&/&CI^,S^9T*C84!M.X+38>DEJ&7E9AS)-Y]MKSM&9,JKG<+!9M%BJ% M>S2(P9@,<_QH>KV5&P]KFYZ&UU'>BG:2S?OH:A ]71)JE*?J.C$(3\L%NU$H MMBJ)?!J>/%F27BMTZ^7YH\Z7"^GM*CSJ1;IM>/)D2?QL6RE.Y[GZ5+$?B\-& MUIHO"_#DR9+8 I)C]S/AGEZ4=/%V2')W1=2%AF'2Y/"LRG6E. M6O:X0>QT2;5N9:3:H6%/X@;QTR;WG8IXR=/R*16E74VTYY/IZU9-SV.-Y>] M..+PDR=D2DR6#VNUPR2G2B>O]2OK6L<:PY,G9!H(]7F_*&VB4T68Q+0E,[7C M:YCGCDQ7KHUM.F7G>6Q M:>IR_KE;J8F-/-.DQR7+[9_^&.E@Y(B!(5EU23$%63:03'P[[U#!$%DKYX23 MUWQ\WU[;.]WD/:MXK39(H;E7-:Z1WFJ.(32],Q-.[6=6(8D=_-/N8W*6RS:P MCV.Z#]5]3:T=7\&T(841)L[O*R?C[?V[^10X63"S9]@I$PP!ZP(T MP:_@-I##$N R.M['F>\ZG:_'Y"S 6U:G7D$"LCYN2WMN;W8$I:S-G%!1,%U1 M,7^^1S\PW\3(K0:N/I&=GS.-OUKC!;UI#)-T2RK0UB2I3Q:R?"64\&W'T7MTF@N^E)=BAAPU,5YB;ZZ?W@GQ3L$;H3@GT1T=D4\W9XB;0(MJ5[ M'SB[D>230XGRB9BQNXCH<*?1,KR)N2]DG$6_[%+)6/(NGKQTU9AOL\1S7O]S!<8O;3V>*%CH[/;JVZF]WDQ=ZCPI"TK$=7WE)]6C*8ETN&;VO\ M#^]\8^_HB]<:!HQX)T8P=_3%:U8#1KP3(^)WJ8 /-\"'YVXD#1CQ?L@4,.(6 M&!$@TVWP(?"9;H01 3+="",2=ZF $;? B,!INAE&!-!T$XS T!1X36_("'+/ M//G?VV3ZWF_5R5>L^JK^X?L<2G@S(HBZ"A_^OV^Q;[\+AHF[&'M5BB1?0)!+ M1Q[:I/]^12=]\'.DB<+^^,%M"\,+EO[4WN1;LSEU%__PM5X^V0*W'5S@<@!N M'R_/GQ3P\"'?+@X7,@X*>3& 6"?M9G M.FUW(HH(C4;_W%IHRNUK@L.41&IYSPG\:]?SL0CXY]UYKK/ZY^K%KK#Z_[WF M>IXI;GAS9P3TMG14L/#)U)33>(K0K<.-FWL]P3 M=Y@GSE9#FX8UJ @3W? .3)C<6C$'TG(\V.N5Z53(5TCL-3!B]WWS7N*7-&HG MXMMBC!$?<[+_BI=PY!4WO#QS@".W=MN"2@,8@.(M]^1:(A.I8XN?+ENFIR97-YZR#QWJL/0.(M08+V M@P3].R A3+L+J9FO+GE6D<9KOC+5K<+J@T&B;V4+:-&K=*:;^$,JVTT]3K;0T^&B58X;'-+.TQADE-S/;U'3Q<&]-[5HRVZII5FP^ M_.@,:*W3WFS"HWJ=WU0:I=A,1^/)5L9*#LF-9(B.1J^AY'^+)?^T2AZD)7Y7 MRSN9XK(W-BI+7BG.&\/Q3I\;"P5%HKK.6I M;[\8)A**IZZBYH$MOWTU_UN,^9_D%5_J3UHEA.H\VR^M^YE^-*M]>':A MJ#?ME%J?CG-LCPTG'NE$F&= S4EV(1ZBVY4W=+67:[.TVHP!TL2_ M_8J%H@P3%)8$2'/]ZI./7O1-0,VKTT!/0HT\*:%QG!F:?+@]EM;S=;6J%3XZ M-%3"[5XR;=,1OK!MM>/W#UJCS@+4I*"P/\3&7I8 "KR: &O^J(;EHQ=]2UCS M!FY-*F571C:=GM*LGNLO]'O=ZQTN40$"(8$"1R"?''P.#9*KX_ M#]\^8%DW 73G,T4]3:(;@C5+\19<1.N M2KV/5G0^;:7XB7S/3^/"A'GDVWRR5H.;K^+??L69$!UYV9F_3V;B T7_XVJ8 M#U_736CZZZY'^E!-;T;O^X^C:4+C6P^-\F L#A)R8H4U'7(>;"+$TH%-#U3] M^2S%7Z[J1T9=B%13Y9HPX'/LL*Q/K'S:;'RXJAOYJ#G<1,T8SS[TI_?+@=UH M%$'52YPNR7]YA[2=S-Z.O-WL;GL!!_"*4[CMPY-Y#CKZD(KO>;(X,($UP&;I/KJ&%8[YI#ZCNZ MD^]"^"^8A"JY#5!$RA(X:?ZXH]J&("'_9R%*0\XUX7 K(!D47@?J;8ULU;NS M'3_GWJY\;F1J**CP57+9\?^^L?IQYJ V\IG6(FV*8I+58SR>XOU6%*U2K798 M4!I[A;[Q[G*:>YIDG*N<=VH5=]2J*AC&0,_1ZF,L$U%Y1$LS+EEM2/.^_.U7 M)'YWNCM)89E4@01PT>5UZ,*P@XB+2FPI'U?+S4B7SG20%N^TJM:TO7HOPB#C MH<$:3'XPM?,]V6K%BQ$US7W[%8W>G1:([ E#1&;7D9**T,X]XH1BWI7@;I]* MAOP)/V @[V)N=?.6-W/^N0MQA)1.YW5?0WE118(!-G?LOFQG4N&EU^@H_V2# M*R:Y-YHN<#'T<=?X__ZO@W;X)SL?KO7W+HY%ZFZ7[?RY%1IF[1.Q*O#HR*6QTQYG_"-38 *7_GW8MTCC_27>V+'%0.S#NABKB MS[ <8"M6TL2[7=.VZ\_RV#>XW."\ULZUJ':-RM2JV5RUEQVXX\=< MO#K9I6SIV8?Z M5.@SB; TYIJ/#7CRY#KWS$.B$-DT$K-IH9MD9PM.BF4>&P/V=$S#SO1:TC;Q M,&53B8G2""=+^4AC$#E]TBJ@8GUJY)LTUH\I7YZG(^GV"C]Y\O:EPJ<2C=PC MR]?*S #%S7E1WD"7C),Q'V.CI6:BSCW?[44>ZS&K52X-N$'L],GIFLF7V^UV M/62JT%Q&9*4BS$:92\O3)$CN.)>9RL9V;,44]U9W$6LN-C/VWDR>CC4XY2DNC M"EV0,TDDV'R*"V,>T:>/-H<+5I_9]1S=-8IZ9;SJZJUH8\"[@JU,0=^TLFCRV5A*421],AOZ%E<617I_GT&CWJ&HZ-J+B47'OL3 M.EY8I>PH4UYNXWBN9QBE3?);V6(3:;HE+2)F=UBBDVP#'CWA?B0?JS-";:WD MT&9[7YTP:;L4D0?,&585RF$U/9BLFE.E03-RQ:1C/15/X RO1O8CW:^.[SE> MT)*&-)_H\_&6/'HR@5*[H\Z%K9*:QONSZ(1-\J,4S/4,7^/K[;8[*BWC-&*7 MX1'&I.:P@NEZAK'KS7S>6D]RTG2SW=0'9?7Q01O+V$D]?;3#S1I\/*/)N8W M%8O=QX=^9H8?/0F2YB M@I*N1V95+KH:L&=D0$>#R#9>S>6FB_IXW)5[F6&O@T?=R\"5KTA/VZ:B81S& M<>%0TN_D#$50\1N*2%TBR%/!VP3-#/M?^?*6M1YQ*1]U MS7>)&'R.U=/=YBL(65BH3*HP&Q;?/K=Q(RF6,_F4IR6CIE&<+>/'*#?>P__U MI4TH05S8BH$DR%> PI_TVW+A.@9>WAXPEA;X \'M*6^P^I8^A_O4_(K\\^/ MN_US*QR+CB"XP8-C_XFEZ23\FT:&JF@AJH @Y[(A@:EB4@*%[8L^1P(.X003 MYB-12U@^EEGB[,P-?0DI'(ID>IA_\)Q&^.]XBI#*,= 8:2;VDZ@9DA2!6M@" M< /_)H#>S[ ?29%[QD!@\:(-'0OQ4D$KP6%;B!H9@BV%J*$!$S*%$;*IB(BL_*VS$SML3+KY"0*. M^U]<^!MX&LH!7QT?5>_7:5,\J4]ZNS)1<(S.=#SN_G_RI M"QL@M=G6.4>NO.D@LXJLVBB#J>7^13J;]9!*#VLVG8B6^45R-E)065KU9?G; M+S9Z=WJTT,MZ %] A/9+QB[Z''QURA^U[%*$"@05#G@)*N89,A'DZ3#73'L( MDF]AT%0WGDKX91Q_?W?^CP)!)3(R]& 1"[##)CP; U&.)&.A=V3;T;P*!@@< M[.4$TPJ1;W,C/+KPEHF75R$$R/1(AVPE*!/)46,ZS/ 7\'@FF3(FD:K@H%TP M-M1(4 QJ*:@VB5?=E.P>1?!Z5,71%P5_&_\=&WK)S4O!6'XNX;@)_23KOK)3 MT!+'2+)55!LUD:C+&EZ95(+L,\87;.+)(CRYY#3I8;\"SED "=!/O0=$(2OHI.[.-H"\.T).%FCT\R<97AO]5TZ^>VE!9K)R%V"^3LO MM71RC7=T;)\/.2\%'W0S>"Q@R^VQA7GF^LF +Q_$%_:.O5C"%3#F/>_J?=:L MO/$%;&=HH#P=_'[[]?WH:C7E;:H(+T+V]9=\(W?I,)CYMWW)TBMIYPL'':)E ML>M]GY+V'#'\ZO7V+2MH; M4#BW4M:_LKHX)T?0K#_Q^ M5L?FI-ST2WLPMV3=/QPRW\&="P#U:P"J4U7L/.FK-CX#J_7(./.8R8O=Z2+, M=9/C[JBTON><^PE3T4NGESZ?$UF#NCQWPRKP&S^GW_AFC8D#K/L:6$>4NJIK MHA_SS@!=K+%E2O[0U)IF<[-PUDGKEE4B?U7FL0PV" ;4N!*[1W^(:!3FVF_)XO*_E%3P+]* LL6.R,ZF.6Y+> M.!U-56Q@R5#>=[)HB53LE4A[/6X")4QW[%YI75C%U-8#S\:RX6ZGDD9)_O>[ MC+RE-W6\1A+CML>"5M!U::6HZKFF8S:*;]:%B41G*OF%5NLQHV8>SA."5Q5B MH[%/YUB]#JV]=BY.M[+O=\^]H>,VQ. MXP>FP:[T7^,QWQ(Q JQ_'ZS?Z[D[6*&I]SI<6V_DNA@+,QOM<1O9W$9F\G< M7D"K4KRA=!(TFVQKV\VV93#)!O31@(OI/U^*\G4H7M6U,)RH1A8<=380.3L= M>-)_X$E_])4D-T83!Z8_FB@!C,.NN:/GW$[-W6$;8;EGI-5B;"KTP^MLI:L. MEG_05_VC 7W53LJ3>4_I3!72N\DD E?];W'5@^3V34'W#6_G_P[&]J;SM=:,Q$0Z$]Y$Z*B<>XA55J2=[K=? MJ5#LM3![LVCJO,*C1. 7?TV_^*TST!^]U@ SSV#F!3ACM\UN>;!@^>F"G5?1 MR)[',@,96EG"@:-$B(Y]^1-'T")JYS<>]7D*O,;W]!H__+:05Q_E?&./\L,) M$,"G#S[QZ&_J;CJ/E#3W(I8+J#Q8M#-QQ3:BO)+,51\V="O?*?<6E/C4^H/SZS6INSN>ZS>#S M"V7JGECUYV]6X_1HF N;)QLT_(7*^>ET,.A0\SF#DRLV5/#_P;W%K^YH^9E0 MY>$^5DT,MJI&QU?KN#ZIYK+;J@R7AD "Z;7UV)_5P7%Z+KB'L_V-P0-G)G!F MOI S$\#L56"6P,<9<.T."IG1:!ZOT"S/K\-:(UO,959PS1(&U\@G/.QR28&R M:(0,N%O!$M8["#U[*/$OQ,DOM_$8%.0%\'H=>/5PI"VL?7\\UZ%ASBWBCW)" MF*+Y0):3C;S8I5=P,QTY3)A,?OE^.0=;GV>NLPF\UX_;_KPMN'XW[_:CB1# M\Y7A^3(F)ZKVLL)S4S-7DVA52Y:SXUF;7 $*'F\HDO@J&Y\'T+N[5P^+@@F7 M_Q$2!Z[O6[F^GZ&4)*@8"?#R'%Y6T;GN8KU:>[3-S$5AVMIVN^5!*6ZN\BNX MU!A\UU@H$J'_$N?5N3,AJ->[08?5_;NESV_,F[TE2K[,[?U04KYJ>YOZ'D#\ M-6Z&4-(ZAV;+2#XG=#DS%Q6RG7"A 7?3/WDUQ(_/Z1JS4?*.ZOE;IP.O.$@( M!PGAKPJO3]1<8RP D*R[2% '(#B#D<:\HR:,CO[(%^)Y'?J7]YA[4_?;*\!O2OP'W9N^N_?\Y%RU_^)X"LK9J2'^ MTTS'FH@-(06WM,)UZ(I!(?PBS'S\H6VBD0T)YR4R[RBH,3% K=1-:'_G_$%_ MNZ<&?LEUZGO);NNWVSNL9]VO5JV$F)T*"RD6[7*BNHXU#A0F;"+QIV0;<,FM MB;1CA^3I&?&$W _*"#F*4A4,8T ;[6*^P41S?&MLKU.&)3:%&/?MUTBW#0LA MC=H@P3"/U2"$]=GM-TE9NX:37X,]SW;2?&AMJXEAI3%=C"JLF8ZF9U%Y=446 MI6VZQ265>7^*PKEE*J&II6S69=%3[-'.=K7Y&@RZT,A#$+*#='%@L],XTQ%' M2GN3S2:NJ3[JIA#-L<)JR9UTI]B#5Q#8>U:2GT-EIRT MR&KT4ML"/;XOY>Q,I)FGY>VR5N"NR(AP.[DTEUF>FRJ1/B\L$YG^2&M\^Z5K MB##BF ]W%-@SBZ3=G7,(2 H+F/*"C/:&:83 KEF7+9] C%\+S2VR=BI"ARA@ M!*68+V)C:A"A=VS<__*[#E@GOEZO4:5'%T9S.S<.9X<;7CY+>:#+,=F] /6" M%'1=*YQ7<0-B@ M6IA]DHV7"W_!O"/2.+>-N6ZB(^E5G/N9)&>ACKR$"5D0P7[-=,55U$W'=7YK M0;Z2C2CWZK6IGE6FO%V9*;E&9CH?=MY4L'T3:3H$RP"-S@IHC%42@C!+-7*; M=#$>MIO11EC$QI>^.\V!^004SMT2/E,%I&$([NV)ID1) & XWQMV# $C@MKN" MY1ECUX4\IF$24#/,N[%)(0UF=FI*;D113%,7%;+NE6*-]_&>2U/ST%*"]LRP MLN"G=6,**Q=1B#RR%%0;G0P'?]'G<^P&@?!O #Y4Y%ID^-M^%/@32+NBV>1G M-Q@A3XULR\;Z*A/6.LS K%D"*131Q:5]Q.)H> AL^ J1)3IK<$T,'ELV])4K M 8YR8\[IMCRFG!P0^0=&Q6+T1-"*.:YA[F"AL9WYN"+ES-1A[7&:X=^2LOSU M'_P?C^6BBHTDI++&+K=V>[W *#>11=/_NDH^2L0"C@Q/3)BDE[?;B0G#.*L@ MLR;__>__\L_^=)?$3:KYEC5V3H.R)+\FH_#00,(T+(SPFW\*ZDK8F.XR$ZF[ MB)>N^[G+RT6(Y-)WD=B_*-_/0(\38LZ$==A',C>=%U;1R/KI?LW[C*3B=A_J M#C+]=!B\1##ZP;B$,[ [@W46^M!A3 F["XLR=XG8E7AUI,"0.??2J0*%D09; MA/]IUS)'N:8_>J7S*PR$!1?CO?J/_TRO^Y%/AH"X "C@IX!&9L!:D4ZK;E9+ MN%)FZU!X7:I<.HB<)943'1AW0Q7Q9U@.,$1@ +_;G4N^_BR/D?CBE*NU=JY% MM6M4IE;-YJJM7!9^:M4>2EFNC7_)EZI<-5/B'JA6&W]0R57;+>H[7^7X; G_ M_0?UG9N1 UX.-NFVB2T37C-:B]@64=BN4>88W"!L]800=DY4;+4I'8XKK!03 MX9D!C/_8']N^"%^'RG=.IS :NOCN(#;)ZPX'.+A?TXEM8Y3K=J0BQTM;8<') M WB4N0;NG=I'UR1BNZXJ6+<% YL05=7%O:4!9#_CSPT!*PGX"-ZE"W+<=\8,_&<31$Q1#M&>:!)A(; M+%B8<=B5(3;X((!U2 U<1(['NG_]3-A08QP XWC+Q&LGUA*[-0HV>GBFNN8. M(CI6$"R?N'.)1+]+-,)DT;!=5QVI(.D9YV7/4\I+AL 8JI,,P6N"+SY-$,WQ M-/#_2R'BIF.J@MR2+SO!/S4R]-EY*KRA-G^&I+X_C^^2X2!QC^5%F4%VW@ & MN@&+GD0_T"[R3*,,@B/A)U'TY[/53+V MD8I(BBFJN@F>'_Y-@/A)L+$RX?'GANY$)-10,+'DX/\'*<$J; +FOFD0^K0( M^,RE@B>OB/^