Pros on RecordHome-service contractors, from public records

Methodology

Where every number on this site comes from

Pros on Record publishes two kinds of fact: what open place data records about a business, and what a state licensing board publishes about a license. Each one is printed with its source and the date the file was pulled, and nothing else is claimed.

The measured figures on this page are read at build time from the Phase 1 gate file, phase1_gates.json, generated September 11, 2026 from run phase1-run6b. They are not restated here by hand. Where a figure was produced by hand labeling, the labeling round and the agreement statistic are given with it.

The counting universe rule

Every count on this site states the universe it counts and the date it was true. A metro trade count is the full deduplicated set of entities whose primary trade is that trade, including records that are not publishable and records our residential screen has suppressed, so the trade rows partition the area total. The alphabetical list on a hub page is a smaller, publishable subset: a record publishes only when it carries a name, a city, and either a street address or coordinates, and only when it is not flagged closed, duplicate, deleted, non-existent, private, or inappropriate upstream.

Licensed share is computed inside one state for one trade and is never computed across states. Its numerator is distinct entities with at least one active link to a license that covers the trade being reported. Where a state publishes no business-level license source for a trade, the share renders as not published, never as zero. 23 fact rows are withheld on that rule in this release, of which 22 are metro rows and the rest are state rows.

Records first appearing and records flagged closed count changes in the open place dataset, not business openings and closures. A record can appear years after a business opens, and the closure flag is a soft signal contributed upstream.

What each row of a fact block counts

The fact rows on a metro page, a trade hub, a city hub and a state page carry a label, a figure and the date the figure was true. What each row counts is the same everywhere it appears, so it is stated once here rather than repeated under every row on every page. Run 6 moved the metro page’s notes here and run 7 moved the hubs’.

Records first appearing, records flagged closed. Both count changes in the open place dataset over the last twelve months, not business openings and closures. A record can appear years after a business opens, and a closed flag is a signal contributed upstream rather than a confirmed closure.

Licensed share. Computed inside one state for one trade and never across a state line. Its numerator is distinct entities with at least one active link to a license covering the trade being reported. Its denominator is the linkable license universe: license records whose subject is a business entity or a qualified business, with individual-practitioner records excluded. Where a state publishes no business-level source for a trade, the share renders as not published, never as zero.

Licenses lapsed in the last 12 months. A lapse is a license that stopped being current, not a business that stopped trading. Where a state publishes no status column the figure is derived from expiration dates instead, which carries its own error rate; that row is labeled derived wherever it appears, in its own label rather than in a footnote.

Active licenses with no public listing. Active, trade-covering, business-level licenses in the area with no matching record in open place data, deduplicated on the license. This is the home-based tail, and it appears in no alphabetical list on this site.

Employment and pay. Employees in the occupation across the whole metro area as the Bureau of Labor Statistics counts them, not a count of the businesses listed on the page. The two are printed side by side and never divided into one another. The survey publishes a median by area rather than one national figure, so no national median appears on this site. Where no single occupation maps to a trade cleanly, no figure is shown at all.

Universe quality. The merge rate is the share of source records combined as duplicates, and the address share is the share carrying no street line. Both are measured for the area and trade the row sits on. A record with no street address still publishes when a city and coordinates are present.

Publishable, indexable, and license-only

A place-sourced record is publishable when it carries a name, a city, and either a street address or coordinates. Below that bar nothing is built. Nationally that is 1,138,523 entities in this release.

A record is indexable when it is publishable and also carries at least two of five signals: a phone in the record, a website, a published street address, a matched place-to-license pair, and a completed claim. 959,744 of those entities clear that bar. The rest keep their page at the same URL and their link from the metro hub; they carry a noindex tag and stay out of our sitemaps. One signal on its own was almost always a phone number, and on most of those records our residential screen keeps the phone off the page, so the page had no contact detail on it at all.

A license-only listing is one with a name, a city, and an active license match but no place record. A ZIP centroid does not satisfy the coordinate requirement, so these carry no map pin and an explicit line saying the location is not published. They are noindex until they clear the indexable bar and are excluded from sitemaps until then; the active license is one of the five signals, so one of these listings needs a published phone or street address as well. 2.6% of license records carry no usable county from the source file (18,369 of 699,994), which is why some license facts are reported at state level only.

