Öffentliches Register
Software-GesundheitsberichtSchema 0.26.0 · Metriken 1.13.0 · 2026-07-22 00:32 UTC

apache / thrift

Apache Thrift

C++Apache-2.0★ 10.941 Sterne⑂ 4.113 Forksseit Sept. 2009Auf GitHub ansehen ↗

apache/thrift erreicht einen Gesundheitsindex von 82 von 100 und liegt damit im Bereich Gut. Am stärksten schneidet es bei Community & Adoption (95/100) ab, am schwächsten bei Sustainability & Governance (70/100). Zuletzt heute aktualisiert. 3 Mitwirkende tragen den Großteil der jüngsten Arbeit.

82
gesamt / 100
Gut

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

82
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

23.513 Follower3.146 öffentliche Reposseit Jan. 2009

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
Gogithub.com/apache/thriftv0.24.0-16vor 16 Tagen
npmthrift0.24.05.546.38229vor 10 Tagen
Packagistapache/thriftv0.24.09.42622vor 16 Tagenrpc

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

91Exzellent · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
32.5/36Commit-Rhythmus — 47/52 Wochen mit Commits
18/18Commit-Volumen — 566 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year566
human_commit_share0,86
days_since_last_push0
active_weeks_last_year47
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 18 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 10 Tagen
12.6/27Release-Rhythmus — ein Release etwa alle 178,5 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count18
latest_release_tagv0.24.0
releases_from_tagsnein
days_since_latest_release10
mean_days_between_releases178,5
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

95Exzellent · 18 % des Gesamtindex
Wie die Bewertung erfolgt
60/60Stars — 10.941 Stars
25/25Forks — 4.113 Forks
14.7/15Watcher — 445 Watcher
Verwendete Eingangsdaten
forks4.113
stars10.941
watchers445
growth_stateorganic
growth_factor_pct100
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (Apache-2.0)
18/18CONTRIBUTING-Leitfaden
13.5/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductja
has_pull_request_templateja
Wie die Bewertung erfolgt
80/80Downloads pro Monat — 5.555.808 Downloads/Monat über go, npm, packagist
11.6/20Abhängige in der Registry — 54 Pakete hängen davon ab
Verwendete Eingangsdaten
packagesgithub.com/apache/thrift, thrift, apache/thrift
dependents54
ecosystemsgo, npm, packagist
total_downloads2.115.718
monthly_downloads5.555.808

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

70Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
36/54Bus-Faktor — 3 Beitragende decken die Hälfte aller Commits ab
15.7/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 30 % der Commits
13.5/13.5Breite der Beitragenden — 98 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 33 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor3
contributors_sampled98
top_contributor_share0,301
Wie die Bewertung erfolgt
0/46.8Issue-Lösungsquote — keine Issues oder keine Daten
14.4/38.3PR-Annahme — 1.375/3.640 entschiedene PRs gemergt
1.5/15OpenSSF Scorecard: Code-Review — Found 3/26 approved changesets -- score normalized to 1
Verwendete Eingangsdaten
merged_prs1.375
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs2.265
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Issue-Lösungsquote. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
25/25Reichweite des Inhabers — 23.513 Follower von apache
25/25Kontohistorie — 3.146 öffentliche Repos, Kontoalter ca. 17 Jahre
Verwendete Eingangsdaten
followers23.513
owner_typeOrganization
is_verified
owner_loginapache
public_repos3.146
account_age_days6.394

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 3 Paket(e) auf go, npm, packagist
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 10 Tagen
20/20Versionshistorie — 29 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesgithub.com/apache/thrift, thrift, apache/thrift
ecosystemsgo, npm, packagist
any_deprecatednein
min_days_since_publish10

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

84Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 11 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .flake8, .rubocop.yml, eslint.config.mjs, phpstan.neon
0/9.6Pre-Commit-Hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfigja
has_linter_configja
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
10/10Topics — 11 Topics
0/10Wiki
Verwendete Eingangsdaten
topicsd, thrift, cplusplus, dart, actionscript, http, network-client, network-server, csharp, library, c
has_wikinein
homepage
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

71Gut · 16 % des Gesamtindex
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 3/26 approved changesets -- score normalized to 1
2.5/2.5Contributors — project has 33 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
2/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — keine Daten
6/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 25 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate7,3
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): signed_releases. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
14/35Direkte Abhängigkeiten ohne bekannte Advisories — 1 betroffen: uuid 3.4.0 (high 7.5)
0/25Indirekte Abhängigkeiten ohne bekannte Advisories — transitive Menge in diesem Bereich nicht von Entwicklungs- und Test-Abhängigkeiten trennbar
33.7/40Keine offenen Advisories — 1 Paket(e) mit Advisory seit über 90 Tagen unbehandelt; ältestes vor 90 Tagen veröffentlicht
Verwendete Eingangsdaten
sourceosv
advisories34
affected_packages22
assessed_packages803
unassessed_packages40
affected_by_severitycritical 1, high 14, moderate 5, low 1, unknown 1
direct_affected_packages1
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Indirekte Abhängigkeiten ohne bekannte Advisories. Die verbleibenden Gewichte wurden renormalisiert. 803 aufgelöste Abhängigkeiten wurden mit OSV abgeglichen. 40 konnten nicht bewertet werden — keine aufgelöste Version, ein nicht unterstütztes Ökosystem oder außerhalb der ausgewiesenen Paketliste. Dieses Repository veröffentlicht kein Paket, das der Index auflöst; bewertet wurde daher der Abhängigkeitsgraph des Repositorys. Dieser Graph vermischt Entwicklungs- und Test-Pins mit ausgelieferten Abhängigkeiten, daher werden nur die deklarierten Laufzeit-Abhängigkeiten bewertet; transitive Befunde werden als Kontext ausgewiesen und fließen nicht in die Bewertung ein. Erreichbarkeit wird nicht analysiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

82Gut · 0 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — AGENTS.md, CLAUDE.md
0/15Maschinenlesbare Doku (llms.txt)
31.6/40Lesbare Commit-Historie — 51 von 86 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,593
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes6.782
Wie die Bewertung erfolgt
18/18Bootstrap mit einem Befehl — contrib/async-test/Makefile, contrib/transport-sample/Makefile, contrib/zeromq/Makefile, lib/nodejs/examples/Makefile, lib/ocaml/src/Makefile, lib/ocaml/test/Makefile, test/ocaml/Makefile, test/ocaml/client/Makefile, test/ocaml/server/Makefile, test/threads/Makefile
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .flake8, .rubocop.yml, eslint.config.mjs, phpstan.neon
11/11Statische Typprüfung — lib/nodets/test/tsconfig.json, lib/ts/tsconfig.json
10/10Reproduzierbare Umgebung — Dockerfile, lockfile
10/10Belegte Agentenpraxis — 39 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
8/8Automatisierte Wartung — 14 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
4/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilesGemfile.lock, go.sum, package-lock.json
has_dockerfileja
typed_languageja
bootstrap_filescontrib/async-test/Makefile, contrib/transport-sample/Makefile, contrib/zeromq/Makefile, lib/nodejs/examples/Makefile, lib/ocaml/src/Makefile, lib/ocaml/test/Makefile, test/ocaml/Makefile, test/ocaml/client/Makefile, test/ocaml/server/Makefile, test/threads/Makefile
has_devcontainernein
has_linter_configja
typecheck_configslib/nodets/test/tsconfig.json, lib/ts/tsconfig.json
agent_commit_share0,39
toolchain_manifestscontrib/Rebus/RebusSample.csproj, contrib/thrift-maven-plugin/pom.xml, contrib/zeromq/csharp/ThriftZMQ.csproj, go.mod, lib/go/test/fuzz/go.mod, lib/go/test/go.mod, lib/java/android/build.gradle, lib/java/build.gradle, lib/kotlin/build.gradle.kts, lib/kotlin/cross-test-client/build.gradle.kts, lib/kotlin/cross-test-server/build.gradle.kts, lib/netstd/Benchmarks/Thrift.Benchmarks/Thrift.Benchmarks.csproj, lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net10/Thrift.Compile.net10.csproj, lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net8/Thrift.Compile.net8.csproj, lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net9/Thrift.Compile.net9.csproj, lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.netstd2/Thrift.Compile.netstd2.csproj, lib/netstd/Tests/Thrift.FuzzTests/Thrift.FuzzTests.csproj, lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj, lib/netstd/Tests/Thrift.Tests/Thrift.Tests.csproj, lib/netstd/Thrift.AspNetCore/Thrift.AspNetCore.csproj, lib/netstd/Thrift/Thrift.csproj, lib/rs/Cargo.toml, lib/rs/test/Cargo.toml, lib/rs/test/fuzz/Cargo.toml, lib/rs/test_recursive/Cargo.toml, test/go/go.mod, test/netstd/Client/Client.csproj, test/netstd/Server/Server.csproj, test/rs/Cargo.toml, tutorial/netstd/Client/Client.csproj, tutorial/netstd/Interfaces/Interfaces.csproj, tutorial/netstd/Server/Server.csproj, tutorial/rs/Cargo.toml
dependency_bot_commit_share0,14
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — C++ (statisch typisiert)
54.4/55Handhabbare Dateigrößen — 17/1.626 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageC++
largest_source_bytes418.812
source_files_sampled1.626
oversized_source_files17
Wie die Bewertung erfolgt
0/40API-Schema (OpenAPI/GraphQL/proto)
0/20MCP-Server
40/40Lauffähige Beispiele — examples
Verwendete Eingangsdaten
example_dirsexamples
has_mcp_signalnein
api_schema_files

Eckdaten

10.941GitHub-Sterne
98Mitwirkende
566Commits, letzte 12 Monate
0Tage seit letztem Push
18Releases
3Bus-Faktor
0offene Issues
Go, npm, PackagistPaket-Ökosysteme

Warnungen zur Datenerhebung

  • deps.dev does not index npm:thrift@0.24.0; advisories assessed against the repository dependency graph instead

Weitere Details

Stern- und Fork-Verlauf 10.941 ★ / 4.113 ⇿
10.941Sterne
4.113Forks
15Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

Es wird nur die jüngste Historie angezeigt — dieses Repository überschreitet das Erfassungsfenster, sodass die früheste Historie nicht erfasst wird.

04.0008.00012.00010.9414.1131452020-092023-082026-07
Major 0Minor 11Patch 3

Jeder Punkt umfasst 6 Tage.