Metro areas, cities, and the publish floor

A metro area on this site is a Census-defined core based statistical area, so it is a labour market rather than a city boundary and it can cross a state line. Licensing does not cross one: it is a state matter, so every license figure is computed inside a single state and never across two, and a metro that spans two states is filed under the state its own name leads with. The counts for such a metro cover the whole metro; the license figures cover the part of it inside the licensing state.

Every per-resident comparison on this site, on a metro page or a state page, describes where businesses are recorded rather than where work is done. A contractor addressed in a neighbouring metro can serve this one all week without appearing in its count, and a business with no street address in the source file is usually one that runs from a home, so it is counted in its city and carries no map pin.

A trade gets a page of its own in a metro only where it holds at least 8 publishable records there. Below that floor the alphabetical list is too short to be the reason anyone arrived, and the page would be the same fact block every other trade carries with almost nothing under it. Those trades are answered on the metro’s all-trades page instead and their old URLs redirect to it. 45 of 2,200 candidate hubs were removed on that rule. Nothing is hidden by it: the counts stay in the metro’s table.

A city inside a metro gets a page of its own on a stricter test again: at least 50 records, and a trade mix or an independent share that differs from its parent metro’s by a stated margin. A city that only repeats its metro would be a second URL for one answer, so it does not get one, and its records are answered on the metro’s trade page.

Ordering, and what never affects it

Listings are ordered alphabetically, or by distance with an alphabetical tie-break. Nothing on this site is ordered or matched by any commercial relationship, in this version or any later one. Claiming a listing is free, open to every business, cannot be purchased, and never changes order. License status is displayed as a fact and used as a safety gate on routing; it is never a sort key.

Businesses listed here may be, or may become, clients of the site owner’s services business. That never affects whether a business is listed, where it appears, or whether it is matched to a homeowner request. Where a homeowner request is routed, every qualifying contractor in the neutral set receives it free. A separate paid product books the appointment for contractors who buy it; selection never depends on who pays, and fulfillment after selection does.

The site never solicits a business at a phone number, mailing address, or email taken from any dataset. The one carve-out is a claim-initiated verification callback or postcard, which uses the number or address on record for verification only and is logged.

Sources, cadence, and compliance tier

Texas

TDLR (Texas Department of Licensing and Regulation)

Source.
Free bulk CSV downloads, no fee and no registration.
Cadence.
Daily, per the department's download page.
Compliance tier.
Permissive on access. Government Code 552.222(b) bars an inquiry into the requester's purpose and Occupations Code 403.053 makes license information public. Questions about republishing individual-level data are unresolved, so only business-level records are published here.
Status mapping.
The file publishes no status column. Status is derived from the expiration date, is labeled as derived everywhere it appears, and absence from a file is treated as a lapse only after that file passes a row-count sanity gate.
Filter chain.
Business-level records only: Electrical Contractors and Air Conditioning and Refrigeration Contractor companies, which carry business name, address, and phone. Individual practitioner rows are blanked by TDLR policy before the file is published. Roofing has no Texas state license, so no Texas roofing record carries a license line; municipal registration is never worded as a state license.
What that means here.
Two Texas statutes are named for the counsel review and constrain what is published in the meantime: Government Code Chapter 2062, which restricts the agency's dissemination of license applicants' identifying information, and Government Code 552.11765 read with 552.352, which makes individual license holders' home contact information confidential. Until that review closes, Texas publishes business-level records only, as TDLR itself does.

Texas (plumbing)

TSBPE (Texas State Board of Plumbing Examiners)

Source.
Free downloads, six files.
Cadence.
Per the board's publication schedule.
Compliance tier.
Same access position as TDLR. Every record in the file is an individual practitioner, so Texas issues no business-level plumbing license and Texas plumbing is listed only in practice.
Status mapping.
Board-published status, carried through unmodified and printed with the file date beside it.
Filter chain.
86,856 records across six files, all individual practitioners. The verified tier appears only where a Responsible Master Plumber's name matches a listed business.
What that means here.
The address and phone columns for individual records are dropped at ingest pending counsel. Texas plumbing publishes city only, with no phone from this file.

California

CSLB (Contractors State License Board)

Source.
CSLB Data Portal, free CSV and Excel.
Cadence.
Resolved at build; the portal's published cadence is disputed between daily and monthly.
Compliance tier.
Affirmatively authorized. Civil Code 1798.61(a) authorizes release of licensee names and addresses, and Government Code 7921.300 bars purpose-based access limits.
Status mapping.
Board-published status, carried through unmodified. A non-active status flips the profile line immediately to the raw state status with its date and pauses routing for that record until a later file shows active.
Filter chain.
About 243,000 licensees. In-scope classifications are C-20 (HVAC), C-36 (plumbing), C-10 (electrical), C-39 (roofing), C-33 (painting), C-15 (flooring), C-53 (swimming pool), and C-27 (landscaping). B (general building) counts toward no trade by default, settled in the Phase 1 crosswalk.
What that means here.
California licenses the business. No physical street field is published; Business and Professions Code 27 keeps the physical address internal, so the file carries a mailing address, which for the roughly 47% of licensees who are sole owners is frequently a home. Those records go through the residential screen below.

Florida

DBPR (Department of Business and Professional Regulation), CILB and ECLB

Source.
Weekly bulk CSV extracts, one per board.
Cadence.
Weekly.
Compliance tier.
Silent. No restriction was found across Chapters 119, 455, and 489.
Status mapping.
Board-published status, carried through unmodified. The Florida vocabulary is Current, Delinquent, Null and Void, Inactive, Suspended, and Revoked. The lapse count is not published for Florida. It is measured over the linkable business-level universe, which in Florida is the qualified-business rows, and those rows carry no observable non-active status, so a count taken over them would be a structural zero rather than a measurement. Florida's non-active licenses sit in the individual-practitioner layer, a different universe from the one the count is defined on, so the number is withheld the same way the licensed share is where no business-level source exists.
Filter chain.
256,036 rows in the construction file plus 19,196 in the electrical file, 275,232 total. Of those, 127,387 are qualified-business records and 147,845 are individual licensees: 115,573 certified, 5,584 registered and limited to the licensing county, and 26,688 other. Certified licenses in the four core trades total 43,310, of which 39,722 are active. Trade codes: CAC and CMC for HVAC, CFC and RF for plumbing, EC and ER for electrical, CCC and RC for roofing, CPC for pool.
What that means here.
Qualified-business rows carry no trade code of their own and no qualifier link field, and the extract leaves their license number blank. Their trade is resolved through the qualifying agent's record by an exact name, board, and city match, which resolves 12.4% of them; the rest stay other and are excluded from trade counts. Those rows carry an internal record key only and no published license number, so Florida's verified tier is in practice built on its individual certified licensees. Florida electrical has no business-level license source at all. The applicant phone extracts were dropped: they carry no license number and no application date, so no reliable join exists. Registered licenses are shown only within their licensing county.

Utah

DOPL (Division of Professional Licensing)

Source.
Excluded from the verified layer.
Cadence.
Not ingested.
Compliance tier.
Excluded. Utah Administrative Code R156-1-106 restricts use of the licensee list, so license verification is not offered here for Utah.
Status mapping.
Not applicable. No Utah license record is ingested or displayed.
Filter chain.
None. No DOPL file enters the pipeline, so no Utah row is filtered, counted, or joined.
What that means here.
Utah contractors appear from open place data only, with no license line of any kind.

The files behind this release

SourceFile dateRecords
Foursquare Open Source PlacesAugust 11, 2026release
CA CSLBSeptember 2, 2026242,879
FL DBPR-CILBSeptember 2, 2026256,036
FL DBPR-ECLBSeptember 2, 202619,196
TX TDLRSeptember 2, 202695,027
TX TSBPESeptember 1, 202686,856

What was modified

The Apache 2.0 license requires a statement of changes, and this is it. The place data was filtered to United States home-improvement categories; deduplicated; assigned a primary trade and a set of all trades from its source categories; assigned to a county and a metro area from its coordinates or postcode; screened for residential addresses and for names the site does not print; and joined to state license records. Fields were derived, never invented: where a value is computed rather than published by a source, the page says so beside it. No field was edited to correct or improve a source value.