OpenSSF Scorecard 7.3 / 10
7.3Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-22 00:32 UTC

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 3/26 approved changesets -- score normalized to 1
10Contributorsproject has 33 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
4Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 4
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
k. A.Signed-Releasesno releases found
8Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities25 existing vulnerabilities detected
Direkte Abhängigkeiten 9
RegistryPaketVersionsvorgabeManifest
Packagistpsr/log^1.0 || ^2.0 || ^3.0composer.json
Packagistpsr/http-client^1.0composer.json
Packagistpsr/http-factory^1.0composer.json
Packagistpsr/http-message^1.0 || ^2.0composer.json
npmbrowser-or-node^1.2.1package.json
npmisomorphic-ws^4.0.1package.json
npmnode-int64^0.4.0package.json
npmuuid^14.0.0package.json
npmws^8.21.0package.json
Alle Abhängigkeiten 843

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 11 direkte und 832 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
npmbrowser-or-node1.2.1direkt
npmisomorphic-ws4.0.1direkt
npmnode-int640.4.0direkt
npmuuid14.0.0direkt
npmuuid3.4.0direkt
npmws6.2.4direkt
npmws8.21.0direkt
Packagistpsr/http-clientdirekt
Packagistpsr/http-factorydirekt
Packagistpsr/http-messagedirekt
Packagistpsr/logdirekt
crates.ioarbitraryindirekt
crates.iobitflagsindirekt
crates.iobyteorderindirekt
crates.ioclapindirekt
crates.ioenv_loggerindirekt
crates.iointeger-encodingindirekt
crates.iolibfuzzer-sysindirekt
crates.iologindirekt
crates.ioordered-floatindirekt
crates.iorandindirekt
crates.iorustlsindirekt
crates.iorustls-pemfileindirekt
crates.iothreadpoolindirekt
crates.iouuidindirekt
Gogithub.com/golang/mockv1.6.0indirekt
Gogolang.org/x/modv0.4.2indirekt
Gogolang.org/x/sysv0.0.0-20220412211240-33da011f77adindirekt
Gogolang.org/x/toolsv0.1.1indirekt
Gogolang.org/x/xerrorsv0.0.0-20200804184101-5ec99f83aff1indirekt
Mavencom.google.guava:guava32.0.1-jreindirekt
Mavenjunit:junit4.13.1indirekt
Mavenorg.apache.maven.plugins:maven-antrun-pluginindirekt
Mavenorg.apache.maven.plugins:maven-compiler-pluginindirekt
Mavenorg.apache.maven.plugins:maven-surefire-pluginindirekt
Mavenorg.apache.maven:maven-core3.9.8indirekt
Mavenorg.apache.maven:maven-plugin-api3.9.8indirekt
Mavenorg.codehaus.plexus:plexus-utils4.0.3indirekt
Mavenorg.mockito:mockito-all1.10.19indirekt
npm@babel/code-frame7.29.0indirekt
npm@babel/core7.8.4indirekt
npm@babel/generator7.23.0indirekt
npm@babel/helper-environment-visitor7.22.20indirekt
npm@babel/helper-function-name7.23.0indirekt
npm@babel/helper-hoist-variables7.22.5indirekt
npm@babel/helper-split-export-declaration7.22.6indirekt
npm@babel/helper-string-parser7.27.1indirekt
npm@babel/helper-string-parser7.29.7indirekt
npm@babel/helper-validator-identifier7.28.5indirekt
npm@babel/helper-validator-identifier7.29.7indirekt
npm@babel/helpers7.29.2indirekt
npm@babel/parser7.29.3indirekt
npm@babel/parser7.29.7indirekt
npm@babel/template7.28.6indirekt
npm@babel/traverse7.23.2indirekt
npm@babel/types7.29.0indirekt
npm@babel/types7.29.7indirekt
npm@eslint-community/eslint-utils4.9.1indirekt
npm@eslint-community/regexpp4.12.1indirekt
npm@eslint/config-array0.21.2indirekt
npm@eslint/config-helpers0.4.2indirekt
npm@eslint/core0.17.0indirekt
npm@eslint/eslintrc3.3.5indirekt
npm@eslint/js9.39.4indirekt
npm@eslint/object-schema2.1.7indirekt
npm@eslint/plugin-kit0.4.1indirekt
npm@humanfs/core0.19.1indirekt
npm@humanfs/node0.16.6indirekt
npm@humanwhocodes/module-importer1.0.1indirekt
npm@humanwhocodes/retry0.3.1indirekt
npm@humanwhocodes/retry0.4.3indirekt
npm@istanbuljs/load-nyc-config1.0.0indirekt
npm@istanbuljs/schema0.1.2indirekt
npm@jridgewell/gen-mapping0.3.3indirekt
npm@jridgewell/resolve-uri3.1.1indirekt
npm@jridgewell/set-array1.1.2indirekt
npm@jridgewell/sourcemap-codec1.4.15indirekt
npm@jridgewell/trace-mapping0.3.20indirekt
npm@jsdoc/salty0.2.12indirekt
npm@jsdoc/salty0.2.5indirekt
npm@pkgr/core0.1.1indirekt
npm@types/color-name1.1.1indirekt
npm@types/estree1.0.6indirekt
npm@types/json-schema7.0.15indirekt
npm@types/linkify-it3.0.2indirekt
npm@types/linkify-it5.0.0indirekt
npm@types/markdown-it12.2.3indirekt
npm@types/markdown-it14.1.2indirekt
npm@types/mdurl1.0.2indirekt
npm@types/mdurl2.0.0indirekt
npm@types/node22.10.5indirekt
npm@types/node-int640.4.29indirekt
npm@types/node-int640.4.32indirekt
npm@types/qunit2.5.4indirekt
npmabbrev1.1.1indirekt
npmacorn6.4.2indirekt
npmacorn7.4.1indirekt
npmacorn8.16.0indirekt
npmacorn-dynamic-import4.0.0indirekt
npmacorn-jsx5.3.2indirekt
npmacorn-node1.6.2indirekt
npmacorn-node1.8.2indirekt
npmacorn-walk6.1.1indirekt
npmacorn-walk7.1.1indirekt
npmagent-base4.3.0indirekt
npmaggregate-error3.0.1indirekt
npmajv6.15.0indirekt
npmalign-text0.1.4indirekt
npmansi-regex2.1.1indirekt
npmansi-regex5.0.1indirekt
npmansi-styles2.2.1indirekt
npmansi-styles3.2.1indirekt
npmansi-styles4.2.1indirekt
npmansi-styles4.3.0indirekt
npmappend-transform2.0.0indirekt
npmarchy1.0.0indirekt
npmargparse1.0.10indirekt
npmargparse2.0.1indirekt
npmarray-each1.0.1indirekt
npmarray-find-index1.0.2indirekt
npmarray-slice1.1.0indirekt
npmasn1.js5.4.1indirekt
npmassert1.4.1indirekt
npmassert1.5.0indirekt
npmasync0.2.10indirekt
npmasync3.2.3indirekt
npmasync3.2.6indirekt
npmasync-limiter1.0.0indirekt
npmavailable-typed-arrays1.0.7indirekt
npmbalanced-match1.0.0indirekt
npmbase64-js1.3.0indirekt
npmbase64-js1.3.1indirekt
npmbluebird3.7.2indirekt
npmbn.js4.11.8indirekt
npmbn.js4.12.0indirekt
npmbn.js5.2.1indirekt
npmbn.js5.2.3indirekt
npmbrace-expansion1.1.11indirekt
npmbrace-expansion2.0.3indirekt
npmbrace-expansion2.1.0indirekt
npmbraces3.0.3indirekt
npmbrorand1.1.0indirekt
npmbrowser-pack6.1.0indirekt
npmbrowser-resolve1.11.3indirekt
npmbrowserify16.2.3indirekt
npmbrowserify16.5.0indirekt
npmbrowserify-aes1.2.0indirekt
npmbrowserify-cipher1.0.1indirekt
npmbrowserify-des1.0.2indirekt
npmbrowserify-rsa4.1.0indirekt
npmbrowserify-sign4.2.2indirekt
npmbrowserify-zlib0.1.4indirekt
npmbrowserify-zlib0.2.0indirekt
npmbuffer5.2.1indirekt
npmbuffer5.4.3indirekt
npmbuffer-crc320.2.13indirekt
npmbuffer-equals1.0.4indirekt
npmbuffer-from1.1.1indirekt
npmbuffer-shims1.0.0indirekt
npmbuffer-xor1.0.3indirekt
npmbufferutil4.0.1indirekt
npmbuiltin-modules1.1.1indirekt
npmbuiltin-status-codes3.0.0indirekt
npmcached-path-relative1.1.0indirekt
npmcaching-transform4.0.0indirekt
npmcall-bind1.0.8indirekt
npmcall-bind-apply-helpers1.0.2indirekt
npmcall-bound1.0.4indirekt
npmcallsites3.1.0indirekt
npmcamelcase1.2.1indirekt
npmcamelcase2.1.1indirekt
npmcamelcase5.3.1indirekt
npmcamelcase-keys2.1.0indirekt
npmcatharsis0.9.0indirekt
npmcenter-align0.1.3indirekt
npmchalk1.1.3indirekt
npmchalk2.4.1indirekt
npmchalk4.1.2indirekt
npmcipher-base1.0.6indirekt
npmclean-stack2.2.0indirekt
npmcli1.0.1indirekt
npmcliui2.1.0indirekt
npmcliui6.0.0indirekt
npmcolor-convert1.9.3indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.3indirekt
npmcolor-name1.1.4indirekt
npmcolors1.1.2indirekt
npmcombine-source-map0.8.0indirekt
npmcommander13.0.0indirekt
npmcommander2.20.0indirekt
npmcommondir1.0.1indirekt
npmconcat-map0.0.1indirekt
npmconcat-stream1.6.2indirekt
npmconnect3.6.6indirekt
npmconsole-browserify1.1.0indirekt
npmconstants-browserify1.0.0indirekt
npmconvert-source-map1.1.3indirekt
npmconvert-source-map1.7.0indirekt
npmcore-util-is1.0.2indirekt
npmcreate-ecdh4.0.3indirekt
npmcreate-hash1.1.3indirekt
npmcreate-hash1.2.0indirekt
npmcreate-hmac1.1.7indirekt
npmcross-spawn7.0.1indirekt
npmcross-spawn7.0.6indirekt
npmcrypto-browserify3.12.0indirekt
npmcurrently-unhandled0.4.1indirekt
npmdash-ast1.0.0indirekt
npmdate-now0.1.4indirekt
npmdateformat3.0.3indirekt
npmdateformat4.6.3indirekt
npmdebug2.6.9indirekt
npmdebug3.2.7indirekt
npmdebug4.3.2indirekt
npmdebug4.4.3indirekt
npmdecamelize1.2.0indirekt
npmdeep-equal1.0.1indirekt
npmdeep-is0.1.4indirekt
npmdefault-require-extensions3.0.0indirekt
npmdefine-data-property1.1.4indirekt
npmdefine-properties1.1.3indirekt
npmdefined1.0.0indirekt
npmdeps-sort2.0.0indirekt
npmdeps-sort2.0.1indirekt
npmdes.js1.0.0indirekt
npmdes.js1.0.1indirekt
npmdetect-file1.0.0indirekt
npmdetective5.1.0indirekt
npmdetective5.2.0indirekt
npmdiffie-hellman5.0.3indirekt
npmdom-serializer0.2.2indirekt
npmdomain-browser1.2.0indirekt
npmdomelementtype1.3.1indirekt
npmdomelementtype2.3.0indirekt
npmdomhandler2.3.0indirekt
npmdomutils1.5.1indirekt
npmdunder-proto1.0.1indirekt
npmduplexer0.1.1indirekt
npmduplexer20.1.4indirekt
npmee-first1.1.1indirekt
npmelliptic6.6.1indirekt
npmemoji-regex8.0.0indirekt
npmencodeurl1.0.2indirekt
npmentities1.0.0indirekt
npmentities2.1.0indirekt
npmentities2.2.0indirekt
npmentities4.5.0indirekt
npmerror-ex1.3.2indirekt
npmes-abstract1.12.0indirekt
npmes-define-property1.0.1indirekt
npmes-errors1.3.0indirekt
npmes-object-atoms1.1.1indirekt
npmes-to-primitive1.2.0indirekt
npmes6-error4.1.1indirekt
npmes6-promise4.2.5indirekt
npmes6-promisify5.0.0indirekt
npmescape-html1.0.3indirekt
npmescape-string-regexp1.0.5indirekt
npmescape-string-regexp2.0.0indirekt
npmescape-string-regexp4.0.0indirekt
npmeslint9.39.4indirekt
npmeslint-config-prettier10.0.1indirekt
npmeslint-plugin-prettier5.2.1indirekt
npmeslint-scope8.4.0indirekt
npmeslint-visitor-keys3.4.3indirekt
npmeslint-visitor-keys4.2.1indirekt
npmespree10.4.0indirekt
npmesprima4.0.1indirekt
npmesquery1.6.0indirekt
npmesrecurse4.3.0indirekt
npmestraverse5.3.0indirekt
npmesutils2.0.3indirekt
npmeventemitter20.4.14indirekt
npmeventemitter25.0.1indirekt
npmevents2.1.0indirekt
npmevp_bytestokey1.0.3indirekt
npmexit0.1.2indirekt
npmexit-x0.2.2indirekt
npmexpand-tilde2.0.2indirekt
npmextend3.0.2indirekt
npmextract-zip1.7.0indirekt
npmfast-deep-equal3.1.3indirekt
npmfast-diff1.2.0indirekt
npmfast-json-stable-stringify2.1.0indirekt
npmfast-levenshtein2.0.6indirekt
npmfast-safe-stringify2.0.7indirekt
npmfd-slicer1.1.0indirekt
npmfigures1.7.0indirekt
npmfile-entry-cache8.0.0indirekt
npmfill-range7.1.1indirekt
npmfinalhandler1.1.0indirekt
npmfind-cache-dir3.2.0indirekt
npmfind-up1.1.2indirekt
npmfind-up4.1.0indirekt
npmfind-up5.0.0indirekt
npmfindup-sync0.3.0indirekt
npmfindup-sync4.0.0indirekt
npmfindup-sync5.0.0indirekt
npmfined1.2.0indirekt
npmflagged-respawn1.0.1indirekt
npmflat-cache4.0.1indirekt
npmflatted3.4.2indirekt
npmfor-each0.3.3indirekt
npmfor-each0.3.5indirekt
npmfor-in1.0.2indirekt
npmfor-own1.0.0indirekt
npmforeground-child2.0.0indirekt
npmfromentries1.2.0indirekt
npmfs.realpath1.0.0indirekt
npmfunction-bind1.1.2indirekt
npmgensync1.0.0-beta.1indirekt
npmget-assigned-identifiers1.2.0indirekt
npmget-caller-file2.0.5indirekt
npmget-intrinsic1.3.0indirekt
npmget-package-type0.1.0indirekt
npmget-proto1.0.1indirekt
npmget-stdin4.0.1indirekt
npmgetobject1.0.2indirekt
npmglob5.0.15indirekt
npmglob7.0.6indirekt
npmglob7.1.3indirekt
npmglob7.1.6indirekt
npmglob7.1.7indirekt
npmglob7.2.3indirekt
npmglob-parent6.0.2indirekt
npmglobal-modules1.0.0indirekt
npmglobal-prefix1.0.2indirekt
npmglobals11.12.0indirekt
npmglobals14.0.0indirekt
npmglobals15.14.0indirekt
npmgopd1.2.0indirekt
npmgraceful-fs4.1.11indirekt
npmgraceful-fs4.1.15indirekt
npmgraceful-fs4.2.10indirekt
npmgraceful-fs4.2.3indirekt
npmgrunt1.5.3indirekt
npmgrunt1.6.2indirekt
npmgrunt-cli1.4.3indirekt
npmgrunt-contrib-concat1.0.1indirekt
npmgrunt-contrib-jshint3.2.0indirekt
npmgrunt-contrib-qunit3.1.0indirekt
npmgrunt-contrib-uglify1.0.2indirekt
npmgrunt-contrib-uglify4.0.1indirekt
npmgrunt-jsdoc2.4.1indirekt
npmgrunt-known-options2.0.0indirekt
npmgrunt-legacy-log3.0.0indirekt
npmgrunt-legacy-log3.0.1indirekt
npmgrunt-legacy-log-utils2.1.0indirekt
npmgrunt-legacy-log-utils2.1.3indirekt
npmgrunt-legacy-util2.0.1indirekt
npmgrunt-legacy-util2.0.2indirekt
npmgrunt-shell-spawn0.3.12indirekt
npmgrunt-shell-spawn0.4.0indirekt
npmgzip-size1.0.0indirekt
npmgzip-size3.0.0indirekt
npmhas1.0.3indirekt
npmhas-ansi2.0.0indirekt
npmhas-flag3.0.0indirekt
npmhas-flag4.0.0indirekt
npmhas-property-descriptors1.0.2indirekt
npmhas-symbols1.1.0indirekt
npmhas-tostringtag1.0.2indirekt
npmhash-base2.0.2indirekt
npmhash-base3.0.4indirekt
npmhash.js1.1.7indirekt
npmhasha5.2.0indirekt
npmhasown2.0.2indirekt
npmhmac-drbg1.0.1indirekt
npmhomedir-polyfill1.0.3indirekt
npmhooker0.2.3indirekt
npmhosted-git-info2.8.9indirekt
npmhtml-escaper2.0.2indirekt
npmhtmlescape1.1.1indirekt
npmhtmlparser23.8.3indirekt
npmhttps-browserify1.0.0indirekt
npmhttps-proxy-agent2.2.4indirekt
npmiconv-lite0.4.24indirekt
npmiconv-lite0.6.3indirekt
npmieee7541.1.12indirekt
npmieee7541.1.13indirekt
npmignore5.3.2indirekt
npmimport-fresh3.3.1indirekt
npmimurmurhash0.1.4indirekt
npmindent-string2.1.0indirekt
npmindent-string4.0.0indirekt
npminflight1.0.6indirekt
npminherits2.0.1indirekt
npminherits2.0.3indirekt
npminherits2.0.4indirekt
npmini1.3.8indirekt
npminline-source-map0.6.2indirekt
npminsert-module-globals7.2.0indirekt
npminterpret1.1.0indirekt
npmis-absolute1.0.0indirekt
npmis-arrayish0.2.1indirekt
npmis-buffer1.1.6indirekt
npmis-builtin-module1.0.0indirekt
npmis-callable1.1.4indirekt
npmis-callable1.2.7indirekt
npmis-core-module2.8.0indirekt
npmis-date-object1.0.1indirekt
npmis-extglob2.1.1indirekt
npmis-finite1.0.2indirekt
npmis-fullwidth-code-point3.0.0indirekt
npmis-glob4.0.3indirekt
npmis-number7.0.0indirekt
npmis-plain-object2.0.4indirekt
npmis-regex1.0.4indirekt
npmis-relative1.0.0indirekt
npmis-stream2.0.0indirekt
npmis-symbol1.0.2indirekt
npmis-typed-array1.1.15indirekt
npmis-typedarray1.0.0indirekt
npmis-unc-path1.0.0indirekt
npmis-utf80.2.1indirekt
npmis-windows1.0.2indirekt
npmisarray0.0.1indirekt
npmisarray1.0.0indirekt
npmisarray2.0.4indirekt
npmisarray2.0.5indirekt
npmisexe2.0.0indirekt
npmisobject3.0.1indirekt
npmistanbul-lib-coverage3.0.0indirekt
npmistanbul-lib-hook3.0.0indirekt
npmistanbul-lib-instrument4.0.1indirekt
npmistanbul-lib-processinfo2.0.2indirekt
npmistanbul-lib-report3.0.1indirekt
npmistanbul-lib-source-maps4.0.0indirekt
npmistanbul-reports3.2.0indirekt
npmjs-tokens4.0.0indirekt
npmjs-yaml3.14.2indirekt
npmjs-yaml4.1.1indirekt
npmjs2xmlparser4.0.2indirekt
npmjsdoc4.0.2indirekt
npmjsdoc4.0.5indirekt
npmjsesc2.5.2indirekt
npmjshint2.13.5indirekt
npmjslint0.12.0indirekt
npmjslint0.12.1indirekt
npmjson-buffer3.0.1indirekt
npmjson-int641.0.0indirekt
npmjson-int641.0.2indirekt
npmjson-schema-traverse0.4.1indirekt
npmjson-stable-stringify0.0.1indirekt
npmjson-stable-stringify-without-jsonify1.0.1indirekt
npmjson52.2.3indirekt
npmjsonify0.0.0indirekt
npmjsonparse1.3.1indirekt
npmJSONStream1.3.5indirekt
npmkeyv4.5.4indirekt
npmkind-of3.2.2indirekt
npmkind-of6.0.3indirekt
npmklaw3.0.0indirekt
npmlabeled-stream-splicer2.0.1indirekt
npmlabeled-stream-splicer2.0.2indirekt
npmlazy-cache1.0.4indirekt
npmlevn0.4.1indirekt
npmliftup3.0.1indirekt
npmlinkify-it3.0.3indirekt
npmlinkify-it5.0.2indirekt
npmload-json-file1.1.0indirekt
npmlocate-path5.0.0indirekt
npmlocate-path6.0.0indirekt
npmlodash4.17.23indirekt
npmlodash4.18.1indirekt
npmlodash.flattendeep4.4.0indirekt
npmlodash.memoize3.0.4indirekt
npmlodash.merge4.6.2indirekt
npmlongest1.0.1indirekt
npmloud-rejection1.6.0indirekt
npmmake-dir3.0.2indirekt
npmmake-dir4.0.0indirekt
npmmake-iterator1.0.1indirekt
npmmap-cache0.2.2indirekt
npmmap-obj1.0.1indirekt
npmmarkdown-it12.3.2indirekt
npmmarkdown-it14.2.0indirekt
npmmarkdown-it-anchor8.6.5indirekt
npmmarkdown-it-anchor8.6.7indirekt
npmmarked4.1.1indirekt
npmmath-intrinsics1.1.0indirekt
npmmaxmin1.1.0indirekt
npmmaxmin2.1.0indirekt
npmmd5.js1.3.5indirekt
npmmdurl1.0.1indirekt
npmmdurl2.0.0indirekt
npmmeow3.7.0indirekt
npmmicromatch4.0.4indirekt
npmmicromatch4.0.8indirekt
npmmiller-rabin4.0.1indirekt
npmmime2.4.0indirekt
npmminimalistic-assert1.0.1indirekt
npmminimalistic-crypto-utils1.0.1indirekt
npmminimatch3.0.8indirekt
npmminimatch3.1.2indirekt
npmminimatch3.1.5indirekt
npmminimist1.2.6indirekt
npmminimist1.2.8indirekt
npmmkdirp0.5.5indirekt
npmmkdirp1.0.4indirekt
npmmodule-deps6.2.0indirekt
npmmodule-deps6.2.2indirekt
npmms2.0.0indirekt
npmms2.1.2indirekt
npmms2.1.3indirekt
npmnatural-compare1.4.0indirekt
npmnode-gyp-build3.7.0indirekt
npmnode-preload0.2.1indirekt
npmnopt3.0.6indirekt
npmnopt4.0.1indirekt
npmnopt5.0.0indirekt
npmnormalize-package-data2.4.0indirekt
npmnumber-is-nan1.0.1indirekt
npmnyc15.1.0indirekt
npmobject-assign4.1.1indirekt
npmobject-inspect1.6.0indirekt
npmobject-keys1.0.12indirekt
npmobject.defaults1.1.0indirekt
npmobject.map1.0.1indirekt
npmobject.pick1.3.0indirekt
npmon-finished2.3.0indirekt
npmonce1.4.0indirekt
npmoptionator0.9.4indirekt
npmos-browserify0.3.0indirekt
npmos-homedir1.0.2indirekt
npmos-tmpdir1.0.2indirekt
npmosenv0.1.5indirekt
npmp-each-series1.0.0indirekt
npmp-limit2.2.2indirekt
npmp-limit3.1.0indirekt
npmp-locate4.1.0indirekt
npmp-locate5.0.0indirekt
npmp-map3.0.0indirekt
npmp-reduce1.0.0indirekt
npmp-try2.2.0indirekt
npmpackage-hash4.0.0indirekt
npmpako0.2.9indirekt
npmpako1.0.11indirekt
npmpako1.0.7indirekt
npmparent-module1.0.1indirekt
npmparents1.0.1indirekt
npmparse-asn15.1.6indirekt
npmparse-filepath1.0.2indirekt
npmparse-json2.2.0indirekt
npmparse-passwd1.0.0indirekt
npmparseurl1.3.2indirekt
npmpath-browserify0.0.1indirekt
npmpath-exists2.1.0indirekt
npmpath-exists4.0.0indirekt
npmpath-is-absolute1.0.1indirekt
npmpath-key3.1.1indirekt
npmpath-parse1.0.7indirekt
npmpath-platform0.11.15indirekt
npmpath-root0.1.1indirekt
npmpath-root-regex0.1.2indirekt
npmpath-type1.1.0indirekt
npmpbkdf23.1.3indirekt
npmpend1.2.0indirekt
npmpicocolors1.1.1indirekt
npmpicomatch2.3.2indirekt
npmpify2.3.0indirekt
npmpinkie2.0.4indirekt
npmpinkie-promise2.0.1indirekt
npmpkg-dir4.2.0indirekt
npmpossible-typed-array-names1.1.0indirekt
npmprelude-ls1.2.1indirekt
npmprettier3.4.2indirekt
npmprettier-linter-helpers1.0.0indirekt
npmpretty-bytes1.0.4indirekt
npmpretty-bytes3.0.1indirekt
npmprocess0.11.10indirekt
npmprocess-nextick-args1.0.7indirekt
npmprocess-nextick-args2.0.0indirekt
npmprocess-on-spawn1.0.0indirekt
npmprogress2.0.3indirekt
npmproxy-from-env1.0.0indirekt
npmpublic-encrypt4.0.3indirekt
npmpunycode1.3.2indirekt
npmpunycode1.4.1indirekt
npmpunycode2.3.1indirekt
npmpunycode.js2.3.1indirekt
npmpuppeteer1.20.0indirekt
npmquerystring0.2.0indirekt
npmquerystring-es30.2.1indirekt
npmrandombytes2.0.6indirekt
npmrandombytes2.1.0indirekt
npmrandomfill1.0.4indirekt
npmread-only-stream2.0.0indirekt
npmread-pkg1.1.0indirekt
npmread-pkg-up1.0.1indirekt
npmreadable-stream1.1.14indirekt
npmreadable-stream2.1.5indirekt
npmreadable-stream2.3.6indirekt
npmreadable-stream2.3.7indirekt
npmreadable-stream3.6.0indirekt
npmreadable-stream3.6.2indirekt
npmrechoir0.7.1indirekt
npmredent1.0.0indirekt
npmrelease-zalgo1.0.0indirekt
npmrepeat-string1.6.1indirekt
npmrepeating2.0.1indirekt
npmrequire-directory2.1.1indirekt
npmrequire-main-filename2.0.0indirekt
npmrequizzle0.2.3indirekt
npmresolve1.1.7indirekt
npmresolve1.15.1indirekt
npmresolve1.20.0indirekt
npmresolve1.7.1indirekt
npmresolve1.9.0indirekt
npmresolve-dir1.0.1indirekt
npmresolve-from4.0.0indirekt
npmresolve-from5.0.0indirekt
npmresumer0.0.0indirekt
npmright-align0.1.3indirekt
npmrimraf2.6.2indirekt
npmrimraf3.0.2indirekt
npmripemd1602.0.1indirekt
npmripemd1602.0.2indirekt
npmsafe-buffer5.1.2indirekt
npmsafe-buffer5.2.0indirekt
npmsafe-buffer5.2.1indirekt
npmsafer-buffer2.1.2indirekt
npmsemver5.7.2indirekt
npmsemver7.8.0indirekt
npmset-blocking2.0.0indirekt
npmset-function-length1.2.2indirekt
npmsha.js2.4.12indirekt
npmshasum1.0.2indirekt
npmshasum-object1.0.0indirekt
npmshebang-command2.0.0indirekt
npmshebang-regex3.0.0indirekt
npmshell-quote1.10.0indirekt
npmshell-quote1.7.3indirekt
npmsignal-exit3.0.2indirekt
npmsimple-concat1.0.0indirekt
npmsource-map0.5.7indirekt
npmsource-map0.6.1indirekt
npmspawn-wrap2.0.0indirekt
npmspdx-correct3.1.0indirekt
npmspdx-exceptions2.2.0indirekt
npmspdx-expression-parse3.0.0indirekt
npmspdx-license-ids3.0.2indirekt
npmsprintf-js1.0.3indirekt
npmsprintf-js1.1.2indirekt
npmsprintf-js1.1.3indirekt
npmstatuses1.3.1indirekt
npmstream-browserify2.0.1indirekt
npmstream-browserify2.0.2indirekt
npmstream-combiner21.1.1indirekt
npmstream-http2.8.3indirekt
npmstream-http3.1.0indirekt
npmstream-splicer2.0.0indirekt
npmstream-splicer2.0.1indirekt
npmstring-width4.2.0indirekt
npmstring-width4.2.3indirekt
npmstring.prototype.trim1.1.2indirekt
npmstring_decoder0.10.31indirekt
npmstring_decoder1.1.1indirekt
npmstring_decoder1.2.0indirekt
npmstring_decoder1.3.0indirekt
npmstrip-ansi3.0.1indirekt
npmstrip-ansi6.0.0indirekt
npmstrip-ansi6.0.1indirekt
npmstrip-bom2.0.0indirekt
npmstrip-bom4.0.0indirekt
npmstrip-indent1.0.1indirekt
npmstrip-json-comments1.0.4indirekt
npmstrip-json-comments3.1.1indirekt
npmsubarg1.0.0indirekt
npmsupports-color2.0.0indirekt
npmsupports-color5.5.0indirekt
npmsupports-color7.2.0indirekt
npmsynckit0.9.2indirekt
npmsyntax-error1.4.0indirekt
npmtape4.9.1indirekt
npmtest-exclude6.0.0indirekt
npmthrift0.23.0indirekt
npmthrough2.3.8indirekt
npmthrough22.0.5indirekt
npmtimers-browserify1.4.2indirekt
npmto-arraybuffer1.0.1indirekt
npmto-buffer1.2.1indirekt
npmto-regex-range5.0.1indirekt
npmtrim-newlines3.0.1indirekt
npmtslib2.8.1indirekt
npmtty-browserify0.0.1indirekt
npmtype-check0.4.0indirekt
npmtype-fest0.8.1indirekt
npmtyped-array-buffer1.0.3indirekt
npmtypedarray0.0.6indirekt
npmtypedarray-to-buffer3.1.5indirekt
npmtypescript5.7.2indirekt
npmtypescript5.7.3indirekt
npmuc.micro1.0.6indirekt
npmuc.micro2.1.0indirekt
npmuglify-js2.6.4indirekt
npmuglify-js3.6.0indirekt
npmuglify-to-browserify1.0.2indirekt
npmumd3.0.3indirekt
npmunc-path-regex0.1.2indirekt
npmundeclared-identifiers1.1.2indirekt
npmundeclared-identifiers1.1.3indirekt
npmunderscore1.13.6indirekt
npmunderscore1.13.8indirekt
npmunderscore.string3.3.6indirekt
npmundici-types6.20.0indirekt
npmunpipe1.0.0indirekt
npmuri-js4.4.1indirekt
npmuri-path1.0.0indirekt
npmurl0.11.0indirekt
npmutf-8-validate5.0.2indirekt
npmutil0.10.3indirekt
npmutil0.10.4indirekt
npmutil-deprecate1.0.2indirekt
npmutils-merge1.0.1indirekt
npmv8flags3.2.0indirekt
npmvalidate-npm-package-license3.0.4indirekt
npmvm-browserify1.1.0indirekt
npmvm-browserify1.1.2indirekt
npmwhich1.3.1indirekt
npmwhich2.0.2indirekt
npmwhich-module2.0.0indirekt
npmwhich-typed-array1.1.19indirekt
npmwindow-size0.1.0indirekt
npmword-wrap1.2.5indirekt
npmwordwrap0.0.2indirekt
npmwrap-ansi6.2.0indirekt
npmwrappy1.0.2indirekt
npmwrite-file-atomic3.0.1indirekt
npmxmlcreate2.0.4indirekt
npmxtend4.0.1indirekt
npmxtend4.0.2indirekt
npmy18n4.0.3indirekt
npmyargs15.4.1indirekt
npmyargs3.10.0indirekt
npmyargs-parser18.1.3indirekt
npmyauzl2.10.0indirekt
npmyocto-queue0.1.0indirekt
NuGetBenchmarkDotNet0.15.8indirekt
NuGetCompareNETObjects4.84.0indirekt
NuGetMicrosoft.AspNetCore.Components.Web7.0.9indirekt
NuGetMicrosoft.AspNetCore.Http.Abstractions2.3.11indirekt
NuGetMicrosoft.Extensions.DependencyInjection10.0.10indirekt
NuGetMicrosoft.Extensions.Logging10.0.10indirekt
NuGetMicrosoft.Extensions.Logging.Abstractions10.0.10indirekt
NuGetMicrosoft.Extensions.Logging.Console10.0.10indirekt
NuGetMicrosoft.Extensions.Logging.Debug10.0.10indirekt
NuGetMicrosoft.NET.Test.Sdk18.8.1indirekt
NuGetMSTest.TestAdapter4.3.2indirekt
NuGetMSTest.TestFramework4.3.2indirekt
NuGetNSubstitute6.0.0indirekt
NuGetSharpFuzz2.2.0indirekt
NuGetSystem.IO.Pipes.AccessControl5.0.0indirekt
NuGetSystem.Net.Http.WinHttpHandler10.0.10indirekt
NuGetSystem.Security.Cryptography.Xml10.0.10indirekt
NuGetSystem.ServiceModel.Primitives10.0.652802indirekt
NuGetSystem.ServiceModel.Primitives8.1.2indirekt
Packagistext-curlindirekt
Packagistext-jsonindirekt
Packagistext-pcntlindirekt
Packagistext-xmlindirekt
Packagistguzzlehttp/guzzleindirekt
Packagistnyholm/psr7indirekt
Packagistphpindirekt
Packagistphp-http/discoveryindirekt
Packagistphp-mock/php-mock-phpunitindirekt
Packagistphpstan/phpstanindirekt
Packagistphpunit/phpunitindirekt
Packagistsquizlabs/php_codesnifferindirekt
PyPIsetuptoolsindirekt
RubyGemsast2.4.3indirekt
RubyGemsasync2.42.0indirekt
RubyGemsasync-container0.37.0indirekt
RubyGemsasync-http0.95.1indirekt
RubyGemsasync-http-cache0.4.6indirekt
RubyGemsasync-pool0.11.2indirekt
RubyGemsasync-service0.24.1indirekt
RubyGemsasync-utilization0.4.0indirekt
RubyGemsbake0.25.0indirekt
RubyGemsbigdecimal4.1.2indirekt
RubyGemsbundlerindirekt
RubyGemscgi0.5.0indirekt
RubyGemscgi0.5.2indirekt
RubyGemsconsole1.36.0indirekt
RubyGemsdaemons1.4.1indirekt
RubyGemsdiff-lcs1.6.2indirekt
RubyGemseventmachine1.2.7indirekt
RubyGemsfalcon0.55.5indirekt
RubyGemsfiber-annotation0.2.0indirekt
RubyGemsfiber-local1.1.0indirekt
RubyGemsfiber-storage1.0.1indirekt
RubyGemsio-endpoint0.17.2indirekt
RubyGemsio-event1.19.1indirekt
RubyGemsio-stream0.13.1indirekt
RubyGemsjson2.19.2indirekt
RubyGemslanguage_server-protocol3.17.0.5indirekt
RubyGemslint_roller1.1.0indirekt
RubyGemslocalhost1.8.0indirekt
RubyGemsloggerindirekt
RubyGemslogger1.7.0indirekt
RubyGemsmetrics0.15.0indirekt
RubyGemsnio4r2.7.5indirekt
RubyGemsopenssl4.0.2indirekt
RubyGemsostruct0.6.3indirekt
RubyGemsparallel1.27.0indirekt
RubyGemsparser3.3.10.1indirekt
RubyGemspower_assert3.0.1indirekt
RubyGemsprism1.9.0indirekt
RubyGemsprotocol-hpack1.5.1indirekt
RubyGemsprotocol-http0.62.2indirekt
RubyGemsprotocol-http10.39.0indirekt
RubyGemsprotocol-http20.26.0indirekt
RubyGemsprotocol-rack0.22.1indirekt
RubyGemsprotocol-url0.4.0indirekt
RubyGemspuma6.6.1indirekt
RubyGemsracc1.8.1indirekt
RubyGemsrackindirekt
RubyGemsrack2.2.23indirekt
RubyGemsrack-testindirekt
RubyGemsrack-test0.8.3indirekt
RubyGemsrainbow3.1.1indirekt
RubyGemsrakeindirekt
RubyGemsrake13.3.1indirekt
RubyGemsregexp_parser2.11.3indirekt
RubyGemsrspecindirekt
RubyGemsrspec3.13.2indirekt
RubyGemsrspec-core3.13.6indirekt
RubyGemsrspec-expectations3.13.5indirekt
RubyGemsrspec-mocks3.13.7indirekt
RubyGemsrspec-support3.13.6indirekt
RubyGemsrubocop1.82.1indirekt
RubyGemsrubocop-ast1.49.0indirekt
RubyGemsrubocop-performance1.26.1indirekt
RubyGemsrubocop-rspec3.8.0indirekt
RubyGemsruby-progressbar1.13.0indirekt
RubyGemssamovar2.5.1indirekt
RubyGemsstring-format0.2.0indirekt
RubyGemstest-unit3.7.3indirekt
RubyGemsthin1.8.2indirekt
RubyGemstraces0.18.2indirekt
RubyGemsunicode-display_width3.2.0indirekt
RubyGemsunicode-emoji4.2.0indirekt
Abhängigkeits-Advisories 22