Deduplication

1,173,066 source rows in the home-services subset become 1,165,208 entities. 7,858 rows are merged away, a merge rate of 0.7%.

A pair merges only on two or more of a matching phone, a matching website, and a matching address. Single-signal pairs are held, not merged. Blended precision under that rule is 98.8% estimated, from labeling round 2 with two blind labelers and a kappa of 0.89. That figure is an estimate over the labeled sample rather than a direct measurement of the shipped run, and it is reported that way here.

Matching a place to a license

A license fact appears on a listing only where a link between the place record and the license record was accepted. Blended precision on the accepted set is 99.25% blended, against a floor of 98%, from labeling round 4 with two blind labelers and a kappa of 0.97. Below that floor the licensed-share figure is withheld rather than published.

Recall is the weaker of the two numbers and is stated as what it is. Of the candidate pairs the rules hold rather than accept, 5% of held pairs were labeled as the same business. That bounds what the accepted set misses among pairs that reached the blocking stage. It is not a recall figure against all true matches, because pairs that never reached blocking were never labeled. A true recall estimate needs a labeled sample drawn from licenses rather than from candidate pairs, and this release does not have one.

The consequence for a reader: an absent license line means no accepted link, which is not the same as no license. The listing says so in those words, and never the other thing.

The residential screen

Many contractors run the business from home, and several state files publish that address. A residential screen runs over every record. When it matches, the street line, the coordinates, and any personal phone number are suppressed; the record publishes with its city only, with no map pin, and its coordinates are snapped to a ZIP-code-area centroid rather than a rooftop. A screened record also skips the street-name step in the URL rule and goes straight to an entity-ID hash, because a slug is a published string.

The trigger signals, all of them free and none of them purchased, are: no other business place at the same normalized address in this site’s own place layer; a unit or apartment designator; a PO box; a residential street-type pattern; and a sole-owner subject type in any state. Two rules came out of the labeled set and are enforced: the weak signal of no other business at the address never raises the flag on its own, and a commercial premises signal blocks the flag entirely, so a sole owner at a suite, unit, building, or floor number is not suppressed. Everything else is biased toward over-suppression. Paid residential-delivery data is out of scope.

Measured on the round 2 labeled sample, two blind labelers, kappa 0.86: precision 98.8%, which is the binding number, and recall 56%, which is the known cost. Twenty of the sixty-four misses are Texas rows carrying no address at all, which no address-based screen can catch. Two regex faults found in the same round were fixed afterward, so the shipped screen is better than that recall figure, but it was not re-measured against a fresh sample and the improvement is not claimed as a number.

Chains, franchises, and what counts as independent

The threshold is computed on how many locations share a normalized business name nationally. A name reaches the chain threshold at ten or more locations across three or more states, or twenty-five or more locations in a single state. A seed list decides, for names over the threshold, whether the brand is franchised or corporate-owned.

Four buckets, all of them retained in the counts: independent, which is first-class throughout the site (1,101,557 entities); franchise brand, which is labeled, claimable, and routable (13,945); corporate-owned, which is labeled, not claimable, and not routed (16,286); and a review bucket for brands at the threshold that the seed list does not cover, which is labeled and not routable until it is classified (6,735). No record carrying a chain flag is ever described as independent, and no franchise-versus-corporate ratio is published as complete while the review bucket has entries in it.

1,101,968 of the 1,138,523 publishable entities are routable at all. The difference is corporate-owned records, the unreviewed chain bucket, the name screen below, Florida roofing, and entities whose every linked license is non-active.

The Florida roofing rule

Florida Statute 489.147, “Prohibited property insurance practices,” prohibits a contractor from offering or accepting compensation for referrals tied to services for which property insurance proceeds are payable, and imputes a compensated non-employee’s soliciting acts to the contractor. A compensated routing arrangement would make this site that non-employee.

The rule here is therefore unconditional and enforced in code, not by judgment: a Florida roofing request is never routed, to anyone, regardless of relationship. It is evaluated at routing time on the property’s state plus the trade. It extends past routing: no compensated lead generation and no solicitation for any Florida roofing contractor under the marketing services product. Merchant processing and business software remain available. Florida roofing contractors are told at claim time that routing is unavailable to them, rather than discovering it later.

Florida roofing businesses are still listed, still carry their license facts, and are still shown to homeowners. Nothing about this rule removes a business from the directory.

Non-endorsement

The Texas Department of Licensing and Regulation does not endorse, sponsor, or approve Pros on Record or anything published here. TDLR data is reproduced from the department’s free bulk file under its attribution and link conditions. No state licensing board named on this site endorses, sponsors, or approves it. A license record is a public record, not a recommendation.

Screens and suppression

A publish-time business-name screen runs over every rendered business name and holds back 7 records nationally, every one of them a venue-supplied name in the source file. The database agrees: 7 rows carry the flag in this release. They stay in the counting universe, so the totals still reconcile, and they never render as a listing, a profile, a sitemap entry, or structured data.

0 records are held in the owner-requested suppression table and are filtered out of every release. Suppression is keyed on the entity ID and on a fingerprint of the normalized business name plus its city, state, ZIP, and county, so a removal survives the next release even when the upstream record is re-issued under a new identifier. Removed URLs return HTTP 410, not a redirect and not a soft 404.

Counters, and the review this site owes

Two counters are kept because two different legal thresholds turn on them. Distinct homeowners whose data is held: 0 as of September 2, 2026. No request form is live, so that is a true zero and not a missing measurement. Distinct natural persons in the license layer: 360,830 as of September 2, 2026. No cross-board person identifier exists, so a person licensed by two boards is counted twice; the figure is an upper bound, exact within a state and board.

Both counters alert at 25,000 and are reviewed before 50,000. The premise under the license-layer counter, named here because it is load-bearing and not yet blessed by counsel, is that license records drawn from public state files are publicly available information and fall outside the definition of personal data that the Texas Data Broker Act borrows. If that premise fails, the license-layer counter is the one that matters.

Corrections and removals

A correction and a removal are verified the same way a claim is, and neither requires a claim. The response target is five business days. Every confirmation states the refresh cycle for the source in question, so a change made here is not silently overwritten the next time that file lands, and links the upstream source so the record can also be fixed at origin.

A removal suppresses the record from every later release, by entity ID and by the name-plus-geography fingerprint described above, and the URL returns HTTP 410. A correction changes what this site displays and is held against the incoming file so the next release does not undo it. Neither one changes the upstream record, which is why every form here also links the place to report it at source.

Both forms are reached from the listing itself. Every profile carries a request-removal link and a suggest-correction link, and each form is bound to that one listing, so nothing has to be described in a free-text field before it can be acted on.

Foursquare NOTICE

Reproduced in full, as the license requires. The modification notice at the end describes what this site changed.

© 2026 Foursquare Labs, Inc. All rights reserved. The Foursquare OS Places dataset (the “Data”) is licensed under the Apache License, Version 2.0 (the “License”). You may not use, modify, or distribute the Data except in compliance with the License. As set forth more fully in the License, if you use, modify, or distribute the Data, you must: – provide recipients with a copy of the License. – if applicable, include prominent notices to the extent you’ve changed the Data. – preserve attribution to Foursquare, including preserving the full content of this NOTICE.txt file. To ensure appropriate attribution to Foursquare, we recommend the following: – if using/distributing the Data in flat file form as-is or after making changes/modifications: include this NOTICE.txt file, which may be modified to include an additional notice of your changes/modifications, if any. – if using/distributing the Data in API form as-is or after making changes/modifications: include a copy of the content from this NOTICE.txt file prominently in your developer documentation for such API, which may be modified to include an additional notice of your changes/modifications, if any. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, the Data distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. We also encourage you to join our Placemaker community where you can contribute and provide suggestions to improve the accuracy of the Data for future releases for yourself and others. Modification notice for this distribution: The source data was filtered to US records in selected home-improvement categories. The email field was removed. Closure and unresolved-flag booleans, all_trades, and primary_trade were derived. Source records were otherwise retained, including closed and flagged records.

Apache License, Version 2.0

The place data on this site is licensed under the Apache License, Version 2.0, reproduced here in full.

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.