Dieses Repository veröffentlicht kein vom Index auflösbares Paket, daher wurde sein eigener Abhängigkeitsgraph bewertet – 803 Pakete, darunter auch Entwicklungs- und Test-Pins, die nie ausgeliefert werden: 22 tragen bekannte Advisories, davon 1 direkte. 40 konnten nicht bewertet werden – keine aufgelöste Version, ein nicht unterstütztes Ökosystem, oder außerhalb der ausgewiesenen Paketliste.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
shell-quote1.7.3indirektkritisch21.9.0
uuid3.4.0direkthoch113.0.1
brace-expansion1.1.11indirekthoch35.0.7
brace-expansion2.0.3indirekthoch15.0.7
brace-expansion2.1.0indirekthoch15.0.7
cross-spawn7.0.1indirekthoch17.0.5
elliptic6.6.1indirekthoch1
js-yaml3.14.2indirekthoch24.3.0
js-yaml4.1.1indirekthoch24.3.0
linkify-it3.0.3indirekthoch25.0.2
lodash4.17.23indirekthoch24.18.0
minimatch3.0.8indirekthoch310.2.3
minimatch3.1.2indirekthoch310.2.3
puma6.6.1indirekthoch28.0.2
underscore1.13.6indirekthoch11.13.8
bn.js4.11.8indirektmittel15.2.3
bn.js4.12.0indirektmittel15.2.3
bn.js5.2.1indirektmittel15.2.3
markdown-it12.3.2indirektmittel114.2.0
micromatch4.0.4indirektmittel14.0.8
@babel/core7.8.4indirektniedrig18.0.0-rc.6
golang.org/x/sysv0.0.0-20220412211240-33da011f77adindirektunbekannt10.44.0

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "d",
        "thrift",
        "cplusplus",
        "dart",
        "actionscript",
        "http",
        "network-client",
        "network-server",
        "csharp",
        "library",
        "c"
      ],
      "is_fork": false,
      "size_kb": 38462,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "C": 1115185,
        "D": 669668,
        "C#": 623235,
        "Go": 802785,
        "M4": 173058,
        "C++": 5094566,
        "CSS": 1070,
        "Lex": 9802,
        "Lua": 95465,
        "PHP": 789009,
        "Dart": 193715,
        "HTML": 38557,
        "Haxe": 358347,
        "Java": 1514654,
        "Perl": 141737,
        "Ruby": 638782,
        "Rust": 484168,
        "Yacc": 30812,
        "CMake": 150262,
        "OCaml": 53171,
        "Shell": 89285,
        "Erlang": 350651,
        "Kotlin": 58601,
        "Pascal": 663776,
        "Python": 633566,
        "Thrift": 534538,
        "Makefile": 258865,
        "Batchfile": 37669,
        "Dockerfile": 43314,
        "Emacs Lisp": 5361,
        "JavaScript": 561218,
        "PowerShell": 24619,
        "TypeScript": 47757,
        "Vim Script": 2846,
        "Common Lisp": 41010,
        "StringTemplate": 29322
      },
      "pushed_at": "2026-07-22T00:13:36Z",
      "created_at": "2009-09-18T08:00:17Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T00:13:59Z",
      "description": "Apache Thrift",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "master",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "C++",
      "significant_languages": [
        "C++"
      ]
    },
    "owner": {
      "blog": "https://www.apache.org/",
      "name": "The Apache Software Foundation",
      "type": "Organization",
      "login": "apache",
      "company": null,
      "location": null,
      "followers": 23513,
      "avatar_url": "https://avatars.githubusercontent.com/u/47359?v=4",
      "created_at": "2009-01-17T20:14:40Z",
      "is_verified": null,
      "public_repos": 3146,
      "account_age_days": 6394
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.24.0",
          "kind": "minor",
          "published_at": "2026-07-11T16:48:47Z"
        },
        {
          "tag": "v0.23.0",
          "kind": "minor",
          "published_at": "2026-04-27T22:41:53Z"
        },
        {
          "tag": "v0.22.0",
          "kind": "minor",
          "published_at": "2025-05-23T20:49:03Z"
        },
        {
          "tag": "v0.21.0",
          "kind": "minor",
          "published_at": "2024-09-21T13:13:40Z"
        },
        {
          "tag": "v0.20.0",
          "kind": "minor",
          "published_at": "2024-03-22T22:52:36Z"
        },
        {
          "tag": "v0.19.0",
          "kind": "minor",
          "published_at": "2023-09-02T11:35:32Z"
        },
        {
          "tag": "v0.18.1",
          "kind": "patch",
          "published_at": "2023-03-01T22:17:28Z"
        },
        {
          "tag": "v0.18.0",
          "kind": "minor",
          "published_at": "2023-02-13T20:57:14Z"
        },
        {
          "tag": "v0.17.0",
          "kind": "minor",
          "published_at": "2022-09-18T13:39:57Z"
        },
        {
          "tag": "v0.16.0",
          "kind": "minor",
          "published_at": "2022-02-15T21:22:16Z"
        },
        {
          "tag": "lib/go/thrift/v0.0.1-do-not-use",
          "kind": "other",
          "published_at": "2021-10-18T20:18:43Z"
        },
        {
          "tag": "v0.15.0",
          "kind": "minor",
          "published_at": "2021-09-11T11:54:01Z"
        },
        {
          "tag": "v0.14.2",
          "kind": "patch",
          "published_at": "2021-06-17T20:46:18Z"
        },
        {
          "tag": "v0.14.1",
          "kind": "patch",
          "published_at": "2021-03-08T21:32:02Z"
        },
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2021-02-11T23:08:09Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2020-05-27T07:08:57Z"
        },
        {
          "tag": "0.9.3.1",
          "kind": "other",
          "published_at": "2019-03-13T13:13:12Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2018-12-27T13:48:51Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "307f64bc8d59a75168b4f1fe351605bfa08d91b8",
          "body": "Bumps [linkify-it](https://github.com/markdown-it/linkify-it) from 5.0.1 to 5.0.2.\n- [Changelog](https://github.com/markdown-it/linkify-it/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/markdown-it/linkify-it/compare/5.0.1...5.0.2)\n\n---\nupdated-dependencies:\n- dependency-name: linkify-it\n  dependency-version: 5.0.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump linkify-it from 5.0.1 to 5.0.2 in /lib/js",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-22T00:13:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b81e1d280890ce4b4bf48c76ae73a191b8f0b52",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.6) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6112: Reject duplicate Ruby socket opens",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-21T23:49:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41ab486cdde0766c0d4a8e1ce28ba1b819d1308d",
          "body": "…l responses\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.6) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6110: Ruby HTTP client transport should reject empty successfu…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-21T22:57:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8db51cf4710ae5c9976ea4776f37b4354ffe3d4e",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.6) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6098: Preserve caller-supplied Ruby SSL contexts",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-21T22:40:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af9d5556aa7eaffb2de04409f4bbdcc5b454b817",
          "body": "…ocal builds\n\nClient: py\n\nThe check-local recipe invoked the test without passing THRIFT through as\nan environment variable, so find_thrift() never saw the compiler make had\njust built. Its relative-path fallback was also off by one directory\nlevel and could never resolve to compiler/cpp/thrift or\nb\n[…]\n test silently printed \"thrift compiler not found, skipping test\" and\nreturned success, giving no real coverage in CI since THRIFT-5927 merged.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6113: Fix test_keyword_escape.py silently skipping in CI and l…",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-21T22:19:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8c00c6489ae9cd34bed4694f5b1b4f218430db07",
          "body": null,
          "is_bot": false,
          "headline": "updated System.ServiceModel.Primitives 10.x breaks net8/net9",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-21T22:13:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c65ef8f2f3551e2f87a16f278e12382e9f2b3753",
          "body": null,
          "is_bot": false,
          "headline": "FIX: AreSequenceEqual() is correct",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-21T21:02:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd00f037fa9363f7a068d963d33729bfe9372412",
          "body": null,
          "is_bot": false,
          "headline": "nuget package update",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-21T12:51:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8eeec5f3f1f9ee186da1cc324ec9bc09672fa4f",
          "body": "Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.4 to 1.10.0.\n- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/shell-quote/compare/v1.8.4...v1.10.0)\n\n---\nupdated-dependencies:\n- dependency-name: shell-quote\n  dependency-version: 1.10.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump shell-quote from 1.8.4 to 1.10.0 in /lib/js",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T12:43:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1bd5e4d5496c1896042fb495c9a56dce763929ad",
          "body": "---\nupdated-dependencies:\n- dependency-name: System.Security.Cryptography.Xml\n  dependency-version: 10.0.10\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump System.Security.Cryptography.Xml from 10.0.7 to 10.0.10",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T12:43:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e4f1f23fc1c3f09dc8243ed5140e081b0d7cf3a",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6111: Make Ruby struct equality symmetric",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-21T12:21:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "794ab0d4eab55c9293fbc239375cf48f4623fb0c",
          "body": "---\nupdated-dependencies:\n- dependency-name: System.Security.Cryptography.Xml\n  dependency-version: 10.0.10\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump System.Security.Cryptography.Xml from 10.0.7 to 10.0.10",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T09:34:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03804e86243a2e86b35788736c825c83244e1745",
          "body": "…t label\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.6) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6109: Ruby HTTP client transport should provide a safe endpoin…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T23:34:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2001f7444f7540e26ca553ceddad10e31392298",
          "body": "…alues\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6103: Ruby MemoryBufferTransport should return unsigned byte v…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T22:00:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fa08c0d36afc15fbab00df457e6bd9fe3c54824",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6105: Preserve partial MemoryBufferTransport read progress",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T21:25:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36f43a87c94bb2c5c62ec209bf2d79dd80a9b079",
          "body": "…tion buffers\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6100: Ruby MemoryBufferTransport should respect frozen destina…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T19:31:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "deb21c2cebe27d3455823346ef5eb386b2d0f464",
          "body": "…sistently\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6102: Ruby CompactProtocol should report malformed headers con…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T19:30:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35291f71024c537a024e531565dd8e5f12c4d436",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6106: Decode fixed-width values without undefined shifts",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T15:36:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e96ff4a4500de09d4709afb9b451675315d2925",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6104: Ruby native struct writing should accept Set subclasses",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T15:35:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53276391d2ae45acba782eb5b51699e465751638",
          "body": "…ting booleans\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6101: Ruby CompactProtocol should use Ruby truthiness when wri…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T15:34:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae44493d2db21f672be7e7a93f0a74466e11a409",
          "body": "…ngths\n\nClient: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6099: Ruby MemoryBufferTransport should reject invalid read le…",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T15:32:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc2dd8fdb5b2aeecaa66b737db7de6c019a452f2",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6098: Verify Ruby SSL peers by default",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-20T15:31:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40d5a7ed9558adaacefc2aa4958fb6742d9b3f3f",
          "body": "Several 0.24.0 fixes were merged as direct commits rather than through\na GitHub PR, so the CHANGES.md generator (THRIFT-6077) had no PR to\nattribute them to. Adds the missing JIRA references (THRIFT-6083\nthrough THRIFT-6096) and upgrades existing bare PR-number entries to\ntheir JIRA ticket links.",
          "is_bot": false,
          "headline": "Link CHANGES.md 0.24.0 entries to their JIRA tickets",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-18T23:30:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6351cd5a05ad04ce99469e33e633d9ce4b2f5654",
          "body": "Client: go\n\nparseHeaders() read the wire-supplied transform count and sized two\nallocations from it before checking anything beyond count > 0. Every other\nwire-supplied container count (list/set/map sizes across the binary,\ncompact, and JSON protocols) is already validated through\ncheckContainerSizeForProtocol() before use; the transform count is now\nrouted through the same check.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Validate the THeader transform count against the configured message size",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-18T23:27:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0187cf606bfac2064eb98475c467ae176e0c778e",
          "body": "Client: cpp\n\nTFramedTransportFactory, THeaderTransportFactory, TBufferedTransportFactory,\nTPipedTransportFactory, TPipedFileReaderTransportFactory, TZlibTransportFactory,\nand THttpServerTransportFactory (base of both TWebSocketServer variants) all\nconstructed their wrapper transport without forwardi\n[…]\ne one TConfiguration instance by\nreference. Each factory now passes the wrapped transport's configuration\nthrough to its wrapper's constructor.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Propagate TConfiguration through standard transport factory wrappers",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-18T23:27:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c6f6b484af1b0e42b12fbf99a779d96e76d6563a",
          "body": "THRIFT-6075: Generate Equal method for Delphi Thrift structs\nClient: delphi\nPatch: Jens Geyer\n\nCo-authored-by: Claude Code (misc models) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6075: Generate Equal method for Delphi Thrift structs (#3612)",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-18T11:32:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "cdb7e5fbe8d5bd7c3dd6dae779d39974f65577f9",
          "body": "Client: rs\n\nCo-Authored-By: OpenAI Codex (GPT-5) <noreply@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6097: Add rustls client and server support",
          "author_name": "HTHou",
          "author_login": "HTHou",
          "committed_at": "2026-07-18T11:20:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09cd5f23b1e289b7a641dd0b8cf2cd890e3f4399",
          "body": "Client: rs\n\nGenerated-by: OpenAI Codex (GPT-5)",
          "is_bot": false,
          "headline": "THRIFT-5917: Remove Rust deprecation warning",
          "author_name": "HTHou",
          "author_login": "HTHou",
          "committed_at": "2026-07-15T22:53:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad471499638d63eff45e8d77e2f6dacb19aa00d2",
          "body": "… test shutdown\n\nClient: py\n\nThe SIGALRM-based shutdown handler in TestServer.py called\nserver.stop() from within the signal handler itself. When the\nalarm interrupts the main thread while it's blocked in\nTProcessPoolServer.serve()'s Condition.wait(), the reentrant\nCondition.notify() call deadlocks:\n[…]\nTerminate the workers and exit the process directly instead of\ncoordinating through the Condition, since the process is being\ntorn down anyway.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6082: Avoid reentrant Condition.notify() in TProcessPoolServer…",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-15T22:52:29Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bfa471bc2918dca8aa2c70eeb451646f7cbe5abb",
          "body": "Bumps [ws](https://github.com/websockets/ws) from 6.2.3 to 6.2.4.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/6.2.3...6.2.4)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-version: 6.2.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump ws from 6.2.3 to 6.2.4 in /lib/js",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T21:24:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "882bc8fe9100d49670a1a8f513066a599d6c6db7",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6079: Add Rack HTTP server support for Ruby",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-13T23:05:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ade7f7ad807e5701721cb0e4b7275583406cdfb",
          "body": "Client: py\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6081: Fix UUID handling in Python Header protocol",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-12T13:18:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3fa3eef5756214ac4f507631f80e12d05348980",
          "body": "Client: cpp\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "Enable C++ TLS cross-tests",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-12T13:18:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1d117afb2070ac7ba15b40b3b47bf6b5496483f",
          "body": null,
          "is_bot": false,
          "headline": "Sharpened some aspects of AGENTS/CLAUDE.md",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-12T09:03:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afa1fd590c1ace9c2d4a0cf7953e654d07898183",
          "body": "A hung TestServer.py subprocess previously consumed the full\n6-hour default GitHub Actions job timeout before the run was\ncancelled. Cap these jobs so a future hang fails within minutes\ninstead of tying up scarce macOS runner capacity.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add job timeout to Python CI jobs",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-11T22:49:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bfa9648c587f0566a0c94d4e59c21b3e8aee379f",
          "body": "Bumps [ws](https://github.com/websockets/ws) from 6.2.3 to 6.2.4.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/6.2.3...6.2.4)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-version: 6.2.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump ws from 6.2.3 to 6.2.4 in /lib/ts",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-11T22:49:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10e18b1ed577f0c3f401312f2f553306f7632dbd",
          "body": "…ompiler-cpp SCA job\n\ncppcheck needs -I compiler/cpp/src to resolve project headers\nlike thrift/version.h (which defines THRIFT_VERSION).\nWithout it, the adjacent string-literal concatenation pattern\nintroduced in this PR triggers unknownMacro errors.\n\nAlso suppress danglingTempReference false positive in\nt_cpp_generator.cc where a ternary between a derived-type\nlvalue and a base-class lvalue produces a valid reference,\nnot a dangling temporary.\n\nClient: sca",
          "is_bot": false,
          "headline": "THRIFT-6076: Add include path and suppress danglingTempReference in c…",
          "author_name": "Justin Caratzas",
          "author_login": "bigjust",
          "committed_at": "2026-07-11T16:28:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b88950c541aa3ff79211c2eb3c40f703ca5151a0",
          "body": "…ler generators\n\nGCC 14 with LTO (-flto=auto) produces false-positive -Werror=stringop-overflow\nand -Werror=stringop-overread diagnostics at link time when chained\nstd::string() + \"literal\" + \"literal\" expressions are inlined across\ntranslation units.\n\nThe root cause is a GCC 14 LTO inter-procedural\n[…]\nent()\n  t_delphi_generator.cc : autogen_comment()\n  t_rb_generator.cc     : rb_autogen_comment()\n  t_xsd_generator.cc    : xml_autogen_comment()\n\nSee: https://issues.apache.org/jira/browse/THRIFT-6076",
          "is_bot": false,
          "headline": "THRIFT-6076: Fix GCC 14 LTO false-positive stringop-overflow in compi…",
          "author_name": "Justin Caratzas",
          "author_login": "bigjust",
          "committed_at": "2026-07-11T16:28:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aecca3988239148dd2bd8c81cc2580d32364ace6",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'release/0.24.0' into upstream-master",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-11T16:23:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7b838d4508a79d37fe0bf8eb1065d0ebe4c30d9",
          "body": null,
          "is_bot": false,
          "headline": "bump version number, fixed veralign.sh new/removed files",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-11T15:56:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76a94da65d48fd27ca49c6be64bd4717af52a6c3",
          "body": "Client: java\n\nTSaslTransport.readFrame() allocated the data-frame buffer directly from the\nwire-declared length, checking only for negative values. The SASL negotiation\nphase (receiveSaslMessage) and the layered TFramedTransport already bound the\ndeclared size by TConfiguration; apply the same getMa\n[…]\nSize() limit here so\nthe post-handshake data path rejects a frame larger than the configured maximum\nbefore allocating the buffer.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add a frame size limit to the SASL data-frame reader",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-08T23:25:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "175e803d7e0c2700afb9468542a91fbdac7c1eec",
          "body": "Client: java\n\nFrameReader allocated the payload buffer directly from the header-declared\nsize. The layered TFramedTransport already bounds incoming frames by\nTConfiguration.getMaxFrameSize(); apply the same limit here so the SASL\nnegotiation and data frame paths reject a payload size larger than the\nconfigured maximum before allocating the buffer.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add a configurable frame size limit to the SASL frame reader",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-08T23:25:05Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4bbda18f0d7cf77e785c9b15fafacc7fec620162",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6078: Send SNI from Ruby SSL clients",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-06T22:19:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "231d3b89e6cf397fd8397b83bf807745fa6eab6c",
          "body": "Client: rb\n\nCo-Authored-By: OpenAI Codex (GPT-5.4) <codex@openai.com>",
          "is_bot": false,
          "headline": "Skip Thin HTTP server bundle on Ruby head",
          "author_name": "Dmytro Shteflyuk",
          "author_login": "kpumuk",
          "committed_at": "2026-07-06T22:16:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3494a2dbbc7f9a892e0aab46e83a44c71bb66eb2",
          "body": "Keep cibuildwheel release builds from silently falling back to pure-Python wheels when the fastbinary C extension fails to compile.\n\nThe upstream PyPI workflow already builds manylinux aarch64 wheels; this guard makes those release wheels fail fast instead of publishing incomplete binary artifacts.\n\nCo-authored-by: OpenAI ChatGPT <noreply@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-5955 Require C extension in Python wheels",
          "author_name": "Vitaly Zdanevich",
          "author_login": "vitaly-zdanevich",
          "committed_at": "2026-07-06T20:41:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d2ec95f450b4ce404afb8929ff479e68770141a",
          "body": "Adjust what \"make dist\" ships in the release tarball.\n\nDropped (build output and generated code that a built tree leaves behind,\nswept in via whole-directory EXTRA_DIST entries and pruned in dist-hook;\nnone of it is tracked, so a clean checkout never contained it):\n- lib/haxe/test/{bin,gen-haxe}, li\n[…]\n entries, and the only tracked files removed are .github/* and\ndoc/thrift-threat-model.md.\n\nClient: netstd,haxe,javame,lua,php,cpp\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Tune make dist: drop generated/build artifacts, add missing sources",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T20:04:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4f303a2413c9f6b0116a0714c55a7686579109e6",
          "body": "When lib/nodejs/test has been through \"npm install\", it contains a\nnode_modules/thrift symlink pointing back at the repo root (so the tests\ncan require('thrift')). \"make dist\" copies the whole test/ tree via\nEXTRA_DIST and tars it with --hard-dereference, which follows that\nself-referential link rec\n[…]\nest/node_modules to the nodejs clean-local rule, which already removed\nthe episodic node_modules but not this one.\n\nClient: nodejs\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Strip node_modules from dist to fix make dist symlink recursion",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T11:54:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "529a3128766e7aed1a8105b006458baeef0b95b5",
          "body": "The configure checks parsed the toolchain version with sed expressions that\nonly matched single-digit components (e.g. [0-9].[0-9].[0-9]).  Modern\ntoolchains such as go1.25.0 therefore did not match, and the raw, unparsed\ncommand output -- including the \"go: downloading ...\" toolchain line and the\n\"\n[…]\nersion line and accept multi-digit,\nmulti-component version numbers, yielding a clean value (e.g. 1.25.0 / 1.85.1).\n\nClient: go,rs\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix Go and Rust version detection for multi-digit version numbers",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T11:21:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e685cc2cb84e10f32abf4ab31cd637555f2c8150",
          "body": "Assemble the autotools source distribution (bootstrap, configure, make dist)\non every push and pull request, so stale EXTRA_DIST references -- a file\nlisted in the distribution but since removed or moved -- are caught at merge\ntime instead of only when cutting a release.\n\n--disable-libs keeps the jo\n[…]\nanguage directory via DIST_SUBDIRS, so all EXTRA_DIST lists\nare validated regardless of which bindings are enabled.\n\nClient: build\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add a make dist job to CI",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T11:19:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ee6f4fa655598447a11dc7446a967ab89ac052a9",
          "body": "Two files listed in the distribution no longer existed at their referenced\npaths, so \"make dist\" aborted with \"No rule to make target ...\":\n\n- Thrift.podspec was removed together with the Swift binding but was left\n  behind in the top-level EXTRA_DIST.\n- The netstd THttpServerTransport.cs was moved \n[…]\nport/Server/; point EXTRA_DIST at the Transport\n  directory instead, matching the existing Thrift/Transport entry.\n\nClient: netstd\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix stale EXTRA_DIST references that broke make dist",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T11:19:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "270b81edfb343546a6ed1dbc03d9d82633c91af2",
          "body": "Two files listed in the distribution no longer existed at their referenced\npaths, so \"make dist\" aborted with \"No rule to make target ...\":\n\n- Thrift.podspec was removed together with the Swift binding but was left\n  behind in the top-level EXTRA_DIST.\n- The netstd THttpServerTransport.cs was moved \n[…]\nport/Server/; point EXTRA_DIST at the Transport\n  directory instead, matching the existing Thrift/Transport entry.\n\nClient: netstd\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix stale EXTRA_DIST references that broke make dist",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T11:18:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c1df044f2eb290c7e51cc99ddb547e34fdbf0430",
          "body": "The configure checks parsed the toolchain version with sed expressions that\nonly matched single-digit components (e.g. [0-9].[0-9].[0-9]).  Modern\ntoolchains such as go1.25.0 therefore did not match, and the raw, unparsed\ncommand output -- including the \"go: downloading ...\" toolchain line and the\n\"\n[…]\nersion line and accept multi-digit,\nmulti-component version numbers, yielding a clean value (e.g. 1.25.0 / 1.85.1).\n\nClient: go,rs\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix Go and Rust version detection for multi-digit version numbers",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T11:18:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b68c323595257d0de1bffb1c049e1880e38037b0",
          "body": null,
          "is_bot": false,
          "headline": "Minor corrections/improvements to ReleaseManagement.md",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T08:34:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd8ecde06ee114731d9cf0e87e63d5004d094eab",
          "body": null,
          "is_bot": false,
          "headline": "Minor corrections/improvements to ReleaseManagement.md",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-05T08:31:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "342a80320e959ced1956a70fd5fd2624f0e01398",
          "body": null,
          "is_bot": false,
          "headline": "updated CHANGES.md",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-04T23:36:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24c1f0144f5d3346fbb9772eaf3a60d863acc80e",
          "body": "Client: build\n\nbuild/generate-changes.py routed several classes of entries to \"(No Section)\"\nin the generated draft even though a usable signal was available:\n\n- dependabot / CI PRs whose only GitHub labels are github_actions,\n  dependencies, testsuite or doc were unmapped;\n- rebase-merged PRs land \n[…]\n the commit Client: trailer for componentless tickets.\nAdd build/test_generate_changes.py covering the section-assignment helpers.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6077: improve CHANGES.md generator section assignment",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-04T23:26:51Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0d66913b703d48156bec6530d8f3bc478d501f27",
          "body": null,
          "is_bot": false,
          "headline": "bump doap & debian changelog",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-07-04T22:26:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f961cdb44249c293fcce6a840ffa1f7419fd88d0",
          "body": "Client: cpp\nPatch: Javid Khan <dxbjavid@gmail.com>\n\nwhen reading the key/value info headers of a THeader frame, readString reads\nthe length varint and then bounds it against the bytes left in the header\nsection. the comparison uses ptr before it is moved past the varint, so the\nremaining count is ov\n[…]\nhose checks pass so the documented\nadvance-on-success behaviour still holds. regression tests covering both the\noversized and the negative length are added to ThrifttReadCheckTests.\n\nThis closes #3610",
          "is_bot": false,
          "headline": "fix info-header string bound check in THeaderTransport::readString",
          "author_name": "Javid Khan",
          "author_login": "dxbjavid",
          "committed_at": "2026-07-02T21:24:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0ab16e3a83637711f4e0f788c205f66576fd0a55",
          "body": null,
          "is_bot": false,
          "headline": "enforce max_string_size on non-strict binary message name",
          "author_name": "Javid Khan",
          "author_login": "dxbjavid",
          "committed_at": "2026-07-01T21:53:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "817e0f17a84264f894dad62e8fcbb146070790e0",
          "body": "Bumps [rubygems/release-gem](https://github.com/rubygems/release-gem) from 1.2.0 to 1.4.0.\n- [Release notes](https://github.com/rubygems/release-gem/releases)\n- [Commits](https://github.com/rubygems/release-gem/compare/6317d8d1f7e28c24d28f6eff169ea854948bd9f7...052cc82692552de3ef2b81fd670e41d13cba80\n[…]\npendency-name: rubygems/release-gem\n  dependency-version: 1.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump rubygems/release-gem from 1.2.0 to 1.4.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T20:54:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6dfb0b26ea6b9ab9c114e0ef4c0f6e7b8110b242",
          "body": "Client: cpp\n\nAdd explicit SSLContext(SSL_CTX* ctx) to wrap an application-configured\nOpenSSL context via the existing SSLContextFactory hook. Document the\ninjection pattern and add SecurityTest coverage.",
          "is_bot": false,
          "headline": "THRIFT-6073: Allow injecting external SSL_CTX into C++ SSLContext",
          "author_name": "761417898",
          "author_login": "hongzhi-gao",
          "committed_at": "2026-07-01T20:47:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81e2f0a361edf318416e9bbf36ce2489f5183442",
          "body": "Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.310.0 to 1.314.0.\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](https://github.com/ruby/setup-ruby/compare/afeafc3d1ab54a631816aba4\n[…]\n dependency-name: ruby/setup-ruby\n  dependency-version: 1.314.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump ruby/setup-ruby from 1.310.0 to 1.314.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T20:27:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ff2b3dc88274589e9af08b703ff1f131d03cb1e5",
          "body": "Bumps [rust-lang/crates-io-auth-action](https://github.com/rust-lang/crates-io-auth-action) from 1.0.4 to 1.0.5.\n- [Release notes](https://github.com/rust-lang/crates-io-auth-action/releases)\n- [Commits](https://github.com/rust-lang/crates-io-auth-action/compare/bbd81622f20ce9e2dd9622e3218b975523e45\n[…]\nme: rust-lang/crates-io-auth-action\n  dependency-version: 1.0.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump rust-lang/crates-io-auth-action from 1.0.4 to 1.0.5",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T20:26:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b4cf30d3702188a73d99735577d87c7917a11b39",
          "body": "Bumps [jvm](https://github.com/JetBrains/kotlin) from 2.3.21 to 2.4.0.\n- [Release notes](https://github.com/JetBrains/kotlin/releases)\n- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)\n- [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0)\n\n---\nupdated-dependencies:\n- dependency-name: jvm\n  dependency-version: 2.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump jvm from 2.3.21 to 2.4.0 in /lib/kotlin",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T20:26:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5860a3278c2344b80929c386d2e1667455366eb",
          "body": "Bumps com.diffplug.spotless from 8.5.1 to 8.7.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n  dependency-version: 8.7.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump com.diffplug.spotless from 8.5.1 to 8.7.0 in /lib/kotlin",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T20:26:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10de225e8164f1ed5bc80790c34ac9a35d69db29",
          "body": "Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.4.0 to 6.5.0.\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/4a3601121dd01d1626a1e23e37211e3254c1c06c...924ae3a1cded613372ab5595356fb5720e22ba16)\n\n---\nupdated\n[…]\n- dependency-name: actions/setup-go\n  dependency-version: 6.5.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-go from 6.4.0 to 6.5.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T13:42:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "073a35933b885beb418bcb2fb9db329c617d8dc0",
          "body": "…in lib/js\n\nUpgrade jsdoc from ^3.6.7 to ^4.0.0 in lib/js and add an npm override\nto force grunt-jsdoc to use jsdoc 4.x instead of 3.x. This eliminates\ntaffydb from the lib/js dependency tree.\n\nlib/ts has no jsdoc dependency on current master, so no change needed there.\n\nClient: js\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nGenerated-by: Claude Sonnet 4.6\n\nThis closes #3608",
          "is_bot": false,
          "headline": "THRIFT-6017: Upgrade jsdoc to 4.x and override transitive dependency …",
          "author_name": "Justin Caratzas",
          "author_login": "bigjust",
          "committed_at": "2026-06-30T16:54:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d68305a7308a11df2c1daef16f55dbc19dfa6ff0",
          "body": "Client: c_glib\n\nthrift_framed_transport_read_slow copies leftover bytes from the previous frame with memcpy(buf, t->r_buf, t->r_buf->len), passing the GByteArray struct pointer as the source instead of t->r_buf->data. The correct source is the buffer's data member, as used by the other memcpy calls \n[…]\name mistake in its leftover path. Both are updated to read from t->r_buf->data, and a regression test using a memory buffer exercises the cross-boundary read path in each transport.\n\nThis closes #3607",
          "is_bot": false,
          "headline": "copy buffered data not the GByteArray struct in c_glib read_slow",
          "author_name": "Javid Khan",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-27T10:04:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e455f3255f4d3a45129c621151ce7b5c9945bd28",
          "body": "…(#3595)\n\n* THRIFT-6069: python: avoid utf8 copy during fastbinary string encode\nClient: py\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "THRIFT-6069: python: avoid utf8 copy during fastbinary string encode …",
          "author_name": "Mark Molinaro",
          "author_login": "markjm",
          "committed_at": "2026-06-26T21:58:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "deb36fa409849de45973b04ffc3ce49d277ca90a",
          "body": null,
          "is_bot": false,
          "headline": "enforce stringLengthLimit in TCompactProtocol.readBinary",
          "author_name": "dxbjavid",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-24T21:15:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "137d693e281dabda8790340cde5642ca8739df35",
          "body": "…the Go JSON protocol\n\nClient: go\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bound the container element count before the 64-bit size precheck in …",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-18T22:52:16Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ed643a86d4fec8d94dbff9048ad5fda67fcca473",
          "body": "Client: go\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "widen container size precheck to 64-bit in go protocols",
          "author_name": "dxbjavid",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-18T22:52:16Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "80ed45a71ad26b76cc9f35b3c073d01ef08e4bc0",
          "body": "…protocols\n\nClient: netstd,delphi,haxe\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Compute container size precheck in 64-bit in netstd, Delphi and Haxe …",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-18T22:32:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "eee7d03a6aedcc76eea03b476e252a78e7201a39",
          "body": "Client: cpp\n\nCo-Authored-By: Codex <noreply@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-3165: Set C++ default TLS protocol floor",
          "author_name": "HTHou",
          "author_login": "HTHou",
          "committed_at": "2026-06-18T21:26:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43e699045d9bef059510924120610a02c3b931fc",
          "body": "Client: swift\n\nRemove the Swift compiler generator, library, tests, tutorial, and all\nassociated build system, CI, and documentation references. No maintainer\nhas been available for this binding; the lib-swift CI job has been\ndisabled since 0.23.0.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-5864: Remove Swift binding",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-18T20:32:58Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fe96c888516ade1ece4f677efd9852939d1a4fad",
          "body": "… and SimpleServer\n\nClient: rb\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6072: Rescue connection errors during accept in ThreadedServer…",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-18T20:24:14Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c016cd23c8bd20eb57e2190f0f93435d4c95ca40",
          "body": "Client: nodejs\n\nImproved input buffer allocation strategy. Apply default consistent with the maxMessageSize / maxFrameSize used by the other Thrift libraries and reject larger input through the stream error path; the limit stays opt-in for the existing client read paths so their behaviour is unchanged.\n\nAdds tests for the receivers and for the server path.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bound receive size and amortize buffer growth in Node.js transports",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-17T23:52:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "db4a473f3a984eee27273256fe737be5dd175595",
          "body": "Client: cpp\n\nThe zlib read path decompressed the frame into the transform buffer and then copied the result back into the receive buffer. Swap the transform buffer in as the receive buffer and read the result directly instead of copying it.\n\nAdds a write/read round-trip test through the zlib transform.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Read the zlib transform result directly in THeaderTransport untransform",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-17T23:51:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0e4a47eac95767af4501e60f337dc67189b7b022",
          "body": "…g conversion in TSimpleJSONProtocol\n\nClient: go\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6071: Validate container size fits int32 range before narrowin…",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-17T21:26:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ae251547b481cfd94e9670ae4f0ae787f7cafef0",
          "body": "THeaderTransport.cpp is compiled into libthriftz, not libthrift.\nWithout this link, the new THeaderTransport test case produces an\nundefined reference to the vtable at link time.\n\nClient: cpp\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "link UnitTests against libthriftz to resolve THeaderTransport vtable",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-17T21:18:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4da36faeef0b7db4b1dea560b01eb15957335934",
          "body": null,
          "is_bot": false,
          "headline": "fix off-by-ten header bounds check in readHeaderFormat",
          "author_name": "dxbjavid",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-17T21:18:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d1c098df544ebf82584e516f638a8efd12210de",
          "body": "Client: go\n\nCompanion to THRIFT-6071 (same guard for ParseElemListBegin).\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Validate map size fits int32 range before narrowing in ReadMapBegin",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-17T20:18:50Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "90721695045463743265f088e8f489d8aaed34fc",
          "body": null,
          "is_bot": false,
          "headline": "check wire-supplied size in simple json ReadMapBegin",
          "author_name": "dxbjavid",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-17T20:18:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11d8207554bccbb06fca5dabf0c1de8d3d046c59",
          "body": "Client: py\n\nCo-Authored-By: Codex <noreply@openai.com>",
          "is_bot": false,
          "headline": "THRIFT-6070: Publish Python wheel distributions to PyPI",
          "author_name": "HTHou",
          "author_login": "HTHou",
          "committed_at": "2026-06-17T14:17:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "983c813c9a1a2302d9a3ae23d7368beceaac2d0a",
          "body": "…arithmetic overflow on LLP64 platforms\n\nClient: cpp,c_glib\nPatch: Javid Khan\n\nThis closes #3590",
          "is_bot": false,
          "headline": "Widen multiplication operands in container size prechecks to prevent …",
          "author_name": "dxbjavid",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-13T09:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35c1a53dd6de205a4a7c23fc356f1fba490116c4",
          "body": "…mports\n\nClient: rs\n\nThe Rust code generator hardcodes 'use crate::' for cross-file imports\n(e.g., when event.thrift includes trees.thrift). This assumes the\ngenerated files are placed at the crate root (src/). When files are\nplaced in a submodule (e.g., src/thrift/), the correct prefix is\n'super', \n[…]\n 'use ::module;' (an external\ncrate path in Rust 2018+). Unknown options are reported with the\ngenerator prefix ('unknown option rs:') per compiler convention.\n\nCo-Authored-By: Grok 4.3 <noreply@x.ai>",
          "is_bot": false,
          "headline": "THRIFT-6059: add crate_prefix option to Rust codegen for cross-file i…",
          "author_name": "Santiago Medina Rolong",
          "author_login": "santiagomed",
          "committed_at": "2026-06-11T20:57:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4b0691b2ab59ab7e61a49ae2e435d962b9a6b1c1",
          "body": "Client: py\n\n- Add _recursion_depth counter and DEFAULT_RECURSION_DEPTH=64 to TProtocolBase;\n  increment_recursion_depth() raises TProtocolException.DEPTH_LIMIT and\n  self-decrements before raising so a reused protocol is not corrupted on overflow\n- Generated read()/write() wrap struct body in increm\n[…]\n linked to DEFAULT_RECURSION_DEPTH constant; accelerated\n  tests skip when fastbinary is not built; regression test for counter-leak on reuse\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6043: Limit struct read/write recursion depth in Python library",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-11T20:24:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b9b268a8c30506a9746c6d348423319a40d38042",
          "body": "Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.7.3 to 1.8.4.\n- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/shell-quote/compare/v1.7.3...v1.8.4)\n\n---\nupdated-dependencies:\n- dependency-name: shell-quote\n  dependency-version: 1.8.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump shell-quote from 1.7.3 to 1.8.4 in /lib/js",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-11T20:22:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "445c062e3ac745a2841962002a8ec1e8f41320e8",
          "body": "Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.7.3 to 1.8.4.\n- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/shell-quote/compare/v1.7.3...v1.8.4)\n\n---\nupdated-dependencies:\n- dependency-name: shell-quote\n  dependency-version: 1.8.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump shell-quote from 1.7.3 to 1.8.4 in /lib/ts",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-09T21:50:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "878db5809e51a8223051496b6125d27a243d3441",
          "body": "Client: rs\n\n- Split single job into dry-run (no env/OIDC) + publish (release only)\n- Pin RUSTUP_TOOLCHAIN to 1.85 instead of floating stable\n- Add version consistency check between Cargo.toml and release tag\n- Fix zizmor code-injection finding in release_rust.yml\n- Pass release tag name via env var instead of direct template expansion\n  in the run block to prevent shell injection.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\n\nThis closes #3588",
          "is_bot": false,
          "headline": "THRIFT-6068: Auto-publish Rust crate on GitHub Release",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-09T20:49:15Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "37925920f03aa036fe90d87b4bd61dc631d6d367",
          "body": "… explicitly\n\nGitHub is redirecting windows-2025 to windows-2025-vs2026 by 2026-06-15.\nThe new runner image has Docker Engine installed but not auto-started, causing\nthe daemon-readiness polling loop to exhaust its 4-minute budget. Explicitly\nstart the Docker service if it is not running and extend the poll deadline to\n6 minutes (step timeout 8 minutes).\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update MSVC CI to windows-2025-vs2026 runner and start Docker service…",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-08T21:10:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4b4484ac06911c0703e0c7f55dbc06372f76de5c",
          "body": "Client: nodejs,compiler\n\nAdds BigInt support to the js:node binding through the compiler and a\npair of JS-level helpers; the binary protocol itself is not touched.\n\nt_js_generator.cc gains a bare `bigint` flag (default off, opt-in)\nthat applies when `node` is in the option list. When set:\n\n- I64 con\n[…]\n for this work yet; a committer should\ncreate one and rename the PR title / branch to the THRIFT-NNNN\nconvention.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>\nGenerated-by: Claude Opus 4.7",
          "is_bot": false,
          "headline": "nodejs+compiler: Add opt-in BigInt support for int64 via js:bigint flag",
          "author_name": "Jiayu Liu",
          "author_login": "jimexist",
          "committed_at": "2026-06-08T21:09:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c097d239f76d0ff904065242e5ec91f1aabea355",
          "body": null,
          "is_bot": false,
          "headline": "limit recursion depth in c_glib thrift_protocol_skip",
          "author_name": "dxbjavid",
          "author_login": "dxbjavid",
          "committed_at": "2026-06-08T20:36:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73a168bed349303c6677232e68df38cca6fc5480",
          "body": "…ds on setuptools < 69\n\nthrift ships sdist-only, so every pip install builds lib/py/setup.py via the\nPEP 517 in-process backend. setup.py calls sys.exit(0) on its build success\npaths. setuptools' build_meta.run_setup() runs setup.py with exec(). On\nsetuptools < 69 the resulting SystemExit propagates\n[…]\nunchanged.\n\nRelated: THRIFT-5915 / PR #3007 (distutils -> setuptools migration).\nSigned-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6067: [py] Remove sys.exit() from setup.py to fix PEP 517 buil…",
          "author_name": "Vikrant Puppala",
          "author_login": "vikrantpuppala",
          "committed_at": "2026-06-06T16:35:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "68cfa01fb6623f545a9ee220a42307396cb0770c",
          "body": "…omise\n\nClient: js,nodets\nPatch: Jiayu Liu\n\nRemoves the runtime dependency on the `q` Promise library and switches\nthe JS/TS code generator to emit native Promise by default.\n\n- Compiler (t_js_generator.cc): in non-ES6 mode the processor emits\n  `new Promise((resolve) => resolve(handler.fn(args)))` \n[…]\ncall `assert.fail(...)` directly instead\n  of `fail(...)` which only returned a function and was never invoked.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\nThis closes #3528",
          "is_bot": false,
          "headline": "THRIFT-6040: Switch JS/Node generator and runtime from Q to native Pr…",
          "author_name": "Jiayu Liu",
          "author_login": "jimexist",
          "committed_at": "2026-06-05T23:36:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "dc9644eacba48cd77260c6106e498d98daff5392",
          "body": "…ckage\n\nClient: netstd\n\nThe core ApacheThrift package no longer depends on the ASP.NET Core stack or\nthe Microsoft.Extensions.Logging providers, so non-web projects no longer pull\nin all of those DLLs. THttpServerTransport (the only ASP.NET Core type) moves to\na new ApacheThrift.AspNetCore package; the core library keeps only the\nMicrosoft.Extensions.Logging.Abstractions dependency used by the TServer types.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-4534: Move ASP.NET Core HTTP server transport to a separate pa…",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-05T22:44:14Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "208b779bc98c17c01fb2fdde327056a5ab3882bf",
          "body": "Client: nodejs\n\nws v8 added strict validation of the protocols argument and rejects\nan empty string with `SyntaxError: An invalid or duplicated subprotocol\nwas specified`. ws v5 tolerated `\"\"` silently.\n\nWSConnection passed `\"\"` as the protocols argument when running on\nNode (browser code path is un\n[…]\n documented signatures.\n\nSurfaced by the lib-nodejs CI job after the ws 5 -> 8 upgrade.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\nGenerated-by: Claude Opus 4.7 (1M context)",
          "is_bot": false,
          "headline": "Fix WebSocket subprotocol for ws v8",
          "author_name": "Jiayu Liu",
          "author_login": "jimexist",
          "committed_at": "2026-06-03T21:12:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2973732067dcb3eca2f987947891aff2d364c067",
          "body": "Client: nodejs\n\nThe ws package was pinned at ^5.2.3 (resolved 5.2.4), which is\nseveral major versions behind the current 8.21.0 release.\n\nws is consumed indirectly via isomorphic-ws in\nlib/nodejs/lib/thrift/ws_connection.js; only the client-side\n`new WebSocket(uri, \"\", wsOptions)` constructor is use\n[…]\ns BSD-2-Clause licensed (ASF Category A), so no LICENSE or\nNOTICE updates are required.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\nGenerated-by: Claude Opus 4.7 (1M context)",
          "is_bot": false,
          "headline": "Upgrade ws from 5.2.x to 8.21.0",
          "author_name": "Jiayu Liu",
          "author_login": "jimexist",
          "committed_at": "2026-06-03T21:12:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d2d907d83b523ee0130e33a9cd456f13e00a9831",
          "body": "…in PHP library\n\nClient: php\n\nA recursion-depth counter (incrementRecursionDepth/decrementRecursionDepth,\nlimit DEFAULT_RECURSION_DEPTH = 64, TProtocolException::DEPTH_LIMIT on excess)\nis enforced at the two mutually exclusive generated-code call sites: the\ngenerator wraps the inline read/write loop\n[…]\nst<self>,\nso the reader recurses through the guarded struct path rather than skip()).\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6047: Limit struct/union/exception read/write recursion depth …",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-03T21:11:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "26ba56a5bae085d57a76c05627dc22c57c688f35",
          "body": "Client: go\n\nThe Go code generator now wraps every generated struct Read/Write with a\nper-context recursion-depth tracker (thrift.CheckRecursionDepth /\nDecrementRecursionDepth), returning TProtocolException(DEPTH_LIMIT) once the\nnesting exceeds DEFAULT_RECURSION_DEPTH (64). Previously only Skip() was\n[…]\ngument\nwith context.Background(); those matchers are relaxed to gomock.Any() (the\ncall sequence, argument types and values are still asserted).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "THRIFT-6044: Limit struct read/write recursion depth in Go library",
          "author_name": "Jens Geyer",
          "author_login": "Jens-G",
          "committed_at": "2026-06-03T21:10:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        }
      ],
      "releases_count": 18,
      "commits_last_year": 566,
      "latest_release_at": "2026-07-11T16:48:47Z",
      "latest_release_tag": "v0.24.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 47,
      "days_since_latest_release": 10,
      "mean_days_between_releases": 178.5
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/apache/thrift",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/apache/thrift",
          "is_deprecated": false,
          "latest_version": "v0.24.0",
          "repository_url": "https://github.com/apache/thrift",
          "versions_count": 16,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-05T20:04:17Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 16
        },
        {
          "name": "thrift",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/thrift",
          "is_deprecated": false,
          "latest_version": "0.24.0",
          "repository_url": "https://github.com/apache/thrift",
          "versions_count": 29,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 5,
          "monthly_downloads": 5546382,
          "first_published_at": "2011-01-03T06:02:40.364000Z",
          "latest_published_at": "2026-07-11T20:42:57.561000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 10
        },
        {
          "name": "apache/thrift",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "rpc"
          ],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/apache/thrift",
          "is_deprecated": false,
          "latest_version": "v0.24.0",
          "repository_url": "https://github.com/apache/thrift",
          "versions_count": 22,
          "total_downloads": 2115718,
          "dependents_count": 54,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 9426,
          "first_published_at": null,
          "latest_published_at": "2026-07-05T20:04:17Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 16
        }
      ]
    },
    "popularity": {
      "forks": 4113,
      "stars": 10941,
      "watchers": 445,
      "fork_history": {
        "days": [
          {
            "date": "2020-09-18",
            "count": 1
          },
          {
            "date": "2020-09-21",
            "count": 2
          },
          {
            "date": "2020-09-22",
            "count": 1
          },
          {
            "date": "2020-09-24",
            "count": 1
          },
          {
            "date": "2020-09-25",
            "count": 1
          },
          {
            "date": "2020-09-27",
            "count": 2
          },
          {
            "date": "2020-09-29",
            "count": 1
          },
          {
            "date": "2020-10-01",
            "count": 1
          },
          {
            "date": "2020-10-03",
            "count": 1
          },
          {
            "date": "2020-10-04",
            "count": 1
          },
          {
            "date": "2020-10-05",
            "count": 2
          },
          {
            "date": "2020-10-06",
            "count": 1
          },
          {
            "date": "2020-10-09",
            "count": 1
          },
          {
            "date": "2020-10-11",
            "count": 1
          },
          {
            "date": "2020-10-12",
            "count": 1
          },
          {
            "date": "2020-10-13",
            "count": 2
          },
          {
            "date": "2020-10-14",
            "count": 1
          },
          {
            "date": "2020-10-16",
            "count": 2
          },
          {
            "date": "2020-10-20",
            "count": 4
          },
          {
            "date": "2020-10-21",
            "count": 2
          },
          {
            "date": "2020-10-22",
            "count": 1
          },
          {
            "date": "2020-10-23",
            "count": 1
          },
          {
            "date": "2020-10-24",
            "count": 1
          },
          {
            "date": "2020-10-25",
            "count": 1
          },
          {
            "date": "2020-10-26",
            "count": 1
          },
          {
            "date": "2020-10-27",
            "count": 4
          },
          {
            "date": "2020-10-28",
            "count": 1
          },
          {
            "date": "2020-10-29",
            "count": 1
          },
          {
            "date": "2020-10-30",
            "count": 3
          },
          {
            "date": "2020-10-31",
            "count": 1
          },
          {
            "date": "2020-11-02",
            "count": 1
          },
          {
            "date": "2020-11-03",
            "count": 2
          },
          {
            "date": "2020-11-05",
            "count": 2
          },
          {
            "date": "2020-11-06",
            "count": 1
          },
          {
            "date": "2020-11-10",
            "count": 2
          },
          {
            "date": "2020-11-12",
            "count": 2
          },
          {
            "date": "2020-11-13",
            "count": 3
          },
          {
            "date": "2020-11-14",
            "count": 1
          },
          {
            "date": "2020-11-16",
            "count": 6
          },
          {
            "date": "2020-11-18",
            "count": 1
          },
          {
            "date": "2020-11-23",
            "count": 1
          },
          {
            "date": "2020-11-24",
            "count": 3
          },
          {
            "date": "2020-11-25",
            "count": 1
          },
          {
            "date": "2020-11-27",
            "count": 2
          },
          {
            "date": "2020-12-01",
            "count": 3
          },
          {
            "date": "2020-12-02",
            "count": 2
          },
          {
            "date": "2020-12-03",
            "count": 1
          },
          {
            "date": "2020-12-04",
            "count": 1
          },
          {
            "date": "2020-12-06",
            "count": 1
          },
          {
            "date": "2020-12-08",
            "count": 3
          },
          {
            "date": "2020-12-09",
            "count": 2
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2020-12-16",
            "count": 4
          },
          {
            "date": "2020-12-17",
            "count": 1
          },
          {
            "date": "2020-12-18",
            "count": 1
          },
          {
            "date": "2020-12-21",
            "count": 1
          },
          {
            "date": "2020-12-22",
            "count": 1
          },
          {
            "date": "2020-12-24",
            "count": 1
          },
          {
            "date": "2020-12-25",
            "count": 2
          },
          {
            "date": "2020-12-28",
            "count": 1
          },
          {
            "date": "2021-01-02",
            "count": 1
          },
          {
            "date": "2021-01-03",
            "count": 1
          },
          {
            "date": "2021-01-05",
            "count": 1
          },
          {
            "date": "2021-01-08",
            "count": 2
          },
          {
            "date": "2021-01-09",
            "count": 1
          },
          {
            "date": "2021-01-10",
            "count": 1
          },
          {
            "date": "2021-01-12",
            "count": 1
          },
          {
            "date": "2021-01-13",
            "count": 1
          },
          {
            "date": "2021-01-14",
            "count": 2
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-20",
            "count": 2
          },
          {
            "date": "2021-01-23",
            "count": 1
          },
          {
            "date": "2021-01-24",
            "count": 1
          },
          {
            "date": "2021-01-27",
            "count": 3
          },
          {
            "date": "2021-01-28",
            "count": 3
          },
          {
            "date": "2021-01-29",
            "count": 1
          },
          {
            "date": "2021-01-31",
            "count": 2
          },
          {
            "date": "2021-02-01",
            "count": 1
          },
          {
            "date": "2021-02-02",
            "count": 2
          },
          {
            "date": "2021-02-03",
            "count": 2
          },
          {
            "date": "2021-02-04",
            "count": 3
          },
          {
            "date": "2021-02-05",
            "count": 3
          },
          {
            "date": "2021-02-08",
            "count": 1
          },
          {
            "date": "2021-02-09",
            "count": 1
          },
          {
            "date": "2021-02-15",
            "count": 1
          },
          {
            "date": "2021-02-17",
            "count": 3
          },
          {
            "date": "2021-02-18",
            "count": 1
          },
          {
            "date": "2021-02-19",
            "count": 1
          },
          {
            "date": "2021-02-20",
            "count": 1
          },
          {
            "date": "2021-02-22",
            "count": 1
          },
          {
            "date": "2021-02-23",
            "count": 2
          },
          {
            "date": "2021-02-25",
            "count": 3
          },
          {
            "date": "2021-02-26",
            "count": 2
          },
          {
            "date": "2021-03-02",
            "count": 2
          },
          {
            "date": "2021-03-04",
            "count": 1
          },
          {
            "date": "2021-03-08",
            "count": 1
          },
          {
            "date": "2021-03-10",
            "count": 1
          },
          {
            "date": "2021-03-14",
            "count": 2
          },
          {
            "date": "2021-03-15",
            "count": 1
          },
          {
            "date": "2021-03-17",
            "count": 1
          },
          {
            "date": "2021-03-18",
            "count": 1
          },
          {
            "date": "2021-03-20",
            "count": 1
          },
          {
            "date": "2021-03-23",
            "count": 3
          },
          {
            "date": "2021-03-24",
            "count": 1
          },
          {
            "date": "2021-03-28",
            "count": 1
          },
          {
            "date": "2021-03-29",
            "count": 1
          },
          {
            "date": "2021-04-01",
            "count": 1
          },
          {
            "date": "2021-04-02",
            "count": 1
          },
          {
            "date": "2021-04-05",
            "count": 1
          },
          {
            "date": "2021-04-07",
            "count": 2
          },
          {
            "date": "2021-04-08",
            "count": 1
          },
          {
            "date": "2021-04-09",
            "count": 1
          },
          {
            "date": "2021-04-11",
            "count": 1
          },
          {
            "date": "2021-04-13",
            "count": 1
          },
          {
            "date": "2021-04-15",
            "count": 1
          },
          {
            "date": "2021-04-16",
            "count": 2
          },
          {
            "date": "2021-04-17",
            "count": 1
          },
          {
            "date": "2021-04-19",
            "count": 1
          },
          {
            "date": "2021-04-21",
            "count": 3
          },
          {
            "date": "2021-04-23",
            "count": 6
          },
          {
            "date": "2021-04-26",
            "count": 1
          },
          {
            "date": "2021-04-27",
            "count": 1
          },
          {
            "date": "2021-04-28",
            "count": 2
          },
          {
            "date": "2021-04-29",
            "count": 1
          },
          {
            "date": "2021-05-03",
            "count": 1
          },
          {
            "date": "2021-05-04",
            "count": 1
          },
          {
            "date": "2021-05-07",
            "count": 1
          },
          {
            "date": "2021-05-10",
            "count": 1
          },
          {
            "date": "2021-05-11",
            "count": 1
          },
          {
            "date": "2021-05-12",
            "count": 2
          },
          {
            "date": "2021-05-13",
            "count": 2
          },
          {
            "date": "2021-05-14",
            "count": 2
          },
          {
            "date": "2021-05-15",
            "count": 2
          },
          {
            "date": "2021-05-19",
            "count": 1
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-21",
            "count": 3
          },
          {
            "date": "2021-05-22",
            "count": 2
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-05-27",
            "count": 1
          },
          {
            "date": "2021-05-28",
            "count": 2
          },
          {
            "date": "2021-05-31",
            "count": 1
          },
          {
            "date": "2021-06-01",
            "count": 2
          },
          {
            "date": "2021-06-03",
            "count": 1
          },
          {
            "date": "2021-06-04",
            "count": 1
          },
          {
            "date": "2021-06-05",
            "count": 1
          },
          {
            "date": "2021-06-07",
            "count": 1
          },
          {
            "date": "2021-06-10",
            "count": 1
          },
          {
            "date": "2021-06-11",
            "count": 3
          },
          {
            "date": "2021-06-14",
            "count": 1
          },
          {
            "date": "2021-06-16",
            "count": 1
          },
          {
            "date": "2021-06-20",
            "count": 1
          },
          {
            "date": "2021-06-21",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 1
          },
          {
            "date": "2021-06-29",
            "count": 2
          },
          {
            "date": "2021-06-30",
            "count": 3
          },
          {
            "date": "2021-07-01",
            "count": 1
          },
          {
            "date": "2021-07-02",
            "count": 1
          },
          {
            "date": "2021-07-05",
            "count": 1
          },
          {
            "date": "2021-07-07",
            "count": 1
          },
          {
            "date": "2021-07-08",
            "count": 2
          },
          {
            "date": "2021-07-09",
            "count": 1
          },
          {
            "date": "2021-07-12",
            "count": 1
          },
          {
            "date": "2021-07-13",
            "count": 1
          },
          {
            "date": "2021-07-19",
            "count": 1
          },
          {
            "date": "2021-07-20",
            "count": 1
          },
          {
            "date": "2021-07-21",
            "count": 1
          },
          {
            "date": "2021-07-23",
            "count": 3
          },
          {
            "date": "2021-07-26",
            "count": 1
          },
          {
            "date": "2021-07-27",
            "count": 2
          },
          {
            "date": "2021-07-28",
            "count": 2
          },
          {
            "date": "2021-07-29",
            "count": 2
          },
          {
            "date": "2021-08-01",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-05",
            "count": 1
          },
          {
            "date": "2021-08-06",
            "count": 1
          },
          {
            "date": "2021-08-07",
            "count": 1
          },
          {
            "date": "2021-08-08",
            "count": 1
          },
          {
            "date": "2021-08-11",
            "count": 1
          },
          {
            "date": "2021-08-14",
            "count": 1
          },
          {
            "date": "2021-08-21",
            "count": 1
          },
          {
            "date": "2021-08-23",
            "count": 1
          },
          {
            "date": "2021-08-24",
            "count": 1
          },
          {
            "date": "2021-08-30",
            "count": 2
          },
          {
            "date": "2021-09-01",
            "count": 1
          },
          {
            "date": "2021-09-05",
            "count": 2
          },
          {
            "date": "2021-09-08",
            "count": 2
          },
          {
            "date": "2021-09-09",
            "count": 2
          },
          {
            "date": "2021-09-10",
            "count": 1
          },
          {
            "date": "2021-09-11",
            "count": 1
          },
          {
            "date": "2021-09-14",
            "count": 1
          },
          {
            "date": "2021-09-15",
            "count": 1
          },
          {
            "date": "2021-09-19",
            "count": 1
          },
          {
            "date": "2021-09-22",
            "count": 1
          },
          {
            "date": "2021-09-23",
            "count": 1
          },
          {
            "date": "2021-09-27",
            "count": 1
          },
          {
            "date": "2021-09-28",
            "count": 2
          },
          {
            "date": "2021-09-30",
            "count": 1
          },
          {
            "date": "2021-10-04",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 2
          },
          {
            "date": "2021-10-10",
            "count": 1
          },
          {
            "date": "2021-10-11",
            "count": 1
          },
          {
            "date": "2021-10-13",
            "count": 1
          },
          {
            "date": "2021-10-14",
            "count": 1
          },
          {
            "date": "2021-10-15",
            "count": 1
          },
          {
            "date": "2021-10-19",
            "count": 1
          },
          {
            "date": "2021-10-23",
            "count": 1
          },
          {
            "date": "2021-10-25",
            "count": 2
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-10-29",
            "count": 1
          },
          {
            "date": "2021-11-02",
            "count": 1
          },
          {
            "date": "2021-11-03",
            "count": 2
          },
          {
            "date": "2021-11-04",
            "count": 1
          },
          {
            "date": "2021-11-08",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-11-10",
            "count": 1
          },
          {
            "date": "2021-11-12",
            "count": 1
          },
          {
            "date": "2021-11-13",
            "count": 2
          },
          {
            "date": "2021-11-15",
            "count": 1
          },
          {
            "date": "2021-11-16",
            "count": 1
          },
          {
            "date": "2021-11-17",
            "count": 2
          },
          {
            "date": "2021-11-18",
            "count": 1
          },
          {
            "date": "2021-11-23",
            "count": 2
          },
          {
            "date": "2021-11-25",
            "count": 1
          },
          {
            "date": "2021-11-26",
            "count": 1
          },
          {
            "date": "2021-11-29",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-05",
            "count": 1
          },
          {
            "date": "2021-12-06",
            "count": 1
          },
          {
            "date": "2021-12-07",
            "count": 3
          },
          {
            "date": "2021-12-08",
            "count": 1
          },
          {
            "date": "2021-12-11",
            "count": 1
          },
          {
            "date": "2021-12-13",
            "count": 1
          },
          {
            "date": "2021-12-14",
            "count": 1
          },
          {
            "date": "2021-12-16",
            "count": 1
          },
          {
            "date": "2021-12-17",
            "count": 1
          },
          {
            "date": "2021-12-18",
            "count": 1
          },
          {
            "date": "2021-12-19",
            "count": 3
          },
          {
            "date": "2021-12-21",
            "count": 1
          },
          {
            "date": "2021-12-23",
            "count": 1
          },
          {
            "date": "2021-12-24",
            "count": 1
          },
          {
            "date": "2021-12-26",
            "count": 2
          },
          {
            "date": "2021-12-29",
            "count": 1
          },
          {
            "date": "2021-12-30",
            "count": 1
          },
          {
            "date": "2021-12-31",
            "count": 3
          },
          {
            "date": "2022-01-03",
            "count": 1
          },
          {
            "date": "2022-01-05",
            "count": 1
          },
          {
            "date": "2022-01-06",
            "count": 1
          },
          {
            "date": "2022-01-07",
            "count": 1
          },
          {
            "date": "2022-01-09",
            "count": 2
          },
          {
            "date": "2022-01-10",
            "count": 1
          },
          {
            "date": "2022-01-11",
            "count": 1
          },
          {
            "date": "2022-01-12",
            "count": 2
          },
          {
            "date": "2022-01-20",
            "count": 1
          },
          {
            "date": "2022-01-21",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-01-25",
            "count": 1
          },
          {
            "date": "2022-01-26",
            "count": 1
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-04",
            "count": 2
          },
          {
            "date": "2022-02-05",
            "count": 3
          },
          {
            "date": "2022-02-07",
            "count": 1
          },
          {
            "date": "2022-02-08",
            "count": 5
          },
          {
            "date": "2022-02-12",
            "count": 3
          },
          {
            "date": "2022-02-13",
            "count": 1
          },
          {
            "date": "2022-02-14",
            "count": 1
          },
          {
            "date": "2022-02-17",
            "count": 2
          },
          {
            "date": "2022-02-18",
            "count": 1
          },
          {
            "date": "2022-02-20",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 3
          },
          {
            "date": "2022-02-22",
            "count": 1
          },
          {
            "date": "2022-02-24",
            "count": 2
          },
          {
            "date": "2022-02-26",
            "count": 2
          },
          {
            "date": "2022-02-28",
            "count": 1
          },
          {
            "date": "2022-03-02",
            "count": 1
          },
          {
            "date": "2022-03-08",
            "count": 2
          },
          {
            "date": "2022-03-10",
            "count": 2
          },
          {
            "date": "2022-03-14",
            "count": 1
          },
          {
            "date": "2022-03-15",
            "count": 3
          },
          {
            "date": "2022-03-16",
            "count": 2
          },
          {
            "date": "2022-03-17",
            "count": 2
          },
          {
            "date": "2022-03-18",
            "count": 3
          },
          {
            "date": "2022-03-20",
            "count": 1
          },
          {
            "date": "2022-03-25",
            "count": 1
          },
          {
            "date": "2022-03-31",
            "count": 1
          },
          {
            "date": "2022-04-01",
            "count": 1
          },
          {
            "date": "2022-04-05",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 2
          },
          {
            "date": "2022-04-10",
            "count": 2
          },
          {
            "date": "2022-04-11",
            "count": 1
          },
          {
            "date": "2022-04-12",
            "count": 1
          },
          {
            "date": "2022-04-13",
            "count": 4
          },
          {
            "date": "2022-04-17",
            "count": 1
          },
          {
            "date": "2022-04-19",
            "count": 2
          },
          {
            "date": "2022-04-21",
            "count": 1
          },
          {
            "date": "2022-04-23",
            "count": 2
          },
          {
            "date": "2022-04-24",
            "count": 2
          },
          {
            "date": "2022-04-26",
            "count": 1
          },
          {
            "date": "2022-04-28",
            "count": 1
          },
          {
            "date": "2022-05-02",
            "count": 1
          },
          {
            "date": "2022-05-03",
            "count": 2
          },
          {
            "date": "2022-05-05",
            "count": 1
          },
          {
            "date": "2022-05-08",
            "count": 1
          },
          {
            "date": "2022-05-10",
            "count": 1
          },
          {
            "date": "2022-05-11",
            "count": 1
          },
          {
            "date": "2022-05-18",
            "count": 1
          },
          {
            "date": "2022-05-21",
            "count": 1
          },
          {
            "date": "2022-05-23",
            "count": 1
          },
          {
            "date": "2022-05-25",
            "count": 2
          },
          {
            "date": "2022-05-26",
            "count": 1
          },
          {
            "date": "2022-05-28",
            "count": 2
          },
          {
            "date": "2022-05-29",
            "count": 2
          },
          {
            "date": "2022-05-30",
            "count": 1
          },
          {
            "date": "2022-06-01",
            "count": 1
          },
          {
            "date": "2022-06-02",
            "count": 1
          },
          {
            "date": "2022-06-03",
            "count": 1
          },
          {
            "date": "2022-06-06",
            "count": 1
          },
          {
            "date": "2022-06-07",
            "count": 1
          },
          {
            "date": "2022-06-08",
            "count": 1
          },
          {
            "date": "2022-06-09",
            "count": 1
          },
          {
            "date": "2022-06-10",
            "count": 2
          },
          {
            "date": "2022-06-12",
            "count": 1
          },
          {
            "date": "2022-06-21",
            "count": 1
          },
          {
            "date": "2022-06-24",
            "count": 2
          },
          {
            "date": "2022-06-28",
            "count": 1
          },
          {
            "date": "2022-06-30",
            "count": 1
          },
          {
            "date": "2022-07-01",
            "count": 2
          },
          {
            "date": "2022-07-04",
            "count": 1
          },
          {
            "date": "2022-07-06",
            "count": 2
          },
          {
            "date": "2022-07-07",
            "count": 1
          },
          {
            "date": "2022-07-09",
            "count": 1
          },
          {
            "date": "2022-07-11",
            "count": 2
          },
          {
            "date": "2022-07-14",
            "count": 1
          },
          {
            "date": "2022-07-16",
            "count": 1
          },
          {
            "date": "2022-07-18",
            "count": 2
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-08-03",
            "count": 1
          },
          {
            "date": "2022-08-05",
            "count": 1
          },
          {
            "date": "2022-08-08",
            "count": 1
          },
          {
            "date": "2022-08-09",
            "count": 1
          },
          {
            "date": "2022-08-14",
            "count": 1
          },
          {
            "date": "2022-08-15",
            "count": 2
          },
          {
            "date": "2022-08-16",
            "count": 1
          },
          {
            "date": "2022-08-17",
            "count": 1
          },
          {
            "date": "2022-08-18",
            "count": 2
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-22",
            "count": 2
          },
          {
            "date": "2022-08-23",
            "count": 1
          },
          {
            "date": "2022-08-24",
            "count": 2
          },
          {
            "date": "2022-08-27",
            "count": 1
          },
          {
            "date": "2022-08-29",
            "count": 1
          },
          {
            "date": "2022-09-04",
            "count": 1
          },
          {
            "date": "2022-09-07",
            "count": 2
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-09-20",
            "count": 1
          },
          {
            "date": "2022-09-21",
            "count": 2
          },
          {
            "date": "2022-09-24",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 1
          },
          {
            "date": "2022-09-28",
            "count": 1
          },
          {
            "date": "2022-10-03",
            "count": 1
          },
          {
            "date": "2022-10-09",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 2
          },
          {
            "date": "2022-10-13",
            "count": 1
          },
          {
            "date": "2022-10-16",
            "count": 1
          },
          {
            "date": "2022-10-18",
            "count": 1
          },
          {
            "date": "2022-10-23",
            "count": 1
          },
          {
            "date": "2022-10-30",
            "count": 2
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-11",
            "count": 1
          },
          {
            "date": "2022-11-14",
            "count": 2
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-17",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 2
          },
          {
            "date": "2022-11-20",
            "count": 1
          },
          {
            "date": "2022-11-21",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 2
          },
          {
            "date": "2022-12-01",
            "count": 1
          },
          {
            "date": "2022-12-03",
            "count": 1
          },
          {
            "date": "2022-12-05",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-09",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2022-12-15",
            "count": 2
          },
          {
            "date": "2022-12-22",
            "count": 2
          },
          {
            "date": "2022-12-23",
            "count": 1
          },
          {
            "date": "2023-01-03",
            "count": 1
          },
          {
            "date": "2023-01-06",
            "count": 1
          },
          {
            "date": "2023-01-07",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-01-15",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-01-21",
            "count": 1
          },
          {
            "date": "2023-01-22",
            "count": 1
          },
          {
            "date": "2023-01-26",
            "count": 1
          },
          {
            "date": "2023-01-30",
            "count": 2
          },
          {
            "date": "2023-02-06",
            "count": 1
          },
          {
            "date": "2023-02-07",
            "count": 2
          },
          {
            "date": "2023-02-09",
            "count": 2
          },
          {
            "date": "2023-02-13",
            "count": 1
          },
          {
            "date": "2023-02-14",
            "count": 2
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 1
          },
          {
            "date": "2023-02-19",
            "count": 1
          },
          {
            "date": "2023-02-20",
            "count": 2
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-24",
            "count": 1
          },
          {
            "date": "2023-03-02",
            "count": 1
          },
          {
            "date": "2023-03-04",
            "count": 3
          },
          {
            "date": "2023-03-06",
            "count": 2
          },
          {
            "date": "2023-03-08",
            "count": 1
          },
          {
            "date": "2023-03-12",
            "count": 1
          },
          {
            "date": "2023-03-13",
            "count": 1
          },
          {
            "date": "2023-03-14",
            "count": 2
          },
          {
            "date": "2023-03-15",
            "count": 2
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-19",
            "count": 1
          },
          {
            "date": "2023-03-22",
            "count": 1
          },
          {
            "date": "2023-03-23",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-03-27",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-03-31",
            "count": 2
          },
          {
            "date": "2023-04-01",
            "count": 2
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-05",
            "count": 1
          },
          {
            "date": "2023-04-07",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-11",
            "count": 2
          },
          {
            "date": "2023-04-12",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 2
          },
          {
            "date": "2023-04-17",
            "count": 2
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-20",
            "count": 1
          },
          {
            "date": "2023-04-24",
            "count": 1
          },
          {
            "date": "2023-04-25",
            "count": 2
          },
          {
            "date": "2023-04-28",
            "count": 1
          },
          {
            "date": "2023-05-06",
            "count": 1
          },
          {
            "date": "2023-05-10",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-12",
            "count": 2
          },
          {
            "date": "2023-05-15",
            "count": 2
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-17",
            "count": 1
          },
          {
            "date": "2023-05-19",
            "count": 1
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-05-23",
            "count": 2
          },
          {
            "date": "2023-05-24",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-06",
            "count": 1
          },
          {
            "date": "2023-06-08",
            "count": 2
          },
          {
            "date": "2023-06-12",
            "count": 1
          },
          {
            "date": "2023-06-14",
            "count": 1
          },
          {
            "date": "2023-06-17",
            "count": 1
          },
          {
            "date": "2023-06-19",
            "count": 1
          },
          {
            "date": "2023-06-21",
            "count": 2
          },
          {
            "date": "2023-06-24",
            "count": 1
          },
          {
            "date": "2023-06-26",
            "count": 1
          },
          {
            "date": "2023-06-28",
            "count": 1
          },
          {
            "date": "2023-06-29",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-06",
            "count": 1
          },
          {
            "date": "2023-07-12",
            "count": 2
          },
          {
            "date": "2023-07-13",
            "count": 1
          },
          {
            "date": "2023-07-14",
            "count": 1
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-31",
            "count": 1
          },
          {
            "date": "2023-08-04",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 1
          },
          {
            "date": "2023-08-10",
            "count": 1
          },
          {
            "date": "2023-08-11",
            "count": 1
          },
          {
            "date": "2023-08-14",
            "count": 2
          },
          {
            "date": "2023-08-18",
            "count": 2
          },
          {
            "date": "2023-08-24",
            "count": 1
          },
          {
            "date": "2023-08-28",
            "count": 2
          },
          {
            "date": "2023-08-30",
            "count": 1
          },
          {
            "date": "2023-09-05",
            "count": 1
          },
          {
            "date": "2023-09-08",
            "count": 1
          },
          {
            "date": "2023-09-11",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 1
          },
          {
            "date": "2023-09-15",
            "count": 1
          },
          {
            "date": "2023-09-18",
            "count": 1
          },
          {
            "date": "2023-09-21",
            "count": 1
          },
          {
            "date": "2023-09-27",
            "count": 2
          },
          {
            "date": "2023-10-06",
            "count": 1
          },
          {
            "date": "2023-10-10",
            "count": 1
          },
          {
            "date": "2023-10-11",
            "count": 1
          },
          {
            "date": "2023-10-15",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 2
          },
          {
            "date": "2023-10-29",
            "count": 2
          },
          {
            "date": "2023-11-02",
            "count": 1
          },
          {
            "date": "2023-11-07",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-17",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-10",
            "count": 1
          },
          {
            "date": "2023-12-15",
            "count": 1
          },
          {
            "date": "2023-12-18",
            "count": 2
          },
          {
            "date": "2023-12-25",
            "count": 1
          },
          {
            "date": "2024-01-04",
            "count": 1
          },
          {
            "date": "2024-01-11",
            "count": 1
          },
          {
            "date": "2024-01-15",
            "count": 1
          },
          {
            "date": "2024-01-20",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-01-26",
            "count": 1
          },
          {
            "date": "2024-01-31",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 1
          },
          {
            "date": "2024-02-11",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-16",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 2
          },
          {
            "date": "2024-03-07",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 2
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-03-18",
            "count": 1
          },
          {
            "date": "2024-03-22",
            "count": 2
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-30",
            "count": 1
          },
          {
            "date": "2024-03-31",
            "count": 1
          },
          {
            "date": "2024-04-01",
            "count": 1
          },
          {
            "date": "2024-04-06",
            "count": 1
          },
          {
            "date": "2024-04-16",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 2
          },
          {
            "date": "2024-04-19",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-04-29",
            "count": 1
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-11",
            "count": 1
          },
          {
            "date": "2024-05-15",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-19",
            "count": 1
          },
          {
            "date": "2024-05-22",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 3
          },
          {
            "date": "2024-05-29",
            "count": 2
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-07",
            "count": 1
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 2
          },
          {
            "date": "2024-06-23",
            "count": 1
          },
          {
            "date": "2024-06-28",
            "count": 2
          },
          {
            "date": "2024-06-29",
            "count": 2
          },
          {
            "date": "2024-07-03",
            "count": 2
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-07-19",
            "count": 3
          },
          {
            "date": "2024-07-21",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-07-28",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-17",
            "count": 1
          },
          {
            "date": "2024-08-18",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-08-22",
            "count": 1
          },
          {
            "date": "2024-08-23",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-08-29",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-10",
            "count": 1
          },
          {
            "date": "2024-09-16",
            "count": 1
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-20",
            "count": 1
          },
          {
            "date": "2024-09-25",
            "count": 1
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-29",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-09",
            "count": 2
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 1
          },
          {
            "date": "2024-10-22",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 2
          },
          {
            "date": "2024-10-25",
            "count": 2
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 1
          },
          {
            "date": "2024-11-26",
            "count": 1
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-16",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2024-12-28",
            "count": 1
          },
          {
            "date": "2024-12-29",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2024-12-31",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 2
          },
          {
            "date": "2025-01-06",
            "count": 2
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-08",
            "count": 1
          },
          {
            "date": "2025-01-09",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 2
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-02-02",
            "count": 1
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 1
          },
          {
            "date": "2025-02-07",
            "count": 2
          },
          {
            "date": "2025-02-20",
            "count": 2
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-03-01",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-09",
            "count": 2
          },
          {
            "date": "2025-03-12",
            "count": 1
          },
          {
            "date": "2025-03-20",
            "count": 1
          },
          {
            "date": "2025-03-23",
            "count": 1
          },
          {
            "date": "2025-03-24",
            "count": 1
          },
          {
            "date": "2025-04-02",
            "count": 2
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-18",
            "count": 2
          },
          {
            "date": "2025-04-20",
            "count": 2
          },
          {
            "date": "2025-04-21",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-04-30",
            "count": 1
          },
          {
            "date": "2025-05-13",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 2
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-28",
            "count": 2
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-06-03",
            "count": 1
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-20",
            "count": 1
          },
          {
            "date": "2025-06-23",
            "count": 1
          },
          {
            "date": "2025-06-30",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-17",
            "count": 2
          },
          {
            "date": "2025-07-21",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 3
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-08-09",
            "count": 1
          },
          {
            "date": "2025-08-10",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-15",
            "count": 1
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2025-09-06",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 1
          },
          {
            "date": "2025-09-21",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 3
          },
          {
            "date": "2025-09-25",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 2
          },
          {
            "date": "2025-10-30",
            "count": 1
          },
          {
            "date": "2025-11-04",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-08",
            "count": 3
          },
          {
            "date": "2025-11-19",
            "count": 1
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-26",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 2
          },
          {
            "date": "2025-12-07",
            "count": 2
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-20",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 1
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 1
          },
          {
            "date": "2026-03-04",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-18",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 2
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 2
          },
          {
            "date": "2026-04-21",
            "count": 1
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 2
          },
          {
            "date": "2026-05-06",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 3
          },
          {
            "date": "2026-05-13",
            "count": 2
          },
          {
            "date": "2026-05-14",
            "count": 2
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 1
          },
          {
            "date": "2026-05-28",
            "count": 2
          },
          {
            "date": "2026-06-05",
            "count": 2
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 1
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 2
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 4113
      },
      "star_history": {
        "days": [
          {
            "date": "2024-04-13",
            "count": 1
          },
          {
            "date": "2024-04-14",
            "count": 2
          },
          {
            "date": "2024-04-15",
            "count": 1
          },
          {
            "date": "2024-04-16",
            "count": 2
          },
          {
            "date": "2024-04-17",
            "count": 3
          },
          {
            "date": "2024-04-20",
            "count": 4
          },
          {
            "date": "2024-04-21",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-24",
            "count": 5
          },
          {
            "date": "2024-04-26",
            "count": 2
          },
          {
            "date": "2024-04-28",
            "count": 2
          },
          {
            "date": "2024-04-29",
            "count": 3
          },
          {
            "date": "2024-04-30",
            "count": 3
          },
          {
            "date": "2024-05-02",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 3
          },
          {
            "date": "2024-05-04",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 2
          },
          {
            "date": "2024-05-07",
            "count": 4
          },
          {
            "date": "2024-05-08",
            "count": 1
          },
          {
            "date": "2024-05-09",
            "count": 3
          },
          {
            "date": "2024-05-11",
            "count": 3
          },
          {
            "date": "2024-05-12",
            "count": 4
          },
          {
            "date": "2024-05-14",
            "count": 2
          },
          {
            "date": "2024-05-15",
            "count": 1
          },
          {
            "date": "2024-05-16",
            "count": 2
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-18",
            "count": 1
          },
          {
            "date": "2024-05-19",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 3
          },
          {
            "date": "2024-05-21",
            "count": 4
          },
          {
            "date": "2024-05-24",
            "count": 1
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 3
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 2
          },
          {
            "date": "2024-05-30",
            "count": 3
          },
          {
            "date": "2024-06-02",
            "count": 1
          },
          {
            "date": "2024-06-05",
            "count": 3
          },
          {
            "date": "2024-06-06",
            "count": 2
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-09",
            "count": 2
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 1
          },
          {
            "date": "2024-06-15",
            "count": 3
          },
          {
            "date": "2024-06-16",
            "count": 2
          },
          {
            "date": "2024-06-17",
            "count": 1
          },
          {
            "date": "2024-06-18",
            "count": 1
          },
          {
            "date": "2024-06-19",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 2
          },
          {
            "date": "2024-06-23",
            "count": 2
          },
          {
            "date": "2024-06-25",
            "count": 3
          },
          {
            "date": "2024-06-26",
            "count": 2
          },
          {
            "date": "2024-06-27",
            "count": 3
          },
          {
            "date": "2024-06-28",
            "count": 2
          },
          {
            "date": "2024-06-30",
            "count": 1
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-04",
            "count": 1
          },
          {
            "date": "2024-07-05",
            "count": 1
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-07-08",
            "count": 2
          },
          {
            "date": "2024-07-09",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 2
          },
          {
            "date": "2024-07-12",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-14",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 2
          },
          {
            "date": "2024-07-16",
            "count": 2
          },
          {
            "date": "2024-07-17",
            "count": 5
          },
          {
            "date": "2024-07-18",
            "count": 2
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-20",
            "count": 1
          },
          {
            "date": "2024-07-21",
            "count": 2
          },
          {
            "date": "2024-07-22",
            "count": 1
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-07-24",
            "count": 3
          },
          {
            "date": "2024-07-25",
            "count": 4
          },
          {
            "date": "2024-07-26",
            "count": 1
          },
          {
            "date": "2024-07-27",
            "count": 1
          },
          {
            "date": "2024-07-28",
            "count": 1
          },
          {
            "date": "2024-07-29",
            "count": 4
          },
          {
            "date": "2024-07-30",
            "count": 2
          },
          {
            "date": "2024-07-31",
            "count": 2
          },
          {
            "date": "2024-08-01",
            "count": 2
          },
          {
            "date": "2024-08-04",
            "count": 2
          },
          {
            "date": "2024-08-05",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 2
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-09",
            "count": 2
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 2
          },
          {
            "date": "2024-08-13",
            "count": 2
          },
          {
            "date": "2024-08-14",
            "count": 1
          },
          {
            "date": "2024-08-15",
            "count": 3
          },
          {
            "date": "2024-08-20",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 2
          },
          {
            "date": "2024-08-22",
            "count": 5
          },
          {
            "date": "2024-08-24",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 3
          },
          {
            "date": "2024-08-27",
            "count": 3
          },
          {
            "date": "2024-08-28",
            "count": 2
          },
          {
            "date": "2024-08-29",
            "count": 2
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-08-31",
            "count": 1
          },
          {
            "date": "2024-09-01",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-06",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 4
          },
          {
            "date": "2024-09-10",
            "count": 4
          },
          {
            "date": "2024-09-11",
            "count": 4
          },
          {
            "date": "2024-09-14",
            "count": 1
          },
          {
            "date": "2024-09-15",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 2
          },
          {
            "date": "2024-09-18",
            "count": 2
          },
          {
            "date": "2024-09-19",
            "count": 2
          },
          {
            "date": "2024-09-20",
            "count": 3
          },
          {
            "date": "2024-09-21",
            "count": 3
          },
          {
            "date": "2024-09-22",
            "count": 2
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-09-24",
            "count": 2
          },
          {
            "date": "2024-09-25",
            "count": 2
          },
          {
            "date": "2024-09-27",
            "count": 1
          },
          {
            "date": "2024-09-29",
            "count": 2
          },
          {
            "date": "2024-09-30",
            "count": 2
          },
          {
            "date": "2024-10-03",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 2
          },
          {
            "date": "2024-10-06",
            "count": 1
          },
          {
            "date": "2024-10-07",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-09",
            "count": 4
          },
          {
            "date": "2024-10-12",
            "count": 3
          },
          {
            "date": "2024-10-13",
            "count": 2
          },
          {
            "date": "2024-10-14",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 4
          },
          {
            "date": "2024-10-18",
            "count": 2
          },
          {
            "date": "2024-10-21",
            "count": 2
          },
          {
            "date": "2024-10-22",
            "count": 4
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 2
          },
          {
            "date": "2024-10-25",
            "count": 3
          },
          {
            "date": "2024-10-27",
            "count": 3
          },
          {
            "date": "2024-10-28",
            "count": 4
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 2
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-11-06",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 2
          },
          {
            "date": "2024-11-08",
            "count": 2
          },
          {
            "date": "2024-11-09",
            "count": 2
          },
          {
            "date": "2024-11-11",
            "count": 2
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 2
          },
          {
            "date": "2024-11-14",
            "count": 2
          },
          {
            "date": "2024-11-15",
            "count": 2
          },
          {
            "date": "2024-11-16",
            "count": 1
          },
          {
            "date": "2024-11-17",
            "count": 2
          },
          {
            "date": "2024-11-18",
            "count": 2
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 2
          },
          {
            "date": "2024-11-22",
            "count": 1
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 1
          },
          {
            "date": "2024-11-26",
            "count": 2
          },
          {
            "date": "2024-11-27",
            "count": 3
          },
          {
            "date": "2024-11-30",
            "count": 1
          },
          {
            "date": "2024-12-01",
            "count": 2
          },
          {
            "date": "2024-12-03",
            "count": 3
          },
          {
            "date": "2024-12-04",
            "count": 3
          },
          {
            "date": "2024-12-05",
            "count": 4
          },
          {
            "date": "2024-12-06",
            "count": 2
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 2
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 2
          },
          {
            "date": "2024-12-12",
            "count": 3
          },
          {
            "date": "2024-12-13",
            "count": 2
          },
          {
            "date": "2024-12-14",
            "count": 1
          },
          {
            "date": "2024-12-15",
            "count": 2
          },
          {
            "date": "2024-12-16",
            "count": 2
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 2
          },
          {
            "date": "2024-12-19",
            "count": 1
          },
          {
            "date": "2024-12-22",
            "count": 1
          },
          {
            "date": "2024-12-24",
            "count": 1
          },
          {
            "date": "2024-12-25",
            "count": 2
          },
          {
            "date": "2024-12-26",
            "count": 2
          },
          {
            "date": "2024-12-29",
            "count": 2
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2024-12-31",
            "count": 1
          },
          {
            "date": "2025-01-01",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-04",
            "count": 2
          },
          {
            "date": "2025-01-05",
            "count": 2
          },
          {
            "date": "2025-01-06",
            "count": 2
          },
          {
            "date": "2025-01-07",
            "count": 7
          },
          {
            "date": "2025-01-08",
            "count": 6
          },
          {
            "date": "2025-01-09",
            "count": 46
          },
          {
            "date": "2025-01-10",
            "count": 64
          },
          {
            "date": "2025-01-11",
            "count": 19
          },
          {
            "date": "2025-01-12",
            "count": 3
          },
          {
            "date": "2025-01-13",
            "count": 2
          },
          {
            "date": "2025-01-14",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 4
          },
          {
            "date": "2025-01-16",
            "count": 2
          },
          {
            "date": "2025-01-17",
            "count": 1
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 2
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 1
          },
          {
            "date": "2025-01-22",
            "count": 1
          },
          {
            "date": "2025-01-23",
            "count": 2
          },
          {
            "date": "2025-01-24",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-28",
            "count": 2
          },
          {
            "date": "2025-01-29",
            "count": 1
          },
          {
            "date": "2025-01-30",
            "count": 1
          },
          {
            "date": "2025-01-31",
            "count": 2
          },
          {
            "date": "2025-02-02",
            "count": 1
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-12",
            "count": 1
          },
          {
            "date": "2025-02-15",
            "count": 1
          },
          {
            "date": "2025-02-16",
            "count": 1
          },
          {
            "date": "2025-02-17",
            "count": 2
          },
          {
            "date": "2025-02-18",
            "count": 3
          },
          {
            "date": "2025-02-24",
            "count": 3
          },
          {
            "date": "2025-02-25",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-02-27",
            "count": 4
          },
          {
            "date": "2025-03-01",
            "count": 1
          },
          {
            "date": "2025-03-02",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 3
          },
          {
            "date": "2025-03-05",
            "count": 3
          },
          {
            "date": "2025-03-06",
            "count": 3
          },
          {
            "date": "2025-03-07",
            "count": 1
          },
          {
            "date": "2025-03-09",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-14",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 2
          },
          {
            "date": "2025-03-17",
            "count": 1
          },
          {
            "date": "2025-03-19",
            "count": 1
          },
          {
            "date": "2025-03-22",
            "count": 1
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 2
          },
          {
            "date": "2025-04-04",
            "count": 1
          },
          {
            "date": "2025-04-07",
            "count": 2
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 2
          },
          {
            "date": "2025-04-16",
            "count": 2
          },
          {
            "date": "2025-04-17",
            "count": 3
          },
          {
            "date": "2025-04-18",
            "count": 3
          },
          {
            "date": "2025-04-24",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-29",
            "count": 1
          },
          {
            "date": "2025-04-30",
            "count": 2
          },
          {
            "date": "2025-05-01",
            "count": 2
          },
          {
            "date": "2025-05-02",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 2
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-08",
            "count": 1
          },
          {
            "date": "2025-05-12",
            "count": 2
          },
          {
            "date": "2025-05-13",
            "count": 2
          },
          {
            "date": "2025-05-15",
            "count": 2
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 2
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-22",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 1
          },
          {
            "date": "2025-05-25",
            "count": 2
          },
          {
            "date": "2025-05-26",
            "count": 1
          },
          {
            "date": "2025-05-27",
            "count": 1
          },
          {
            "date": "2025-05-28",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 2
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-05-31",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 1
          },
          {
            "date": "2025-06-03",
            "count": 3
          },
          {
            "date": "2025-06-04",
            "count": 1
          },
          {
            "date": "2025-06-05",
            "count": 3
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-06-10",
            "count": 2
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-13",
            "count": 1
          },
          {
            "date": "2025-06-14",
            "count": 2
          },
          {
            "date": "2025-06-15",
            "count": 2
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 2
          },
          {
            "date": "2025-06-18",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 2
          },
          {
            "date": "2025-06-20",
            "count": 2
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-22",
            "count": 4
          },
          {
            "date": "2025-06-23",
            "count": 1
          },
          {
            "date": "2025-06-24",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 3
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-06-29",
            "count": 1
          },
          {
            "date": "2025-06-30",
            "count": 3
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 2
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-07-05",
            "count": 2
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-09",
            "count": 4
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 2
          },
          {
            "date": "2025-07-17",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 2
          },
          {
            "date": "2025-07-22",
            "count": 2
          },
          {
            "date": "2025-07-23",
            "count": 2
          },
          {
            "date": "2025-07-24",
            "count": 2
          },
          {
            "date": "2025-07-25",
            "count": 2
          },
          {
            "date": "2025-07-27",
            "count": 2
          },
          {
            "date": "2025-07-28",
            "count": 3
          },
          {
            "date": "2025-07-30",
            "count": 3
          },
          {
            "date": "2025-07-31",
            "count": 1
          },
          {
            "date": "2025-08-03",
            "count": 1
          },
          {
            "date": "2025-08-04",
            "count": 2
          },
          {
            "date": "2025-08-05",
            "count": 2
          },
          {
            "date": "2025-08-06",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-10",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 3
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-13",
            "count": 1
          },
          {
            "date": "2025-08-15",
            "count": 3
          },
          {
            "date": "2025-08-18",
            "count": 2
          },
          {
            "date": "2025-08-19",
            "count": 2
          },
          {
            "date": "2025-08-22",
            "count": 2
          },
          {
            "date": "2025-08-24",
            "count": 2
          },
          {
            "date": "2025-08-25",
            "count": 2
          },
          {
            "date": "2025-08-27",
            "count": 1
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 2
          },
          {
            "date": "2025-09-03",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 2
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-10",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-09-12",
            "count": 2
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-14",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 2
          },
          {
            "date": "2025-09-18",
            "count": 1
          },
          {
            "date": "2025-09-19",
            "count": 3
          },
          {
            "date": "2025-09-21",
            "count": 1
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 4
          },
          {
            "date": "2025-09-30",
            "count": 2
          },
          {
            "date": "2025-10-04",
            "count": 1
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-12",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-10-18",
            "count": 2
          },
          {
            "date": "2025-10-19",
            "count": 1
          },
          {
            "date": "2025-10-21",
            "count": 3
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 1
          },
          {
            "date": "2025-11-04",
            "count": 3
          },
          {
            "date": "2025-11-05",
            "count": 3
          },
          {
            "date": "2025-11-06",
            "count": 3
          },
          {
            "date": "2025-11-08",
            "count": 5
          },
          {
            "date": "2025-11-09",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-16",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 1
          },
          {
            "date": "2025-11-18",
            "count": 2
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 4
          },
          {
            "date": "2025-11-25",
            "count": 2
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-03",
            "count": 2
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-05",
            "count": 3
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-08",
            "count": 2
          },
          {
            "date": "2025-12-10",
            "count": 2
          },
          {
            "date": "2025-12-12",
            "count": 3
          },
          {
            "date": "2025-12-14",
            "count": 1
          },
          {
            "date": "2025-12-15",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-19",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 2
          },
          {
            "date": "2025-12-29",
            "count": 2
          },
          {
            "date": "2025-12-30",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 2
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 2
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-11",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 3
          },
          {
            "date": "2026-01-16",
            "count": 2
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 3
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-23",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 1
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 2
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 2
          },
          {
            "date": "2026-02-09",
            "count": 2
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 2
          },
          {
            "date": "2026-02-17",
            "count": 2
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 2
          },
          {
            "date": "2026-02-24",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 2
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-04",
            "count": 2
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-10",
            "count": 2
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-17",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-22",
            "count": 1
          },
          {
            "date": "2026-03-24",
            "count": 4
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 2
          },
          {
            "date": "2026-04-13",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 2
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-17",
            "count": 2
          },
          {
            "date": "2026-04-19",
            "count": 1
          },
          {
            "date": "2026-04-21",
            "count": 2
          },
          {
            "date": "2026-04-22",
            "count": 2
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-05-01",
            "count": 2
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 2
          },
          {
            "date": "2026-05-10",
            "count": 2
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 3
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-05-27",
            "count": 2
          },
          {
            "date": "2026-05-28",
            "count": 3
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 1
          },
          {
            "date": "2026-06-03",
            "count": 2
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 3
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 2
          },
          {
            "date": "2026-07-14",
            "count": 2
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 2
          },
          {
            "date": "2026-07-19",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-22",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 10941
      },
      "open_issues_and_prs": 12
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "contrib/async-test/Makefile",
        "contrib/transport-sample/Makefile",
        "contrib/zeromq/Makefile",
        "lib/nodejs/examples/Makefile",
        "lib/ocaml/src/Makefile",
        "lib/ocaml/test/Makefile",
        "test/ocaml/Makefile",
        "test/ocaml/client/Makefile",
        "test/ocaml/server/Makefile",
        "test/threads/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "lib/nodets/test/tsconfig.json",
        "lib/ts/tsconfig.json"
      ],
      "toolchain_manifests": [
        "contrib/Rebus/RebusSample.csproj",
        "contrib/thrift-maven-plugin/pom.xml",
        "contrib/zeromq/csharp/ThriftZMQ.csproj",
        "go.mod",
        "lib/go/test/fuzz/go.mod",
        "lib/go/test/go.mod",
        "lib/java/android/build.gradle",
        "lib/java/build.gradle",
        "lib/kotlin/build.gradle.kts",
        "lib/kotlin/cross-test-client/build.gradle.kts",
        "lib/kotlin/cross-test-server/build.gradle.kts",
        "lib/netstd/Benchmarks/Thrift.Benchmarks/Thrift.Benchmarks.csproj",
        "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net10/Thrift.Compile.net10.csproj",
        "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net8/Thrift.Compile.net8.csproj",
        "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net9/Thrift.Compile.net9.csproj",
        "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.netstd2/Thrift.Compile.netstd2.csproj",
        "lib/netstd/Tests/Thrift.FuzzTests/Thrift.FuzzTests.csproj",
        "lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj",
        "lib/netstd/Tests/Thrift.Tests/Thrift.Tests.csproj",
        "lib/netstd/Thrift.AspNetCore/Thrift.AspNetCore.csproj",
        "lib/netstd/Thrift/Thrift.csproj",
        "lib/rs/Cargo.toml",
        "lib/rs/test/Cargo.toml",
        "lib/rs/test/fuzz/Cargo.toml",
        "lib/rs/test_recursive/Cargo.toml",
        "test/go/go.mod",
        "test/netstd/Client/Client.csproj",
        "test/netstd/Server/Server.csproj",
        "test/rs/Cargo.toml",
        "tutorial/netstd/Client/Client.csproj",
        "tutorial/netstd/Interfaces/Interfaces.csproj",
        "tutorial/netstd/Server/Server.csproj",
        "tutorial/rs/Cargo.toml"
      ],
      "largest_source_bytes": 418812,
      "source_files_sampled": 1626,
      "oversized_source_files": 17,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 6782
    },
    "dependencies": {
      "manifests": [
        "composer.json",
        "go.mod",
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.7.3",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-395f-4hp3-45gv",
              "GHSA-w7jw-789q-3m8p"
            ],
            "fixed_version": "1.9.0",
            "advisory_count": 2,
            "oldest_advisory_days": 42
          },
          {
            "name": "uuid",
            "direct": true,
            "version": "3.4.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 90
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v",
              "GHSA-v6h2-p8h4-qcjw"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 3,
            "oldest_advisory_days": 407
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3xgq-45jj-v275"
            ],
            "fixed_version": "7.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 620
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.6.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.3,
            "advisory_ids": [
              "GHSA-848j-6mx2-7j84"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 194
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m",
              "GHSA-h67p-54hq-rp68"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 2,
            "oldest_advisory_days": 36
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m",
              "GHSA-h67p-54hq-rp68"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 2,
            "oldest_advisory_days": 36
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "3.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-22p9-wv53-3rq4",
              "GHSA-v245-v573-v5vm"
            ],
            "fixed_version": "5.0.2",
            "advisory_count": 2,
            "oldest_advisory_days": 25
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.23",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-f23m-r3pf-42rh",
              "GHSA-r5fr-rjxr-66jc"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 111
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.8",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 153
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 153
          },
          {
            "name": "puma",
            "direct": false,
            "version": "6.6.1",
            "severity": "high",
            "ecosystem": "rubygems",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2vqw-3mp8-cgmx",
              "GHSA-qpgp-93vx-g8v8"
            ],
            "fixed_version": "8.0.2",
            "advisory_count": 2,
            "oldest_advisory_days": 43
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.6",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-qpx9-hpmf-5gmw"
            ],
            "fixed_version": "1.13.8",
            "advisory_count": 1,
            "oldest_advisory_days": 140
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.11.8",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-378v-28hj-76wf"
            ],
            "fixed_version": "5.2.3",
            "advisory_count": 1,
            "oldest_advisory_days": 151
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.12.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-378v-28hj-76wf"
            ],
            "fixed_version": "5.2.3",
            "advisory_count": 1,
            "oldest_advisory_days": 151
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.1",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-378v-28hj-76wf"
            ],
            "fixed_version": "5.2.3",
            "advisory_count": 1,
            "oldest_advisory_days": 151
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "12.3.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-6v5v-wf23-fmfq"
            ],
            "fixed_version": "14.2.0",
            "advisory_count": 1,
            "oldest_advisory_days": 36
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.4",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-952p-6rrq-rcjv"
            ],
            "fixed_version": "4.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 798
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.8.4",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.2,
            "advisory_ids": [
              "GHSA-4x5r-pxfx-6jf8"
            ],
            "fixed_version": "8.0.0-rc.6",
            "advisory_count": 1,
            "oldest_advisory_days": 36
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.0.0-20220412211240-33da011f77ad",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 60
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 14,
          "unknown": 1,
          "critical": 1,
          "moderate": 5
        },
        "advisory_count": 34,
        "affected_count": 22,
        "assessed_count": 803,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 40,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "go",
        "npm",
        "packagist"
      ],
      "dependencies": [
        {
          "name": "psr/log",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0 || ^2.0 || ^3.0"
        },
        {
          "name": "psr/http-client",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0"
        },
        {
          "name": "psr/http-factory",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0"
        },
        {
          "name": "psr/http-message",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0 || ^2.0"
        },
        {
          "name": "browser-or-node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.2.1"
        },
        {
          "name": "isomorphic-ws",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.1"
        },
        {
          "name": "node-int64",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.4.0"
        },
        {
          "name": "uuid",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.0.0"
        },
        {
          "name": "ws",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.21.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "browser-or-node",
            "direct": true,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "isomorphic-ws",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-int64",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": true,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": true,
            "version": "3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": true,
            "version": "6.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": true,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "psr/http-client",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/http-factory",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/http-message",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/log",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "arbitrary",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "byteorder",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "env_logger",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "integer-encoding",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "libfuzzer-sys",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ordered-float",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustls-pemfile",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "threadpool",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "github.com/golang/mock",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/mod",
            "direct": false,
            "version": "v0.4.2",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "v0.0.0-20220412211240-33da011f77ad",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/tools",
            "direct": false,
            "version": "v0.1.1",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/xerrors",
            "direct": false,
            "version": "v0.0.0-20200804184101-5ec99f83aff1",
            "ecosystem": "go"
          },
          {
            "name": "com.google.guava:guava",
            "direct": false,
            "version": "32.0.1-jre",
            "ecosystem": "maven"
          },
          {
            "name": "junit:junit",
            "direct": false,
            "version": "4.13.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-antrun-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven:maven-core",
            "direct": false,
            "version": "3.9.8",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven:maven-plugin-api",
            "direct": false,
            "version": "3.9.8",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.plexus:plexus-utils",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-all",
            "direct": false,
            "version": "1.10.19",
            "ecosystem": "maven"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-environment-visitor",
            "direct": false,
            "version": "7.22.20",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-function-name",
            "direct": false,
            "version": "7.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-hoist-variables",
            "direct": false,
            "version": "7.22.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-split-export-declaration",
            "direct": false,
            "version": "7.22.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.23.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.6",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/load-nyc-config",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.15",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.20",
            "ecosystem": "npm"
          },
          {
            "name": "@jsdoc/salty",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "npm"
          },
          {
            "name": "@jsdoc/salty",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/color-name",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "12.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node-int64",
            "direct": false,
            "version": "0.4.29",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node-int64",
            "direct": false,
            "version": "0.4.32",
            "ecosystem": "npm"
          },
          {
            "name": "@types/qunit",
            "direct": false,
            "version": "2.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "6.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-dynamic-import",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-node",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-node",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "align-text",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "append-transform",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "archy",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-each",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-find-index",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-slice",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "asn1.js",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "assert",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "assert",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "0.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "async-limiter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "bluebird",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.11.8",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "brorand",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-pack",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-resolve",
            "direct": false,
            "version": "1.11.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserify",
            "direct": false,
            "version": "16.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserify",
            "direct": false,
            "version": "16.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-aes",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-cipher",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-des",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-rsa",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-sign",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-zlib",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-zlib",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-equals",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-shims",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-xor",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bufferutil",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-modules",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-status-codes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cached-path-relative",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caching-transform",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase-keys",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "catharsis",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "center-align",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cipher-base",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "colors",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "combine-source-map",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "13.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-stream",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "connect",
            "direct": false,
            "version": "3.6.6",
            "ecosystem": "npm"
          },
          {
            "name": "console-browserify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "constants-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "create-ecdh",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "create-hash",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "create-hash",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-hmac",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-browserify",
            "direct": false,
            "version": "3.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "currently-unhandled",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "dash-ast",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "date-now",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "dateformat",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "dateformat",
            "direct": false,
            "version": "4.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-equal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "default-require-extensions",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "defined",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deps-sort",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deps-sort",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "des.js",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "des.js",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "detect-file",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detective",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detective",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "diffie-hellman",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serializer",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "domain-browser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "domelementtype",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "domelementtype",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "domhandler",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "domutils",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-to-primitive",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "es6-error",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es6-promise",
            "direct": false,
            "version": "4.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "es6-promisify",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.39.4",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter2",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter2",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "evp_bytestokey",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "exit",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "exit-x",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "expand-tilde",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extract-zip",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-safe-stringify",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-cache-dir",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "findup-sync",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "findup-sync",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "findup-sync",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fined",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flagged-respawn",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "for-in",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "for-own",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fromentries",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-assigned-identifiers",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-package-type",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stdin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "getobject",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "5.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "global-modules",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "global-prefix",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "11.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "15.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "grunt",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "grunt",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-cli",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-contrib-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-contrib-jshint",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-contrib-qunit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-contrib-uglify",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-contrib-uglify",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-jsdoc",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-known-options",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-legacy-log",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-legacy-log",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-legacy-log-utils",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-legacy-log-utils",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-legacy-util",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-legacy-util",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-shell-spawn",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "grunt-shell-spawn",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "gzip-size",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "gzip-size",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-ansi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hash.js",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "hasha",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hmac-drbg",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "homedir-polyfill",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "hooker",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.8.9",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "htmlescape",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "htmlparser2",
            "direct": false,
            "version": "3.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "https-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "2.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "inline-source-map",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "insert-module-globals",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-absolute",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-builtin-module",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-date-object",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-finite",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-object",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-relative",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-symbol",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "is-typedarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unc-path",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-utf8",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-windows",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isobject",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-hook",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-instrument",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-processinfo",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "js2xmlparser",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "jsdoc",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "jsdoc",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "jshint",
            "direct": false,
            "version": "2.13.5",
            "ecosystem": "npm"
          },
          {
            "name": "jslint",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "jslint",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-int64",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-int64",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonify",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "JSONStream",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "klaw",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "labeled-stream-splicer",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "labeled-stream-splicer",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lazy-cache",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "liftup",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.23",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.flattendeep",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.memoize",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "longest",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "loud-rejection",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-iterator",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "map-cache",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "map-obj",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "12.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-anchor",
            "direct": false,
            "version": "8.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-anchor",
            "direct": false,
            "version": "8.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "maxmin",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "maxmin",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "md5.js",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "miller-rabin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-assert",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-crypto-utils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "0.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "module-deps",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "module-deps",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-preload",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "number-is-nan",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nyc",
            "direct": false,
            "version": "15.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "object.defaults",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "object.map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.pick",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "os-browserify",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "os-homedir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "os-tmpdir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "osenv",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "p-each-series",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-reduce",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-hash",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parents",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-asn1",
            "direct": false,
            "version": "5.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "parse-filepath",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-passwd",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-platform",
            "direct": false,
            "version": "0.11.15",
            "ecosystem": "npm"
          },
          {
            "name": "path-root",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-root-regex",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pbkdf2",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "pinkie",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pinkie-promise",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "possible-typed-array-names",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-bytes",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-bytes",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "process-on-spawn",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "public-encrypt",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "puppeteer",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "querystring",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "querystring-es3",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "randomfill",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "read-only-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg-up",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "1.1.14",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "redent",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "release-zalgo",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "repeat-string",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "repeating",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-main-filename",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "requizzle",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-dir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resumer",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "right-align",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ripemd160",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ripemd160",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "set-blocking",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "sha.js",
            "direct": false,
            "version": "2.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "shasum",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "shasum-object",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "spawn-wrap",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-browserify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-browserify",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-http",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "stream-http",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-splicer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-splicer",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trim",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "0.10.31",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "subarg",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "syntax-error",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tape",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "thrift",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "timers-browserify",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-arraybuffer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "to-buffer",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trim-newlines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tty-browserify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-buffer",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typedarray",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "typedarray-to-buffer",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "2.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-to-browserify",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "umd",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unc-path-regex",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "undeclared-identifiers",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "undeclared-identifiers",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.6",
            "ecosystem": "npm"
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.8",
            "ecosystem": "npm"
          },
          {
            "name": "underscore.string",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "uri-path",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "url",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "utf-8-validate",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "utils-merge",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8flags",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "vm-browserify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vm-browserify",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-module",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.19",
            "ecosystem": "npm"
          },
          {
            "name": "window-size",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "xmlcreate",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "15.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "18.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "BenchmarkDotNet",
            "direct": false,
            "version": "0.15.8",
            "ecosystem": "nuget"
          },
          {
            "name": "CompareNETObjects",
            "direct": false,
            "version": "4.84.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.AspNetCore.Components.Web",
            "direct": false,
            "version": "7.0.9",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.AspNetCore.Http.Abstractions",
            "direct": false,
            "version": "2.3.11",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.DependencyInjection",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Abstractions",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Console",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Debug",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.NET.Test.Sdk",
            "direct": false,
            "version": "18.8.1",
            "ecosystem": "nuget"
          },
          {
            "name": "MSTest.TestAdapter",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "nuget"
          },
          {
            "name": "MSTest.TestFramework",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "nuget"
          },
          {
            "name": "NSubstitute",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "SharpFuzz",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "nuget"
          },
          {
            "name": "System.IO.Pipes.AccessControl",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "System.Net.Http.WinHttpHandler",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "System.Security.Cryptography.Xml",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "nuget"
          },
          {
            "name": "System.ServiceModel.Primitives",
            "direct": false,
            "version": "10.0.652802",
            "ecosystem": "nuget"
          },
          {
            "name": "System.ServiceModel.Primitives",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "nuget"
          },
          {
            "name": "ext-curl",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-json",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-pcntl",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-xml",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "guzzlehttp/guzzle",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "nyholm/psr7",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php-http/discovery",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php-mock/php-mock-phpunit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpstan/phpstan",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpunit/phpunit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "squizlabs/php_codesniffer",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ast",
            "direct": false,
            "version": "2.4.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "async",
            "direct": false,
            "version": "2.42.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "async-container",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "async-http",
            "direct": false,
            "version": "0.95.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "async-http-cache",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "async-pool",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "async-service",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "async-utilization",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "bake",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "bigdecimal",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "bundler",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "cgi",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "cgi",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "console",
            "direct": false,
            "version": "1.36.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "daemons",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "diff-lcs",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "eventmachine",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "rubygems"
          },
          {
            "name": "falcon",
            "direct": false,
            "version": "0.55.5",
            "ecosystem": "rubygems"
          },
          {
            "name": "fiber-annotation",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "fiber-local",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "fiber-storage",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "io-endpoint",
            "direct": false,
            "version": "0.17.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "io-event",
            "direct": false,
            "version": "1.19.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "io-stream",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "json",
            "direct": false,
            "version": "2.19.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "language_server-protocol",
            "direct": false,
            "version": "3.17.0.5",
            "ecosystem": "rubygems"
          },
          {
            "name": "lint_roller",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "localhost",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "logger",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "logger",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "metrics",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "nio4r",
            "direct": false,
            "version": "2.7.5",
            "ecosystem": "rubygems"
          },
          {
            "name": "openssl",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "ostruct",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "parallel",
            "direct": false,
            "version": "1.27.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "parser",
            "direct": false,
            "version": "3.3.10.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "power_assert",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "prism",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "protocol-hpack",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "protocol-http",
            "direct": false,
            "version": "0.62.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "protocol-http1",
            "direct": false,
            "version": "0.39.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "protocol-http2",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "protocol-rack",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "protocol-url",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "puma",
            "direct": false,
            "version": "6.6.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "racc",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "rack",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rack",
            "direct": false,
            "version": "2.2.23",
            "ecosystem": "rubygems"
          },
          {
            "name": "rack-test",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rack-test",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "rainbow",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": "13.3.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "regexp_parser",
            "direct": false,
            "version": "2.11.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec",
            "direct": false,
            "version": "3.13.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec-core",
            "direct": false,
            "version": "3.13.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec-expectations",
            "direct": false,
            "version": "3.13.5",
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec-mocks",
            "direct": false,
            "version": "3.13.7",
            "ecosystem": "rubygems"
          },
          {
            "name": "rspec-support",
            "direct": false,
            "version": "3.13.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop",
            "direct": false,
            "version": "1.82.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-ast",
            "direct": false,
            "version": "1.49.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-performance",
            "direct": false,
            "version": "1.26.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-rspec",
            "direct": false,
            "version": "3.8.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "ruby-progressbar",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "samovar",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "string-format",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "test-unit",
            "direct": false,
            "version": "3.7.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "thin",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "traces",
            "direct": false,
            "version": "0.18.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "unicode-display_width",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "unicode-emoji",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "rubygems"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 843,
        "direct_count": 11,
        "indirect_count": 832
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 12,
        "merged_prs": 1375,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 2265
      },
      "bus_factor": 3,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "Jens-G",
          "commits": 1269,
          "avatar_url": "https://avatars.githubusercontent.com/u/5834733?v=4"
        },
        {
          "type": "User",
          "login": "bufferoverflow",
          "commits": 720,
          "avatar_url": "https://avatars.githubusercontent.com/u/378909?v=4"
        },
        {
          "type": "User",
          "login": "jfarrell",
          "commits": 354,
          "avatar_url": "https://avatars.githubusercontent.com/u/770483?v=4"
        },
        {
          "type": "User",
          "login": "jeking3",
          "commits": 293,
          "avatar_url": "https://avatars.githubusercontent.com/u/11771245?v=4"
        },
        {
          "type": "User",
          "login": "nsuke",
          "commits": 243,
          "avatar_url": "https://avatars.githubusercontent.com/u/3064114?v=4"
        },
        {
          "type": "User",
          "login": "emmenlau",
          "commits": 112,
          "avatar_url": "https://avatars.githubusercontent.com/u/1098087?v=4"
        },
        {
          "type": "User",
          "login": "kpumuk",
          "commits": 104,
          "avatar_url": "https://avatars.githubusercontent.com/u/10163?v=4"
        },
        {
          "type": "User",
          "login": "henrique",
          "commits": 84,
          "avatar_url": "https://avatars.githubusercontent.com/u/128897?v=4"
        },
        {
          "type": "User",
          "login": "jimexist",
          "commits": 70,
          "avatar_url": "https://avatars.githubusercontent.com/u/622789?v=4"
        },
        {
          "type": "User",
          "login": "hcorg",
          "commits": 62,
          "avatar_url": "https://avatars.githubusercontent.com/u/8628672?v=4"
        }
      ],
      "contributors_sampled": 98,
      "top_contributor_share": 0.301
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "asf-allowlist-check.yml",
        "build.yml",
        "cmake.yml",
        "docker.yml",
        "generate-changes.yml",
        "make-dist.yml",
        "msvc.yml",
        "pypi.yml",
        "release_ruby.yml",
        "release_rust.yml",
        "sca.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".flake8",
        ".rubocop.yml",
        "eslint.config.mjs",
        "phpstan.neon"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Gemfile.lock",
        "go.sum",
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 3,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 1,
            "reason": "Found 3/26 approved changesets -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 33 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 4,
            "reason": "dependency not pinned by hash detected -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 8,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "25 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "a8c6db2da2857721149df55945b69c2e2a950d16",
        "ran_at": "2026-07-22T00:32:02Z",
        "aggregate_score": 7.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T00:30:39Z",
      "oldest_open_prs": [
        {
          "number": 3275,
          "created_at": "2025-12-21T23:34:54Z",
          "last_comment_at": "2025-12-22T13:46:35Z",
          "last_comment_author": "kpumuk"
        },
        {
          "number": 3347,
          "created_at": "2026-03-17T23:36:24Z",
          "last_comment_at": "2026-04-07T20:19:43Z",
          "last_comment_author": "Jens-G"
        },
        {
          "number": 3444,
          "created_at": "2026-05-03T18:06:28Z",
          "last_comment_at": "2026-06-14T21:33:30Z",
          "last_comment_author": "kpumuk"
        },
        {
          "number": 3594,
          "created_at": "2026-06-13T07:06:26Z",
          "last_comment_at": "2026-07-11T16:51:26Z",
          "last_comment_author": "Jens-G"
        },
        {
          "number": 3596,
          "created_at": "2026-06-13T07:28:21Z",
          "last_comment_at": "2026-07-11T15:42:24Z",
          "last_comment_author": "Jens-G"
        },
        {
          "number": 3635,
          "created_at": "2026-07-13T23:06:25Z",
          "last_comment_at": "2026-07-13T23:33:56Z",
          "last_comment_author": "kpumuk"
        },
        {
          "number": 3648,
          "created_at": "2026-07-20T15:47:19Z",
          "last_comment_at": "2026-07-20T22:58:51Z",
          "last_comment_author": "Jens-G"
        },
        {
          "number": 3659,
          "created_at": "2026-07-21T21:13:46Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3660,
          "created_at": "2026-07-21T21:47:37Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3662,
          "created_at": "2026-07-21T22:17:39Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3663,
          "created_at": "2026-07-21T23:02:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3664,
          "created_at": "2026-07-21T23:39:41Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-22T00:13:34Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/apache/thrift",
    "host": "github.com",
    "name": "thrift",
    "owner": "apache"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 82,
      "inputs": {
        "security": 71,
        "vitality": 91,
        "community": 95,
        "governance": 70,
        "engineering": 84
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 91,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "commits_last_year": 566,
              "human_commit_share": 0.86,
              "days_since_last_push": 0,
              "active_weeks_last_year": 47
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "47/52 weeks with commits",
                "points": 32.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 47
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "566 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 566
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 84,
            "inputs": {
              "releases_count": 18,
              "latest_release_tag": "v0.24.0",
              "releases_from_tags": false,
              "days_since_latest_release": 10,
              "mean_days_between_releases": 178.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "18 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 10 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~178.5 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 178.5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 95,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "forks": 4113,
              "stars": 10941,
              "watchers": 445,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "10,941 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 10941
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "4,113 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 4113
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "445 watchers",
                "points": 14.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 445
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "packages": [
                "github.com/apache/thrift",
                "thrift",
                "apache/thrift"
              ],
              "dependents": 54,
              "ecosystems": "go, npm, packagist",
              "total_downloads": 2115718,
              "monthly_downloads": 5555808
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "5,555,808 downloads/month across go, npm, packagist",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 5555808,
                      "ecosystems": "go, npm, packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "54 packages depend on it",
                "points": 11.6,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 54
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 70,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "bus_factor": 3,
              "contributors_sampled": 98,
              "top_contributor_share": 0.301
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "3 contributor(s) cover half of all commits",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 30% of commits",
                "points": 15.7,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 30
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "98 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 98
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 33 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "at_risk",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "merged_prs": 1375,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 2265
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1375/3640 decided PRs merged",
                "points": 14.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1375,
                      "decided": 3640
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 3/26 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 23513,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "apache",
              "public_repos": 3146,
              "account_age_days": 6394
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "23,513 followers of apache",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 23513,
                      "login": "apache"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "3146 public repos, account ~17 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 3146
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 17
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "github.com/apache/thrift",
                "thrift",
                "apache/thrift"
              ],
              "ecosystems": "go, npm, packagist",
              "any_deprecated": false,
              "min_days_since_publish": 10
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "3 package(s) on go, npm, packagist",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 3,
                      "ecosystems": "go, npm, packagist"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 10 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 10
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "29 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 84,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "11 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".flake8, .rubocop.yml, eslint.config.mjs, phpstan.neon",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".flake8, .rubocop.yml, eslint.config.mjs, phpstan.neon"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [
                "d",
                "thrift",
                "cplusplus",
                "dart",
                "actionscript",
                "http",
                "network-client",
                "network-server",
                "csharp",
                "library",
                "c"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "11 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 71,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 7.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 3/26 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 33 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 4",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "25 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 803 resolved dependencies against OSV; 40 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 803
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 40
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 64,
            "inputs": {
              "source": "osv",
              "advisories": 34,
              "affected_packages": 22,
              "assessed_packages": 803,
              "unassessed_packages": 40,
              "affected_by_severity": "critical 1, high 14, moderate 5, low 1, unknown 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: uuid 3.4.0 (high 7.5)",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "uuid 3.4.0 (high 7.5)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 90 days ago",
                "points": 33.7,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 803,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 14
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 82,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.593,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 6782
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "51 of 86 human commits state their intent (structured subject or explanatory body)",
                "points": 31.6,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 51,
                      "sampled": 86
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Gemfile.lock",
                "go.sum",
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "contrib/async-test/Makefile",
                "contrib/transport-sample/Makefile",
                "contrib/zeromq/Makefile",
                "lib/nodejs/examples/Makefile",
                "lib/ocaml/src/Makefile",
                "lib/ocaml/test/Makefile",
                "test/ocaml/Makefile",
                "test/ocaml/client/Makefile",
                "test/ocaml/server/Makefile",
                "test/threads/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "lib/nodets/test/tsconfig.json",
                "lib/ts/tsconfig.json"
              ],
              "agent_commit_share": 0.39,
              "toolchain_manifests": [
                "contrib/Rebus/RebusSample.csproj",
                "contrib/thrift-maven-plugin/pom.xml",
                "contrib/zeromq/csharp/ThriftZMQ.csproj",
                "go.mod",
                "lib/go/test/fuzz/go.mod",
                "lib/go/test/go.mod",
                "lib/java/android/build.gradle",
                "lib/java/build.gradle",
                "lib/kotlin/build.gradle.kts",
                "lib/kotlin/cross-test-client/build.gradle.kts",
                "lib/kotlin/cross-test-server/build.gradle.kts",
                "lib/netstd/Benchmarks/Thrift.Benchmarks/Thrift.Benchmarks.csproj",
                "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net10/Thrift.Compile.net10.csproj",
                "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net8/Thrift.Compile.net8.csproj",
                "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.net9/Thrift.Compile.net9.csproj",
                "lib/netstd/Tests/Thrift.Compile.Tests/Thrift.Compile.netstd2/Thrift.Compile.netstd2.csproj",
                "lib/netstd/Tests/Thrift.FuzzTests/Thrift.FuzzTests.csproj",
                "lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj",
                "lib/netstd/Tests/Thrift.Tests/Thrift.Tests.csproj",
                "lib/netstd/Thrift.AspNetCore/Thrift.AspNetCore.csproj",
                "lib/netstd/Thrift/Thrift.csproj",
                "lib/rs/Cargo.toml",
                "lib/rs/test/Cargo.toml",
                "lib/rs/test/fuzz/Cargo.toml",
                "lib/rs/test_recursive/Cargo.toml",
                "test/go/go.mod",
                "test/netstd/Client/Client.csproj",
                "test/netstd/Server/Server.csproj",
                "test/rs/Cargo.toml",
                "tutorial/netstd/Client/Client.csproj",
                "tutorial/netstd/Interfaces/Interfaces.csproj",
                "tutorial/netstd/Server/Server.csproj",
                "tutorial/rs/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0.14
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "contrib/async-test/Makefile, contrib/transport-sample/Makefile, contrib/zeromq/Makefile, lib/nodejs/examples/Makefile, lib/ocaml/src/Makefile, lib/ocaml/test/Makefile, test/ocaml/Makefile, test/ocaml/client/Makefile, test/ocaml/server/Makefile, test/threads/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "contrib/async-test/Makefile, contrib/transport-sample/Makefile, contrib/zeromq/Makefile, lib/nodejs/examples/Makefile, lib/ocaml/src/Makefile, lib/ocaml/test/Makefile, test/ocaml/Makefile, test/ocaml/client/Makefile, test/ocaml/server/Makefile, test/threads/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".flake8, .rubocop.yml, eslint.config.mjs, phpstan.neon",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".flake8, .rubocop.yml, eslint.config.mjs, phpstan.neon"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "lib/nodets/test/tsconfig.json, lib/ts/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lib/nodets/test/tsconfig.json, lib/ts/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "39 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 39,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "14 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 14,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 4",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "C++",
              "largest_source_bytes": 418812,
              "source_files_sampled": 1626,
              "oversized_source_files": 17
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C++ (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "17/1626 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1626,
                      "oversized": 17
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "deps.dev does not index npm:thrift@0.24.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T00:32:36.798291Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/apache/thrift.svg",
  "full_name": "apache/thrift",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.26.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenGo, npm, Packagist.