primarysource 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. primarysource/__init__.py +5 -0
  2. primarysource/bbf/__init__.py +56 -0
  3. primarysource/bbf/_xml.py +63 -0
  4. primarysource/bbf/catalogue.json +777 -0
  5. primarysource/bbf/catalogue.py +137 -0
  6. primarysource/bbf/cli.py +79 -0
  7. primarysource/bbf/datamodel.py +281 -0
  8. primarysource/bbf/importer.py +151 -0
  9. primarysource/bbf/library.py +380 -0
  10. primarysource/bbf/server.py +72 -0
  11. primarysource/budget.py +63 -0
  12. primarysource/c2sp/__init__.py +53 -0
  13. primarysource/c2sp/_fetch.py +5 -0
  14. primarysource/c2sp/catalogue.json +231 -0
  15. primarysource/c2sp/catalogue.py +95 -0
  16. primarysource/c2sp/cli.py +62 -0
  17. primarysource/c2sp/importer.py +90 -0
  18. primarysource/c2sp/library.py +309 -0
  19. primarysource/c2sp/markdown.py +31 -0
  20. primarysource/c2sp/server.py +68 -0
  21. primarysource/cavp/__init__.py +42 -0
  22. primarysource/cavp/cli.py +84 -0
  23. primarysource/cavp/data/vectors.toml +47 -0
  24. primarysource/cavp/importer.py +156 -0
  25. primarysource/cavp/model.py +279 -0
  26. primarysource/cavp/parse.py +269 -0
  27. primarysource/cavp/paths.py +17 -0
  28. primarysource/cavp/server.py +67 -0
  29. primarysource/cavp/tools.py +169 -0
  30. primarysource/cli.py +107 -0
  31. primarysource/cursor.py +82 -0
  32. primarysource/cve/__init__.py +5 -0
  33. primarysource/cve/__main__.py +6 -0
  34. primarysource/cve/cli.py +144 -0
  35. primarysource/cve/collection.py +20 -0
  36. primarysource/cve/config.py +58 -0
  37. primarysource/cve/errors.py +16 -0
  38. primarysource/cve/kernel.py +232 -0
  39. primarysource/cve/mcp.py +139 -0
  40. primarysource/cve/parse.py +318 -0
  41. primarysource/cve/py.typed +0 -0
  42. primarysource/cve/service.py +760 -0
  43. primarysource/cve/store.py +214 -0
  44. primarysource/cve/sync.py +438 -0
  45. primarysource/cve/views.py +304 -0
  46. primarysource/debpolicy/__init__.py +16 -0
  47. primarysource/debpolicy/catalogue.py +263 -0
  48. primarysource/debpolicy/cli.py +12 -0
  49. primarysource/debpolicy/server.py +11 -0
  50. primarysource/draft/__init__.py +11 -0
  51. primarysource/draft/catalogue.py +117 -0
  52. primarysource/draft/cli.py +149 -0
  53. primarysource/draft/collection.py +21 -0
  54. primarysource/draft/datatracker.py +158 -0
  55. primarysource/draft/importer.py +163 -0
  56. primarysource/draft/licence.py +89 -0
  57. primarysource/draft/names.py +64 -0
  58. primarysource/draft/net.py +133 -0
  59. primarysource/draft/segment.py +192 -0
  60. primarysource/draft/server.py +91 -0
  61. primarysource/draft/status.py +146 -0
  62. primarysource/draft/store.py +199 -0
  63. primarysource/draft/tracked.json +104 -0
  64. primarysource/draft/views.py +430 -0
  65. primarysource/draft/xmlmeta.py +74 -0
  66. primarysource/ecma/__init__.py +52 -0
  67. primarysource/ecma/_pdf.py +143 -0
  68. primarysource/ecma/catalogue.json +22 -0
  69. primarysource/ecma/catalogue.py +100 -0
  70. primarysource/ecma/cli.py +67 -0
  71. primarysource/ecma/identify.py +25 -0
  72. primarysource/ecma/importer.py +108 -0
  73. primarysource/ecma/library.py +240 -0
  74. primarysource/ecma/server.py +67 -0
  75. primarysource/errors.py +29 -0
  76. primarysource/fetch.py +360 -0
  77. primarysource/fsutil.py +150 -0
  78. primarysource/gitdocs/__init__.py +15 -0
  79. primarysource/gitdocs/catalogue.py +116 -0
  80. primarysource/gitdocs/cli.py +12 -0
  81. primarysource/gitdocs/server.py +8 -0
  82. primarysource/home.py +65 -0
  83. primarysource/iana/__init__.py +32 -0
  84. primarysource/iana/catalogue.json +244 -0
  85. primarysource/iana/catalogue.py +69 -0
  86. primarysource/iana/cli.py +69 -0
  87. primarysource/iana/importer.py +157 -0
  88. primarysource/iana/model.py +325 -0
  89. primarysource/iana/reader.py +315 -0
  90. primarysource/iana/server.py +67 -0
  91. primarysource/iana/store.py +83 -0
  92. primarysource/iana/xmlsafe.py +47 -0
  93. primarysource/identify.py +186 -0
  94. primarysource/ieee/__init__.py +58 -0
  95. primarysource/ieee/_html.py +49 -0
  96. primarysource/ieee/catalogue.json +74 -0
  97. primarysource/ieee/catalogue.py +123 -0
  98. primarysource/ieee/cli.py +79 -0
  99. primarysource/ieee/identify.py +24 -0
  100. primarysource/ieee/ieee802.py +47 -0
  101. primarysource/ieee/importer.py +305 -0
  102. primarysource/ieee/posix.py +233 -0
  103. primarysource/ieee/server.py +79 -0
  104. primarysource/index.py +446 -0
  105. primarysource/iso/__init__.py +51 -0
  106. primarysource/iso/cli.py +98 -0
  107. primarysource/iso/designation.py +95 -0
  108. primarysource/iso/identify.py +100 -0
  109. primarysource/iso/importer.py +224 -0
  110. primarysource/iso/library.py +249 -0
  111. primarysource/iso/server.py +69 -0
  112. primarysource/itu/__init__.py +41 -0
  113. primarysource/itu/__main__.py +8 -0
  114. primarysource/itu/asn1mod.py +478 -0
  115. primarysource/itu/catalog.py +472 -0
  116. primarysource/itu/cli.py +445 -0
  117. primarysource/itu/collection.py +20 -0
  118. primarysource/itu/corpus.py +118 -0
  119. primarysource/itu/errata.py +16 -0
  120. primarysource/itu/formal.py +565 -0
  121. primarysource/itu/identify.py +26 -0
  122. primarysource/itu/index.py +490 -0
  123. primarysource/itu/mcp.py +474 -0
  124. primarysource/itu/py.typed +0 -0
  125. primarysource/itu/sources.py +600 -0
  126. primarysource/itu/text.py +609 -0
  127. primarysource/kconfig/__init__.py +16 -0
  128. primarysource/kconfig/catalogue.py +98 -0
  129. primarysource/kconfig/cli.py +12 -0
  130. primarysource/kconfig/server.py +8 -0
  131. primarysource/model.py +63 -0
  132. primarysource/nist/__init__.py +5 -0
  133. primarysource/nist/collection.py +46 -0
  134. primarysource/nist/data/acquired-nist.json +1657 -0
  135. primarysource/nist/data/nist-catalog.json +12090 -0
  136. primarysource/nist/data/sources.toml +1996 -0
  137. primarysource/nist/identify.py +41 -0
  138. primarysource/nist/ingest/__init__.py +1 -0
  139. primarysource/nist/ingest/acquire_nist.py +128 -0
  140. primarysource/nist/ingest/controls.py +82 -0
  141. primarysource/nist/ingest/discover_nist.py +218 -0
  142. primarysource/nist/ingest/extract.py +48 -0
  143. primarysource/nist/ingest/fetch.py +211 -0
  144. primarysource/nist/ingest/index.py +14 -0
  145. primarysource/nist/ingest/oscal.py +480 -0
  146. primarysource/nist/ingest/prose_layouts.py +236 -0
  147. primarysource/nist/ingest/sources.py +94 -0
  148. primarysource/nist/ingest/status.py +255 -0
  149. primarysource/nist/models.py +7 -0
  150. primarysource/nist/paths.py +33 -0
  151. primarysource/nist/server/__init__.py +3 -0
  152. primarysource/nist/server/corpus.py +38 -0
  153. primarysource/nist/server/mcp.py +19 -0
  154. primarysource/nist/server/tools.py +35 -0
  155. primarysource/nist/spec.py +38 -0
  156. primarysource/pdfcorpus/__init__.py +16 -0
  157. primarysource/pdfcorpus/corpus.py +159 -0
  158. primarysource/pdfcorpus/fts.py +175 -0
  159. primarysource/pdfcorpus/index.py +70 -0
  160. primarysource/pdfcorpus/models.py +30 -0
  161. primarysource/pdfcorpus/server.py +96 -0
  162. primarysource/pdfcorpus/spec.py +37 -0
  163. primarysource/pdfcorpus/split.py +391 -0
  164. primarysource/pdfcorpus/tools.py +244 -0
  165. primarysource/pep/__init__.py +15 -0
  166. primarysource/pep/catalogue.py +191 -0
  167. primarysource/pep/cli.py +12 -0
  168. primarysource/pep/server.py +8 -0
  169. primarysource/pkgdocs/__init__.py +19 -0
  170. primarysource/pkgdocs/fetch.py +356 -0
  171. primarysource/pkgdocs/index.py +89 -0
  172. primarysource/pkgdocs/model.py +76 -0
  173. primarysource/pkgdocs/readers/__init__.py +1 -0
  174. primarysource/pkgdocs/readers/_common.py +134 -0
  175. primarysource/pkgdocs/readers/asciidoc.py +160 -0
  176. primarysource/pkgdocs/readers/latex.py +315 -0
  177. primarysource/pkgdocs/readers/markdown.py +173 -0
  178. primarysource/pkgdocs/readers/pod.py +132 -0
  179. primarysource/pkgdocs/readers/rst.py +239 -0
  180. primarysource/pkgdocs/readers/scdoc.py +108 -0
  181. primarysource/pkgdocs/runtime.py +552 -0
  182. primarysource/pkgdocs/serving.py +158 -0
  183. primarysource/pkgdocs/store.py +167 -0
  184. primarysource/pms/__init__.py +16 -0
  185. primarysource/pms/catalogue.py +88 -0
  186. primarysource/pms/cli.py +12 -0
  187. primarysource/pms/server.py +8 -0
  188. primarysource/py.typed +0 -0
  189. primarysource/readers/__init__.py +10 -0
  190. primarysource/readers/bookmarks.py +192 -0
  191. primarysource/readers/html.py +1312 -0
  192. primarysource/readers/markdown.py +189 -0
  193. primarysource/readers/pdf.py +187 -0
  194. primarysource/readers/xml.py +230 -0
  195. primarysource/refs.py +87 -0
  196. primarysource/registry.py +161 -0
  197. primarysource/render.py +49 -0
  198. primarysource/rfc/__init__.py +3 -0
  199. primarysource/rfc/__main__.py +6 -0
  200. primarysource/rfc/cite.py +204 -0
  201. primarysource/rfc/cli.py +903 -0
  202. primarysource/rfc/collection.py +19 -0
  203. primarysource/rfc/config.py +138 -0
  204. primarysource/rfc/errata.py +203 -0
  205. primarysource/rfc/fsutil.py +82 -0
  206. primarysource/rfc/graph.py +213 -0
  207. primarysource/rfc/index/__init__.py +1 -0
  208. primarysource/rfc/index/chunker.py +281 -0
  209. primarysource/rfc/index/embed.py +166 -0
  210. primarysource/rfc/index/hybrid.py +305 -0
  211. primarysource/rfc/index/lexical.py +223 -0
  212. primarysource/rfc/index/rfcxml.py +673 -0
  213. primarysource/rfc/index/search.py +508 -0
  214. primarysource/rfc/index/txtseg.py +585 -0
  215. primarysource/rfc/library.py +294 -0
  216. primarysource/rfc/mcp/__init__.py +1 -0
  217. primarysource/rfc/mcp/server.py +381 -0
  218. primarysource/rfc/packs/__init__.py +1 -0
  219. primarysource/rfc/packs/builder.py +228 -0
  220. primarysource/rfc/packs/collections/all-current-txt.json +10 -0
  221. primarysource/rfc/packs/collections/essentials.json +19 -0
  222. primarysource/rfc/packs/collections/fyi-current.json +10 -0
  223. primarysource/rfc/packs/collections/standards-current.json +10 -0
  224. primarysource/rfc/packs/collections/year-2025.json +10 -0
  225. primarysource/rfc/packs/collections/year-2026.json +10 -0
  226. primarysource/rfc/packs/collections.py +163 -0
  227. primarysource/rfc/packs/docsetexport.py +163 -0
  228. primarysource/rfc/packs/epub.py +159 -0
  229. primarysource/rfc/packs/export.py +306 -0
  230. primarysource/rfc/packs/htmlexport.py +82 -0
  231. primarysource/rfc/packs/serve.py +143 -0
  232. primarysource/rfc/packs/zimexport.py +171 -0
  233. primarysource/rfc/query.py +466 -0
  234. primarysource/rfc/subjects.py +457 -0
  235. primarysource/rfc/sync/__init__.py +1 -0
  236. primarysource/rfc/sync/downloader.py +132 -0
  237. primarysource/rfc/sync/manifest.py +162 -0
  238. primarysource/rfc/sync/scanner.py +49 -0
  239. primarysource/rfc/sync/state.py +464 -0
  240. primarysource/rfc/views.py +1067 -0
  241. primarysource/rpmdocs/__init__.py +15 -0
  242. primarysource/rpmdocs/catalogue.py +117 -0
  243. primarysource/rpmdocs/cli.py +12 -0
  244. primarysource/rpmdocs/server.py +8 -0
  245. primarysource/scaffold.py +223 -0
  246. primarysource/serve.py +75 -0
  247. primarysource/settings.py +152 -0
  248. primarysource/usb/__init__.py +5 -0
  249. primarysource/usb/collection.py +37 -0
  250. primarysource/usb/data/acquired.json +2025 -0
  251. primarysource/usb/data/sources-usb.toml +852 -0
  252. primarysource/usb/data/sources.toml +10 -0
  253. primarysource/usb/data/usb-catalog.json +1663 -0
  254. primarysource/usb/data/usb-classification.json +1986 -0
  255. primarysource/usb/data/usb-corpus-build.json +608 -0
  256. primarysource/usb/data/usb-pdf-choice.json +839 -0
  257. primarysource/usb/data/usb-split-measure.json +1803 -0
  258. primarysource/usb/ingest/__init__.py +1 -0
  259. primarysource/usb/ingest/acquire.py +130 -0
  260. primarysource/usb/ingest/discover_usb.py +88 -0
  261. primarysource/usb/ingest/extract.py +48 -0
  262. primarysource/usb/ingest/fetch.py +197 -0
  263. primarysource/usb/ingest/index.py +14 -0
  264. primarysource/usb/ingest/sources.py +85 -0
  265. primarysource/usb/models.py +7 -0
  266. primarysource/usb/paths.py +33 -0
  267. primarysource/usb/server/__init__.py +3 -0
  268. primarysource/usb/server/corpus.py +38 -0
  269. primarysource/usb/server/mcp.py +19 -0
  270. primarysource/usb/server/tools.py +35 -0
  271. primarysource/usb/spec.py +20 -0
  272. primarysource/usbids/__init__.py +56 -0
  273. primarysource/usbids/cli.py +65 -0
  274. primarysource/usbids/importer.py +272 -0
  275. primarysource/usbids/parse.py +283 -0
  276. primarysource/usbids/server.py +55 -0
  277. primarysource/usbids/store.py +80 -0
  278. primarysource/usbids/tools.py +174 -0
  279. primarysource/zim/__init__.py +5 -0
  280. primarysource/zim/__main__.py +8 -0
  281. primarysource/zim/_libzim.py +37 -0
  282. primarysource/zim/catalog.py +594 -0
  283. primarysource/zim/cli.py +555 -0
  284. primarysource/zim/collection.py +41 -0
  285. primarysource/zim/errors.py +100 -0
  286. primarysource/zim/groups.py +30 -0
  287. primarysource/zim/library.py +668 -0
  288. primarysource/zim/manage.py +636 -0
  289. primarysource/zim/markdown.py +1247 -0
  290. primarysource/zim/mcp.py +201 -0
  291. primarysource/zim/purl.py +130 -0
  292. primarysource/zim/py.typed +0 -0
  293. primarysource/zim/refs.py +90 -0
  294. primarysource/zim/service.py +1182 -0
  295. primarysource/zim/snapshot.py +197 -0
  296. primarysource/zim/sync.py +269 -0
  297. primarysource/zim/views.py +230 -0
  298. primarysource-0.1.0.dist-info/METADATA +118 -0
  299. primarysource-0.1.0.dist-info/RECORD +303 -0
  300. primarysource-0.1.0.dist-info/WHEEL +4 -0
  301. primarysource-0.1.0.dist-info/entry_points.txt +2 -0
  302. primarysource-0.1.0.dist-info/licenses/LICENSE +203 -0
  303. primarysource-0.1.0.dist-info/licenses/NOTICE +51 -0
@@ -0,0 +1,1803 @@
1
+ {
2
+ "schema": 1,
3
+ "specs": [
4
+ {
5
+ "slug": "usb-type-cr-connector-system-software-interface-ucsi-specification",
6
+ "pdf": "USB Type-C Connector System Software Interface Revision_3.2 OR Clean.pdf",
7
+ "pdf_count": 6,
8
+ "pages": 120,
9
+ "chars": 351229,
10
+ "section_count": 90,
11
+ "shallow_sections": 28,
12
+ "sequence_errors": 0,
13
+ "largest_section_lines": 509,
14
+ "sample_headings": [
15
+ "1 Introduction",
16
+ "5 PPM-LPM Interface Protocol",
17
+ "6.5.24 Security Request"
18
+ ],
19
+ "group": "good"
20
+ },
21
+ {
22
+ "slug": "usb-type-c-and-power-delivery-source-power-requirements-compliance-test",
23
+ "pdf": "USB-C%20Source%20Power%20Test%20Specification%20V1.2%202026%2011%2004.pdf",
24
+ "pdf_count": 1,
25
+ "pages": 75,
26
+ "chars": 199294,
27
+ "section_count": 6,
28
+ "shallow_sections": 6,
29
+ "sequence_errors": 0,
30
+ "largest_section_lines": 2656,
31
+ "sample_headings": [
32
+ "1 Introduction",
33
+ "2.1 USB PD 2.0 Assertions",
34
+ "2.3 USB PD 3.2 V1.2 Assertions"
35
+ ],
36
+ "group": "too_few"
37
+ },
38
+ {
39
+ "slug": "usb-power-delivery",
40
+ "pdf": "USB_PD_R2_0 V1.3 - 20170112.pdf",
41
+ "pdf_count": 45,
42
+ "pages": 547,
43
+ "chars": 1784953,
44
+ "section_count": 787,
45
+ "shallow_sections": 71,
46
+ "sequence_errors": 1,
47
+ "largest_section_lines": 3192,
48
+ "sample_headings": [
49
+ "1. Introduction",
50
+ "6.4.2.2 GiveBack Flag",
51
+ "8.3.2.8.1 Type-C Power Role Swap"
52
+ ],
53
+ "group": "sequence_errors"
54
+ },
55
+ {
56
+ "slug": "usb-32-revision-11-june-2022",
57
+ "pdf": "USB 3.2 Revision 1.1.pdf",
58
+ "pdf_count": 23,
59
+ "pages": 569,
60
+ "chars": 1750640,
61
+ "section_count": 627,
62
+ "shallow_sections": 88,
63
+ "sequence_errors": 0,
64
+ "largest_section_lines": 3552,
65
+ "sample_headings": [
66
+ "1 Introduction",
67
+ "7.2.4.1.6 Receiving Data Packet Header in Gen 2 Operation",
68
+ "9.2.5.1 Power Budgeting"
69
+ ],
70
+ "group": "good"
71
+ },
72
+ {
73
+ "slug": "usb4cv-compliance-test-specification",
74
+ "pdf": "USB4 Logical Layer CTS Rev 2.9 - CLEAN.pdf",
75
+ "pdf_count": 13,
76
+ "pages": 302,
77
+ "chars": 774651,
78
+ "section_count": 36,
79
+ "shallow_sections": 36,
80
+ "sequence_errors": 0,
81
+ "largest_section_lines": 5029,
82
+ "sample_headings": [
83
+ "1. Send an LT_Fall Transaction to the Link Partner of the Upstream Facing",
84
+ "13. TMU_ADP_6",
85
+ "25. Else:"
86
+ ],
87
+ "group": "good"
88
+ },
89
+ {
90
+ "slug": "usb-power-delivery-compliance-test-specification-0",
91
+ "pdf": "USB PD3 CTS Q4 2026 OR.pdf",
92
+ "pdf_count": 36,
93
+ "pages": 345,
94
+ "chars": 926845,
95
+ "section_count": 68,
96
+ "shallow_sections": 32,
97
+ "sequence_errors": 0,
98
+ "largest_section_lines": 1812,
99
+ "sample_headings": [
100
+ "1 Introduction",
101
+ "4.1.1 PD3 Mode",
102
+ "5.7.2 PD3 Mode"
103
+ ],
104
+ "group": "good"
105
+ },
106
+ {
107
+ "slug": "usb-audio-devices-release-40-and-adopters-agreement",
108
+ "pdf": "Audio4_with_Errata_and ECN_through_October_09_2026.pdf",
109
+ "pdf_count": 2,
110
+ "pages": 239,
111
+ "chars": 765930,
112
+ "section_count": 353,
113
+ "shallow_sections": 52,
114
+ "sequence_errors": 0,
115
+ "largest_section_lines": 1081,
116
+ "sample_headings": [
117
+ "1 INTRODUCTION",
118
+ "4.5.3.4 TERMINAL COMPANION DESCRIPTOR",
119
+ "5.3.3.7.2.1 BYPASS CONTROL"
120
+ ],
121
+ "group": "good"
122
+ },
123
+ {
124
+ "slug": "usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through",
125
+ "pdf": "Audio2_with_Errata_and_ECN_through_Sep_14_2026.pdf",
126
+ "pdf_count": 1,
127
+ "pages": 144,
128
+ "chars": 456618,
129
+ "section_count": 327,
130
+ "shallow_sections": 59,
131
+ "sequence_errors": 0,
132
+ "largest_section_lines": 218,
133
+ "sample_headings": [
134
+ "1 Introduction",
135
+ "4.10.1.1 Standard AS Isochronous Audio Data Endpoint Descriptor",
136
+ "5.2.5.9.2.1 Enable Control"
137
+ ],
138
+ "group": "good"
139
+ },
140
+ {
141
+ "slug": "usb-20-electrical-compliance-test-specification",
142
+ "pdf": "USB2%20Electrical%20Compliance%20Specification%20v1.08.pdf",
143
+ "pdf_count": 1,
144
+ "pages": 12,
145
+ "chars": 24758,
146
+ "section_count": 37,
147
+ "shallow_sections": 19,
148
+ "sequence_errors": 0,
149
+ "largest_section_lines": 41,
150
+ "sample_headings": [
151
+ "3 High Speed Electrical Compliance",
152
+ "3.8 Host requirements",
153
+ "4.3 J and K Voltage Levels"
154
+ ],
155
+ "group": "good"
156
+ },
157
+ {
158
+ "slug": "usb-type-cr-cable-and-connector-specification-release-25",
159
+ "pdf": "USB Type-C Spec R2.5 - March 2026 Compared to R2.4.pdf",
160
+ "pdf_count": 12,
161
+ "pages": 446,
162
+ "chars": 1269808,
163
+ "section_count": 625,
164
+ "shallow_sections": 49,
165
+ "sequence_errors": 0,
166
+ "largest_section_lines": 4402,
167
+ "sample_headings": [
168
+ "1 Introduction",
169
+ "4.5.2.2.9 Attached.SRC State",
170
+ "6.1.2.5.1 Electrical Requirements Applying to All Active Cables"
171
+ ],
172
+ "group": "good"
173
+ },
174
+ {
175
+ "slug": "usb4r-specification-v20",
176
+ "pdf": "USB4 Specification 2.0 November 2025 - CLEAN.pdf",
177
+ "pdf_count": 44,
178
+ "pages": 839,
179
+ "chars": 2817180,
180
+ "section_count": 633,
181
+ "shallow_sections": 93,
182
+ "sequence_errors": 0,
183
+ "largest_section_lines": 2562,
184
+ "sample_headings": [
185
+ "1 Introduction",
186
+ "5.1.2.3 Error Correction Code (ECC)",
187
+ "10.1.3 DP Physical Layer"
188
+ ],
189
+ "group": "good"
190
+ },
191
+ {
192
+ "slug": "usb-communications-class-subclass-specifications-network-control-model-devices-v11",
193
+ "pdf": "Changes - NCM11_20250522 and NCM11_20260205.pdf",
194
+ "pdf_count": 6,
195
+ "pages": 91,
196
+ "chars": 265481,
197
+ "section_count": 101,
198
+ "shallow_sections": 59,
199
+ "sequence_errors": 0,
200
+ "largest_section_lines": 292,
201
+ "sample_headings": [
202
+ "1 Introduction",
203
+ "4.4.2 Transmit parameters combinations and dependencies",
204
+ "7.2.11 SetCrcMode"
205
+ ],
206
+ "group": "good"
207
+ },
208
+ {
209
+ "slug": "usb4-electrical-compliance-test-specification",
210
+ "pdf": "USB4 Electrical Compliance Test Specification Ver2 1p0 no watermark official release clean.pdf",
211
+ "pdf_count": 6,
212
+ "pages": 126,
213
+ "chars": 209499,
214
+ "section_count": 275,
215
+ "shallow_sections": 23,
216
+ "sequence_errors": 0,
217
+ "largest_section_lines": 816,
218
+ "sample_headings": [
219
+ "1 Introduction",
220
+ "4.1.3.1.1 Reference",
221
+ "5.3.1.1 Reference"
222
+ ],
223
+ "group": "good"
224
+ },
225
+ {
226
+ "slug": "hid-usage-tables-17",
227
+ "pdf": "hut1_7.pdf",
228
+ "pdf_count": 1,
229
+ "pages": 441,
230
+ "chars": 1002861,
231
+ "section_count": 388,
232
+ "shallow_sections": 243,
233
+ "sequence_errors": 0,
234
+ "largest_section_lines": 1314,
235
+ "sample_headings": [
236
+ "3 Usage Pages",
237
+ "16.3.1 Digitizer-Specific Fields",
238
+ "23.20.2.2 Hinge Fold Gesture"
239
+ ],
240
+ "group": "good"
241
+ },
242
+ {
243
+ "slug": "usb-type-c-shared-capacity-charger-interoperability-compliance-test-specification",
244
+ "pdf": "USB_Type-C_Shared_Capacity_Interoperabiltiy_CTS_1.0.pdf",
245
+ "pdf_count": 1,
246
+ "pages": 9,
247
+ "chars": 13514,
248
+ "section_count": 6,
249
+ "shallow_sections": 6,
250
+ "sequence_errors": 0,
251
+ "largest_section_lines": 93,
252
+ "sample_headings": [
253
+ "1. Apple MacBook M4 (EPR) and Google Pixelbook Go",
254
+ "3. Apple MacBook M4 (EPR) and Google Pixel 10 Phone",
255
+ "5. Google Pixelbook Go and Google Pixel 10 Phone"
256
+ ],
257
+ "group": "good"
258
+ },
259
+ {
260
+ "slug": "usb3cv-and-xhcicv-compliance-test-specifications",
261
+ "pdf": "USB_Video_Class_Compliance_1 1.pdf",
262
+ "pdf_count": 14,
263
+ "pages": 217,
264
+ "chars": 659236,
265
+ "section_count": 35,
266
+ "shallow_sections": 20,
267
+ "sequence_errors": 0,
268
+ "largest_section_lines": 1910,
269
+ "sample_headings": [
270
+ "1 Scope",
271
+ "5.1 Descriptor related assertions",
272
+ "6.5 Test details"
273
+ ],
274
+ "group": "good"
275
+ },
276
+ {
277
+ "slug": "usb-20-specification",
278
+ "pdf": "usb_20.pdf",
279
+ "pdf_count": 37,
280
+ "pages": 650,
281
+ "chars": 1895748,
282
+ "section_count": 50,
283
+ "shallow_sections": 8,
284
+ "sequence_errors": 0,
285
+ "largest_section_lines": 19894,
286
+ "sample_headings": [
287
+ "8. After the device completes its chirp, it looks for the high-speed hub chirp. At a minimum, the de",
288
+ "8.4.2.1 Split Transactions",
289
+ "8.5.3 Control Transfers"
290
+ ],
291
+ "group": "too_few"
292
+ },
293
+ {
294
+ "slug": "class-definitions-communication-devices-12",
295
+ "pdf": "WMC110-20101103-track.pdf",
296
+ "pdf_count": 10,
297
+ "pages": 75,
298
+ "chars": 192332,
299
+ "section_count": 146,
300
+ "shallow_sections": 30,
301
+ "sequence_errors": 0,
302
+ "largest_section_lines": 191,
303
+ "sample_headings": [
304
+ "1 Introduction",
305
+ "6.3.2.3 Telephone Control Model Functional Descriptor",
306
+ "6.6.1 Functional Topology"
307
+ ],
308
+ "group": "good"
309
+ },
310
+ {
311
+ "slug": "usb-active-cable-thermal-compliance-test-specification",
312
+ "pdf": "USB%20Active%20Cable%20Thermal%20Compliance%20Test%20Specification%20v0.92%20May%2015th.pdf",
313
+ "pdf_count": 1,
314
+ "pages": 20,
315
+ "chars": 30984,
316
+ "section_count": 21,
317
+ "shallow_sections": 5,
318
+ "sequence_errors": 0,
319
+ "largest_section_lines": 110,
320
+ "sample_headings": [
321
+ "1 USB Active Cable Thermal Compliance Test",
322
+ "1.2.3 Device",
323
+ "1.2.10 Customized USB C to C Passive Cable B (Length: 0.3m)"
324
+ ],
325
+ "group": "good"
326
+ },
327
+ {
328
+ "slug": "usb-type-cr-connectors-and-cable-assemblies-compliance-document-rev-21b",
329
+ "pdf": "USB%20Type-C_Compliance%20Document_Rev_2_1b_June_2021.pdf",
330
+ "pdf_count": 1,
331
+ "pages": 86,
332
+ "chars": 219981,
333
+ "section_count": 36,
334
+ "shallow_sections": 21,
335
+ "sequence_errors": 0,
336
+ "largest_section_lines": 1199,
337
+ "sample_headings": [
338
+ "1 Introduction",
339
+ "4.5 General Information",
340
+ "4.10.1.1 Visual Inspection"
341
+ ],
342
+ "group": "good"
343
+ },
344
+ {
345
+ "slug": "embedded-usb2-version-20-supplement-usb-20-specification-eusb2v2",
346
+ "pdf": "Embedded%20USB2%20Version%202.0%20Supplement%20to%20the%20USB%202.0%20Specification_0.pdf",
347
+ "pdf_count": 1,
348
+ "pages": 65,
349
+ "chars": 162172,
350
+ "section_count": 64,
351
+ "shallow_sections": 18,
352
+ "sequence_errors": 0,
353
+ "largest_section_lines": 516,
354
+ "sample_headings": [
355
+ "1 Introduction",
356
+ "2 Architecture",
357
+ "3.7.2 Transmitter De-emphasis"
358
+ ],
359
+ "group": "good"
360
+ },
361
+ {
362
+ "slug": "embedded-usb2-eusb2-physical-layer-supplement-usb-revision-20-specification-rev-12",
363
+ "pdf": "eUSB2_1p2_20211217.pdf",
364
+ "pdf_count": 3,
365
+ "pages": 169,
366
+ "chars": 461784,
367
+ "section_count": 50,
368
+ "shallow_sections": 17,
369
+ "sequence_errors": 0,
370
+ "largest_section_lines": 6042,
371
+ "sample_headings": [
372
+ "1 Preface",
373
+ "3.3.1 FS/LS SYNC and EOP",
374
+ "3.3.8.1 CM Retry and Recovery Rules"
375
+ ],
376
+ "group": "good"
377
+ },
378
+ {
379
+ "slug": "usb-type-cr-locking-connector-specification",
380
+ "pdf": "usb_type-c_locking_connector_specification_rev_1_0_20160309.pdf",
381
+ "pdf_count": 2,
382
+ "pages": 13,
383
+ "chars": 22058,
384
+ "section_count": 20,
385
+ "shallow_sections": 10,
386
+ "sequence_errors": 0,
387
+ "largest_section_lines": 75,
388
+ "sample_headings": [
389
+ "1 Introduction",
390
+ "1.4.2 Keywords",
391
+ "1.4.2.6 Reserved"
392
+ ],
393
+ "group": "good"
394
+ },
395
+ {
396
+ "slug": "usb-32-link-layer-test-specification",
397
+ "pdf": "USB%203%202%20Link%20Layer%20Test%20Specification%202024%2003%2003.pdf",
398
+ "pdf_count": 1,
399
+ "pages": 106,
400
+ "chars": 311595,
401
+ "section_count": 8,
402
+ "shallow_sections": 8,
403
+ "sequence_errors": 0,
404
+ "largest_section_lines": 3441,
405
+ "sample_headings": [
406
+ "1 Introduction",
407
+ "3 Test Assertions",
408
+ "5 Timeout Counter is equal to 3, then the Requester shall"
409
+ ],
410
+ "group": "too_few"
411
+ },
412
+ {
413
+ "slug": "usb-type-c-functional-test-specification",
414
+ "pdf": "USB%20Type%20C%20Functional%20Test%20Specification%202024%2003%2003.pdf",
415
+ "pdf_count": 1,
416
+ "pages": 140,
417
+ "chars": 457616,
418
+ "section_count": 30,
419
+ "shallow_sections": 30,
420
+ "sequence_errors": 0,
421
+ "largest_section_lines": 2637,
422
+ "sample_headings": [
423
+ "1. CVS starts in Disabled",
424
+ "11. CVS verifies the PUT and CVS transitions to Attached.SRC and Attached.SNK after",
425
+ "21. CVS sends Enter Mode for a PUT supported Alternate Mode. If VIF field"
426
+ ],
427
+ "group": "good"
428
+ },
429
+ {
430
+ "slug": "usb-i3cr-device-class-specification-v11",
431
+ "pdf": "USB%20I3C%20Device%20Class%20Revision%201.1.pdf",
432
+ "pdf_count": 1,
433
+ "pages": 90,
434
+ "chars": 359017,
435
+ "section_count": 100,
436
+ "shallow_sections": 21,
437
+ "sequence_errors": 0,
438
+ "largest_section_lines": 561,
439
+ "sample_headings": [
440
+ "1 Introduction",
441
+ "3.3.2.3.4 Disable Hot-Join",
442
+ "3.4.4 Buffer Available"
443
+ ],
444
+ "group": "good"
445
+ },
446
+ {
447
+ "slug": "electrical-compliance-test-specification-linear-re-driver-active-cable-lrd",
448
+ "pdf": "Electrical_Compliance_Test%20Specification_Linear_Re_Driver_Active_Cable_LRD_rev1p0.pdf",
449
+ "pdf_count": 1,
450
+ "pages": 44,
451
+ "chars": 68346,
452
+ "section_count": 67,
453
+ "shallow_sections": 22,
454
+ "sequence_errors": 0,
455
+ "largest_section_lines": 218,
456
+ "sample_headings": [
457
+ "1 Introduction",
458
+ "6.2.1.4 Periodic Jitter",
459
+ "8.2 Gen3 Configuration"
460
+ ],
461
+ "group": "good"
462
+ },
463
+ {
464
+ "slug": "usb4tm-thunderbolt3tm-compatibility-compliance-test-specification",
465
+ "pdf": "USB4™ Thunderbolt3™ Compatibility CTS Rev 1.1 - CLEAN.pdf",
466
+ "pdf_count": 2,
467
+ "pages": 44,
468
+ "chars": 101808,
469
+ "section_count": 28,
470
+ "shallow_sections": 24,
471
+ "sequence_errors": 0,
472
+ "largest_section_lines": 753,
473
+ "sample_headings": [
474
+ "1 Introduction",
475
+ "4.3 Source VBUS Requirements",
476
+ "5.4 Cable"
477
+ ],
478
+ "group": "good"
479
+ },
480
+ {
481
+ "slug": "usb-type-c-connectors-and-cable-assemblies-compliance-document",
482
+ "pdf": "USB Type-C_Compliance Document_Rev_2_1a_June_2021_CB.pdf",
483
+ "pdf_count": 2,
484
+ "pages": 86,
485
+ "chars": 225283,
486
+ "section_count": 36,
487
+ "shallow_sections": 21,
488
+ "sequence_errors": 0,
489
+ "largest_section_lines": 1231,
490
+ "sample_headings": [
491
+ "1 Introduction",
492
+ "4.5 General Information",
493
+ "4.10.1.1 Visual Inspection"
494
+ ],
495
+ "group": "good"
496
+ },
497
+ {
498
+ "slug": "usb-type-cr-port-controller-interface-specification",
499
+ "pdf": "USB_TCPCI_R2_V1p3_30122_CLEAN.pdf",
500
+ "pdf_count": 1,
501
+ "pages": 113,
502
+ "chars": 384785,
503
+ "section_count": 133,
504
+ "shallow_sections": 34,
505
+ "sequence_errors": 0,
506
+ "largest_section_lines": 427,
507
+ "sample_headings": [
508
+ "1 Introduction",
509
+ "4.3.3 Writing Two-Byte Registers",
510
+ "4.4.9.1 DEVICE_CAPABILITIES (Normative)"
511
+ ],
512
+ "group": "good"
513
+ },
514
+ {
515
+ "slug": "usb-i3c-device-class-specification",
516
+ "pdf": "USB%20I3C%20Device%20Class%20Revision%201.0.pdf",
517
+ "pdf_count": 1,
518
+ "pages": 78,
519
+ "chars": 297266,
520
+ "section_count": 91,
521
+ "shallow_sections": 21,
522
+ "sequence_errors": 0,
523
+ "largest_section_lines": 543,
524
+ "sample_headings": [
525
+ "1 Introduction",
526
+ "3.3.2.3.1 Disable I3C Bus",
527
+ "3.4.3 Address Change Result"
528
+ ],
529
+ "group": "good"
530
+ },
531
+ {
532
+ "slug": "usb4tm-thunderbolt3tm-compatibility-requirements-specification",
533
+ "pdf": "USB4%E2%84%A2%20Thunderbolt3%E2%84%A2%20Compatibility%20Requirements%20Specification%20Rev%201.0%20-%2020210129_0.pdf",
534
+ "pdf_count": 1,
535
+ "pages": 16,
536
+ "chars": 26113,
537
+ "section_count": 19,
538
+ "shallow_sections": 15,
539
+ "sequence_errors": 0,
540
+ "largest_section_lines": 94,
541
+ "sample_headings": [
542
+ "1 Introduction",
543
+ "4.1 Host Source Power Provisioning",
544
+ "4.3.1 Electrical"
545
+ ],
546
+ "group": "good"
547
+ },
548
+ {
549
+ "slug": "usb-battery-charging-12-compliance-plan",
550
+ "pdf": "USB%20BC%201.2%20Compliance%20Plan%20rev%201.2.pdf",
551
+ "pdf_count": 1,
552
+ "pages": 165,
553
+ "chars": 335010,
554
+ "section_count": 193,
555
+ "shallow_sections": 112,
556
+ "sequence_errors": 0,
557
+ "largest_section_lines": 382,
558
+ "sample_headings": [
559
+ "1 Introduction",
560
+ "8.1 Submission Materials",
561
+ "13.1 Submission Materials"
562
+ ],
563
+ "group": "good"
564
+ },
565
+ {
566
+ "slug": "billboard-device-class-spec-revision-122-and-adopters-agreement",
567
+ "pdf": "USB Billboard Revision 1.2.2 - CLEAN.pdf",
568
+ "pdf_count": 3,
569
+ "pages": 20,
570
+ "chars": 62559,
571
+ "section_count": 40,
572
+ "shallow_sections": 17,
573
+ "sequence_errors": 0,
574
+ "largest_section_lines": 175,
575
+ "sample_headings": [
576
+ "1 In troduction",
577
+ "1.5.2.6 Re se rved",
578
+ "3.1.1 De vice Descriptor"
579
+ ],
580
+ "group": "good"
581
+ },
582
+ {
583
+ "slug": "usb-class-definition-midi-devices-v20",
584
+ "pdf": "USB%20MIDI%20v2_0.pdf",
585
+ "pdf_count": 1,
586
+ "pages": 47,
587
+ "chars": 114156,
588
+ "section_count": 83,
589
+ "shallow_sections": 43,
590
+ "sequence_errors": 0,
591
+ "largest_section_lines": 108,
592
+ "sample_headings": [
593
+ "1 Introduction",
594
+ "5.2 MIDIStreaming Interface Descriptors",
595
+ "B.2.2 Class-specific AC Interface Descriptor"
596
+ ],
597
+ "group": "good"
598
+ },
599
+ {
600
+ "slug": "hid-point-sale-usage-tables-102",
601
+ "pdf": "pos1_02.pdf",
602
+ "pdf_count": 1,
603
+ "pages": 69,
604
+ "chars": 169221,
605
+ "section_count": 62,
606
+ "shallow_sections": 32,
607
+ "sequence_errors": 0,
608
+ "largest_section_lines": 296,
609
+ "sample_headings": [
610
+ "1 Introduction",
611
+ "3.10.1.1 Price/Weight Check Usages",
612
+ "6.1.2 Scanned Data Report"
613
+ ],
614
+ "group": "good"
615
+ },
616
+ {
617
+ "slug": "oaad-arcade-usage-table",
618
+ "pdf": "oaaddataformatsv6.pdf",
619
+ "pdf_count": 1,
620
+ "pages": 27,
621
+ "chars": 61284,
622
+ "section_count": 3,
623
+ "shallow_sections": 3,
624
+ "sequence_errors": 0,
625
+ "largest_section_lines": 457,
626
+ "sample_headings": [
627
+ "6 AI06 (Input)",
628
+ "6.1 Bill acceptors",
629
+ "6.2 Debit cards"
630
+ ],
631
+ "group": "too_few"
632
+ },
633
+ {
634
+ "slug": "monitor-control-class-10",
635
+ "pdf": "usbmon10_0.pdf",
636
+ "pdf_count": 1,
637
+ "pages": 22,
638
+ "chars": 46138,
639
+ "section_count": 16,
640
+ "shallow_sections": 15,
641
+ "sequence_errors": 0,
642
+ "largest_section_lines": 452,
643
+ "sample_headings": [
644
+ "1. Introduction",
645
+ "2. Management Overview",
646
+ "5.2 Monitor Requests"
647
+ ],
648
+ "group": "good"
649
+ },
650
+ {
651
+ "slug": "device-class-definition-pid-10",
652
+ "pdf": "pid1_01_0.pdf",
653
+ "pdf_count": 1,
654
+ "pages": 52,
655
+ "chars": 130513,
656
+ "section_count": 41,
657
+ "shallow_sections": 32,
658
+ "sequence_errors": 0,
659
+ "largest_section_lines": 641,
660
+ "sample_headings": [
661
+ "1. Introduction",
662
+ "5. Physical Input Device Page (0x0F)",
663
+ "5.8 Vendor Defined Parameter Blocks"
664
+ ],
665
+ "group": "good"
666
+ },
667
+ {
668
+ "slug": "device-class-definition-hid-111",
669
+ "pdf": "hid1_11.pdf",
670
+ "pdf_count": 1,
671
+ "pages": 97,
672
+ "chars": 226062,
673
+ "section_count": 39,
674
+ "shallow_sections": 39,
675
+ "sequence_errors": 0,
676
+ "largest_section_lines": 1565,
677
+ "sample_headings": [
678
+ "1. Preface",
679
+ "4.2 Subclass",
680
+ "5.9 Orientation"
681
+ ],
682
+ "group": "good"
683
+ },
684
+ {
685
+ "slug": "usb-3-hub-lvs-test-specification",
686
+ "pdf": "SSHUB%20LVS%20Specification%202019_11_21.pdf",
687
+ "pdf_count": 1,
688
+ "pages": 57,
689
+ "chars": 191519,
690
+ "section_count": 17,
691
+ "shallow_sections": 17,
692
+ "sequence_errors": 0,
693
+ "largest_section_lines": 1121,
694
+ "sample_headings": [
695
+ "1 Hub Testing Requirements",
696
+ "6. No Device connected to DFP",
697
+ "11. Hub Downstream Inactivity Timers reset by non-ITP packet test"
698
+ ],
699
+ "group": "good"
700
+ },
701
+ {
702
+ "slug": "usage-tables-hid-power-devices-11",
703
+ "pdf": "pdcv11.pdf",
704
+ "pdf_count": 1,
705
+ "pages": 66,
706
+ "chars": 214102,
707
+ "section_count": 52,
708
+ "shallow_sections": 22,
709
+ "sequence_errors": 0,
710
+ "largest_section_lines": 1667,
711
+ "sample_headings": [
712
+ "1. Introduction",
713
+ "2.3 Implementation Examples",
714
+ "4.2 Battery System Page (x85)"
715
+ ],
716
+ "group": "good"
717
+ },
718
+ {
719
+ "slug": "usb-31-legacy-cable-and-connector-revision-10",
720
+ "pdf": "USB 3.1 Legacy Cable and Connector Revision 1.0.pdf",
721
+ "pdf_count": 3,
722
+ "pages": 74,
723
+ "chars": 130732,
724
+ "section_count": 90,
725
+ "shallow_sections": 20,
726
+ "sequence_errors": 1,
727
+ "largest_section_lines": 120,
728
+ "sample_headings": [
729
+ "1 Introduction",
730
+ "5.2.3 Raw Cable",
731
+ "5.6.1.1.2 Intra-Pair Skew"
732
+ ],
733
+ "group": "sequence_errors"
734
+ },
735
+ {
736
+ "slug": "battery-charging-v12-spec-and-adopters-agreement",
737
+ "pdf": "BC1.2 plus errata 2012-3-15.pdf",
738
+ "pdf_count": 5,
739
+ "pages": 72,
740
+ "chars": 167304,
741
+ "section_count": 105,
742
+ "shallow_sections": 30,
743
+ "sequence_errors": 0,
744
+ "largest_section_lines": 384,
745
+ "sample_headings": [
746
+ "1. Allow DCPs to output more than 1.5A. Allows",
747
+ "3.2.3.3 Data Contact Detect, Not Attached",
748
+ "4.3.2 Undershoot"
749
+ ],
750
+ "group": "good"
751
+ },
752
+ {
753
+ "slug": "android-based-targeted-host-compliance-test-specification-v100",
754
+ "pdf": "Targeted%20Host%20Compliance%20Test%20Specification%20v1.00.pdf",
755
+ "pdf_count": 1,
756
+ "pages": 3,
757
+ "chars": 5739,
758
+ "section_count": 0,
759
+ "shallow_sections": 0,
760
+ "sequence_errors": 0,
761
+ "largest_section_lines": 0,
762
+ "sample_headings": [],
763
+ "group": "too_few"
764
+ },
765
+ {
766
+ "slug": "usb-authentication-specification-rev-10-ecn-and-errata-through-january-7-2019",
767
+ "pdf": "USB Authentication Mapping Specification 20190118.pdf",
768
+ "pdf_count": 2,
769
+ "pages": 53,
770
+ "chars": 123762,
771
+ "section_count": 17,
772
+ "shallow_sections": 17,
773
+ "sequence_errors": 0,
774
+ "largest_section_lines": 908,
775
+ "sample_headings": [
776
+ "1 Copyright © 2019, USB 3.0 Promoter Group",
777
+ "6 Bridge function in both the USB Hub and corresponding driver in the USB Host. The USB",
778
+ "11 Message exchange. To initiate a security transfer, an Authentication Initiator sends a"
779
+ ],
780
+ "group": "good"
781
+ },
782
+ {
783
+ "slug": "usb-type-cr-bridge-specification-v11",
784
+ "pdf": "USB-C Bridge Rev 1 1 - Clean.pdf",
785
+ "pdf_count": 3,
786
+ "pages": 55,
787
+ "chars": 141326,
788
+ "section_count": 71,
789
+ "shallow_sections": 22,
790
+ "sequence_errors": 0,
791
+ "largest_section_lines": 266,
792
+ "sample_headings": [
793
+ "1 Introduction",
794
+ "3.2.1.1 Send PPM Command Request",
795
+ "4.2.7 Get Capability"
796
+ ],
797
+ "group": "good"
798
+ },
799
+ {
800
+ "slug": "universal-serial-bus-31-legacy-connectors-and-cable-assemblies-compliance-document",
801
+ "pdf": "CabConn_Legacy_3_1_Compliance_Rev_1_1.pdf",
802
+ "pdf_count": 1,
803
+ "pages": 56,
804
+ "chars": 111816,
805
+ "section_count": 30,
806
+ "shallow_sections": 19,
807
+ "sequence_errors": 1,
808
+ "largest_section_lines": 729,
809
+ "sample_headings": [
810
+ "1. Introduction",
811
+ "4.3. Compliance Test Report",
812
+ "4.9. Sustaining Qualification Approval Testing"
813
+ ],
814
+ "group": "sequence_errors"
815
+ },
816
+ {
817
+ "slug": "usb-multiflow-extension-mobile-broadband-interface-model-v10-and-adopters",
818
+ "pdf": "MBIM MultiFlow v1.0.pdf",
819
+ "pdf_count": 2,
820
+ "pages": 28,
821
+ "chars": 39218,
822
+ "section_count": 55,
823
+ "shallow_sections": 19,
824
+ "sequence_errors": 0,
825
+ "largest_section_lines": 43,
826
+ "sample_headings": [
827
+ "1 OVERVIEW",
828
+ "5 MBIM-SPECIFIC COMMAND MECHANISM",
829
+ "5.3.2.7 STATUS CODES"
830
+ ],
831
+ "group": "good"
832
+ },
833
+ {
834
+ "slug": "usb-31usb-type-ctm-desktop-front-panel-cable-and-connector-implementation-document",
835
+ "pdf": "USB3p1_Front_Panel_CabCon_Implment_Doc_Rev1p1.pdf",
836
+ "pdf_count": 1,
837
+ "pages": 32,
838
+ "chars": 51388,
839
+ "section_count": 14,
840
+ "shallow_sections": 7,
841
+ "sequence_errors": 0,
842
+ "largest_section_lines": 279,
843
+ "sample_headings": [
844
+ "3. SIGNALS, PIN-OUTS AND WIRING _________________ 18",
845
+ "3.2.2 Key-B 20-Pin Connector",
846
+ "4.2.1 Raw Cable"
847
+ ],
848
+ "group": "good"
849
+ },
850
+ {
851
+ "slug": "electrical-compliance-test-specification-superspeed-usb-10-gbps-rev-10",
852
+ "pdf": "EnhancedSuperSpeedPHYComplianceTestSpec.pdf",
853
+ "pdf_count": 1,
854
+ "pages": 20,
855
+ "chars": 57159,
856
+ "section_count": 2,
857
+ "shallow_sections": 2,
858
+ "sequence_errors": 0,
859
+ "largest_section_lines": 670,
860
+ "sample_headings": [
861
+ "3. Trigger on the initial LFPS burst sent by the DUT and send LFPS signals to the DUT with the follo",
862
+ "3.1 Mock Host 7.2” >> Compliance Load Board"
863
+ ],
864
+ "group": "too_few"
865
+ },
866
+ {
867
+ "slug": "usb-power-delivery-firmware-update-specification",
868
+ "pdf": "pd_fw_update_specification_rev_1_0_20160915b.pdf",
869
+ "pdf_count": 1,
870
+ "pages": 74,
871
+ "chars": 161221,
872
+ "section_count": 97,
873
+ "shallow_sections": 26,
874
+ "sequence_errors": 0,
875
+ "largest_section_lines": 655,
876
+ "sample_headings": [
877
+ "1 Introduction",
878
+ "2.3.6 Manifestation",
879
+ "4.1.6.1 PDFU Initiator Manifestation Phase"
880
+ ],
881
+ "group": "good"
882
+ },
883
+ {
884
+ "slug": "usb-31-command-verifier-compliance-test-specification-version-072",
885
+ "pdf": null,
886
+ "pdf_count": 0,
887
+ "error": "no pdf on disk",
888
+ "group": "extraction_failure"
889
+ },
890
+ {
891
+ "slug": "media-agnostic-usb-v10a-spec-and-adopters-agreement",
892
+ "pdf": "MA USB v1.0a-final.pdf",
893
+ "pdf_count": 2,
894
+ "pages": 176,
895
+ "chars": 691698,
896
+ "section_count": 35,
897
+ "shallow_sections": 35,
898
+ "sequence_errors": 0,
899
+ "largest_section_lines": 1689,
900
+ "sample_headings": [
901
+ "1 Table of Contents",
902
+ "12 NOTE — The TransferReq packet that the MA USB host PAL transmits after not receiving a TransferR",
903
+ "23 EIP(t): (Expired Isochronous Payload) Transmitted isochronous payload with presentation time"
904
+ ],
905
+ "group": "good"
906
+ },
907
+ {
908
+ "slug": "usb-31-debug-class-specification-debug-devices-rev-10",
909
+ "pdf": "usb_debug_class_rev_1_0_final_0.pdf",
910
+ "pdf_count": 1,
911
+ "pages": 129,
912
+ "chars": 387249,
913
+ "section_count": 74,
914
+ "shallow_sections": 25,
915
+ "sequence_errors": 0,
916
+ "largest_section_lines": 1637,
917
+ "sample_headings": [
918
+ "1 Terms and Abbreviations",
919
+ "3.6 Debug Operational Model",
920
+ "5.3.2 Request Examples"
921
+ ],
922
+ "group": "good"
923
+ },
924
+ {
925
+ "slug": "inter-chip-supplement-usb-revision-30-specification-revision-102",
926
+ "pdf": "superspeed_inter-chip_supplement_1_02_19may2014.pdf",
927
+ "pdf_count": 1,
928
+ "pages": 72,
929
+ "chars": 201047,
930
+ "section_count": 0,
931
+ "shallow_sections": 0,
932
+ "sequence_errors": 0,
933
+ "largest_section_lines": 0,
934
+ "sample_headings": [],
935
+ "group": "too_few"
936
+ },
937
+ {
938
+ "slug": "electrical-compliance-test-specification-superspeed-usb-rev-10a",
939
+ "pdf": "SuperSpeedPHYComplianceTest_Spec1_0a.pdf",
940
+ "pdf_count": 1,
941
+ "pages": 13,
942
+ "chars": 23537,
943
+ "section_count": 4,
944
+ "shallow_sections": 4,
945
+ "sequence_errors": 0,
946
+ "largest_section_lines": 329,
947
+ "sample_headings": [
948
+ "1 Introduction",
949
+ "1.1 Related Documents",
950
+ "1.2 USB 2.0 Compliance"
951
+ ],
952
+ "group": "too_few"
953
+ },
954
+ {
955
+ "slug": "compliance-plan-usb-go-and-embedded-host-30",
956
+ "pdf": "OTG3andEH_Compliance_Plan_1.0.pdf",
957
+ "pdf_count": 1,
958
+ "pages": 84,
959
+ "chars": 206212,
960
+ "section_count": 114,
961
+ "shallow_sections": 37,
962
+ "sequence_errors": 0,
963
+ "largest_section_lines": 625,
964
+ "sample_headings": [
965
+ "1 Introduction",
966
+ "9.1 Link Initialization Procedure",
967
+ "9.6.1 TD5.27 OTG Descriptor (Configuration Descriptor)"
968
+ ],
969
+ "group": "good"
970
+ },
971
+ {
972
+ "slug": "usb-mass-storage-class-specification-uasp-bootability-v10-and-adopters-agreement",
973
+ "pdf": "UASP Bootability Rev 1.0.pdf",
974
+ "pdf_count": 2,
975
+ "pages": 11,
976
+ "chars": 31103,
977
+ "section_count": 22,
978
+ "shallow_sections": 22,
979
+ "sequence_errors": 0,
980
+ "largest_section_lines": 40,
981
+ "sample_headings": [
982
+ "1 Introduction",
983
+ "4 Multi-Media Command (MMC) Device Requirements",
984
+ "5.6 READ CAPACITY Command"
985
+ ],
986
+ "group": "good"
987
+ },
988
+ {
989
+ "slug": "mbim-compliance-testing-v10",
990
+ "pdf": "MBIM-Compliance-1.0.pdf",
991
+ "pdf_count": 1,
992
+ "pages": 64,
993
+ "chars": 197523,
994
+ "section_count": 8,
995
+ "shallow_sections": 8,
996
+ "sequence_errors": 0,
997
+ "largest_section_lines": 2617,
998
+ "sample_headings": [
999
+ "1 Introduction",
1000
+ "1.2 Scope",
1001
+ "1.4 Abbreviations"
1002
+ ],
1003
+ "group": "good"
1004
+ },
1005
+ {
1006
+ "slug": "mobile-broadband-interface-model-v10-errata-1-and-adopters-agreement",
1007
+ "pdf": "Compare-MBIM-v1.0-to-MBIM-v1.0-errata-1.pdf",
1008
+ "pdf_count": 3,
1009
+ "pages": 230,
1010
+ "chars": 544006,
1011
+ "section_count": 3,
1012
+ "shallow_sections": 3,
1013
+ "sequence_errors": 0,
1014
+ "largest_section_lines": 9436,
1015
+ "sample_headings": [
1016
+ "5 FUNCTIONAL CHARACTERISTICS",
1017
+ "5.1 OVERVIEW",
1018
+ "5.2 COMMUNICATION PIPES"
1019
+ ],
1020
+ "group": "too_few"
1021
+ },
1022
+ {
1023
+ "slug": "ipp-protocol-10",
1024
+ "pdf": "IPP USB Specification.pdf",
1025
+ "pdf_count": 2,
1026
+ "pages": 26,
1027
+ "chars": 48850,
1028
+ "section_count": 24,
1029
+ "shallow_sections": 24,
1030
+ "sequence_errors": 0,
1031
+ "largest_section_lines": 195,
1032
+ "sample_headings": [
1033
+ "1 Introduction",
1034
+ "3.2 Interface Set",
1035
+ "6.2 HTTP Headers"
1036
+ ],
1037
+ "group": "good"
1038
+ },
1039
+ {
1040
+ "slug": "errata-updates-cdc-v12-and-wmc-v11-dec-2012",
1041
+ "pdf": "2012-07-31-WMC110_errata.pdf",
1042
+ "pdf_count": 5,
1043
+ "pages": 72,
1044
+ "chars": 188925,
1045
+ "section_count": 150,
1046
+ "shallow_sections": 34,
1047
+ "sequence_errors": 0,
1048
+ "largest_section_lines": 192,
1049
+ "sample_headings": [
1050
+ "1 Introduction",
1051
+ "6.3.2.1 TCM Interface Descriptor",
1052
+ "6.6.1 Functional Topology"
1053
+ ],
1054
+ "group": "good"
1055
+ },
1056
+ {
1057
+ "slug": "video-class-v15-document-set",
1058
+ "pdf": "UVC 1.5 Class specification.pdf",
1059
+ "pdf_count": 13,
1060
+ "pages": 184,
1061
+ "chars": 458428,
1062
+ "section_count": 210,
1063
+ "shallow_sections": 50,
1064
+ "sequence_errors": 0,
1065
+ "largest_section_lines": 553,
1066
+ "sample_headings": [
1067
+ "1 Introduction",
1068
+ "3.9.2.3 Payload Format Descriptors",
1069
+ "4.2.2.4.2.1 Sub-bitstream Definition"
1070
+ ],
1071
+ "group": "good"
1072
+ },
1073
+ {
1074
+ "slug": "usb-go-and-embedded-host-automated-compliance-plan-go-embedded-host-supplement",
1075
+ "pdf": "otgeh_compliance_plan_1_2.pdf",
1076
+ "pdf_count": 1,
1077
+ "pages": 139,
1078
+ "chars": 303977,
1079
+ "section_count": 143,
1080
+ "shallow_sections": 29,
1081
+ "sequence_errors": 0,
1082
+ "largest_section_lines": 2887,
1083
+ "sample_headings": [
1084
+ "1 Introduction",
1085
+ "6.8.5.1 Test Procedure",
1086
+ "7.3.2.1 Test procedure"
1087
+ ],
1088
+ "group": "good"
1089
+ },
1090
+ {
1091
+ "slug": "usb-thin-card-v10-and-adopters-agreement",
1092
+ "pdf": "USB Thin Card Specification Rev1.0 2012-06-21.pdf",
1093
+ "pdf_count": 2,
1094
+ "pages": 14,
1095
+ "chars": 30608,
1096
+ "section_count": 27,
1097
+ "shallow_sections": 21,
1098
+ "sequence_errors": 0,
1099
+ "largest_section_lines": 70,
1100
+ "sample_headings": [
1101
+ "1 Introduction",
1102
+ "2.1 Generic USB Thin Card",
1103
+ "4 Mechanical Compliance Requirements"
1104
+ ],
1105
+ "group": "good"
1106
+ },
1107
+ {
1108
+ "slug": "usb-device-class-definition-audiovideo-devices-basic-device-profile-bdp",
1109
+ "pdf": "AV_BDP_v1.0.pdf",
1110
+ "pdf_count": 1,
1111
+ "pages": 28,
1112
+ "chars": 82706,
1113
+ "section_count": 75,
1114
+ "shallow_sections": 11,
1115
+ "sequence_errors": 0,
1116
+ "largest_section_lines": 126,
1117
+ "sample_headings": [
1118
+ "1. Introduction",
1119
+ "3.2.18. Output Terminal ID18 Requirements",
1120
+ "4.2.1.3.2.6. AVDD Content Control Descriptor"
1121
+ ],
1122
+ "group": "good"
1123
+ },
1124
+ {
1125
+ "slug": "device-class-definition-content-security-devices-20",
1126
+ "pdf": "ContentSecurity_v2.0.pdf",
1127
+ "pdf_count": 1,
1128
+ "pages": 28,
1129
+ "chars": 53817,
1130
+ "section_count": 43,
1131
+ "shallow_sections": 29,
1132
+ "sequence_errors": 0,
1133
+ "largest_section_lines": 55,
1134
+ "sample_headings": [
1135
+ "1. Introduction",
1136
+ "5.1. Device Descriptor",
1137
+ "5.5.1. Change_Channel_Settings Notification"
1138
+ ],
1139
+ "group": "good"
1140
+ },
1141
+ {
1142
+ "slug": "content-security-method-5-high-bandwidth-digital-content-protection-21-hdcp-21",
1143
+ "pdf": "CSM-5_v1.0.pdf",
1144
+ "pdf_count": 1,
1145
+ "pages": 25,
1146
+ "chars": 31790,
1147
+ "section_count": 30,
1148
+ "shallow_sections": 26,
1149
+ "sequence_errors": 0,
1150
+ "largest_section_lines": 34,
1151
+ "sample_headings": [
1152
+ "1. Introduction",
1153
+ "2.2.4. PUT_RESPONSE",
1154
+ "5. Authentication Sequence Diagrams"
1155
+ ],
1156
+ "group": "good"
1157
+ },
1158
+ {
1159
+ "slug": "go-and-embedded-host-supplement-usb-revision-30-specification-revision-11",
1160
+ "pdf": "usb_otg_and_eh_3-0_release_1_1_10may2012.pdf",
1161
+ "pdf_count": 1,
1162
+ "pages": 74,
1163
+ "chars": 209474,
1164
+ "section_count": 50,
1165
+ "shallow_sections": 26,
1166
+ "sequence_errors": 0,
1167
+ "largest_section_lines": 366,
1168
+ "sample_headings": [
1169
+ "1 Introduction",
1170
+ "2.5.1 RSP Support",
1171
+ "5.4.1 RSP Process"
1172
+ ],
1173
+ "group": "good"
1174
+ },
1175
+ {
1176
+ "slug": "audiovideo-device-class-v10-spec-and-adopters-agreement",
1177
+ "pdf": "AVFunction v1.0.pdf",
1178
+ "pdf_count": 5,
1179
+ "pages": 180,
1180
+ "chars": 537978,
1181
+ "section_count": 412,
1182
+ "shallow_sections": 91,
1183
+ "sequence_errors": 0,
1184
+ "largest_section_lines": 282,
1185
+ "sample_headings": [
1186
+ "1. Introduction",
1187
+ "7.9.2. Clock Domains and AVData Streaming Interfaces",
1188
+ "9.17.5. Audio Input Pin Selector Control"
1189
+ ],
1190
+ "group": "good"
1191
+ },
1192
+ {
1193
+ "slug": "media-transfer-protocol-v11-spec-and-mtp-v11-adopters-agreement",
1194
+ "pdf": "MTPforUSB-IFv1.1.pdf",
1195
+ "pdf_count": 2,
1196
+ "pages": 282,
1197
+ "chars": 573210,
1198
+ "section_count": 156,
1199
+ "shallow_sections": 36,
1200
+ "sequence_errors": 0,
1201
+ "largest_section_lines": 8228,
1202
+ "sample_headings": [
1203
+ "1 Introduction",
1204
+ "4.3.3 Transaction IDs",
1205
+ "5.1.2.2 Retrieving Device Properties"
1206
+ ],
1207
+ "group": "good"
1208
+ },
1209
+ {
1210
+ "slug": "network-control-model-devices-specification-v10-and-errata-and-adopters-agreement",
1211
+ "pdf": "NCM10-20101124-track.pdf",
1212
+ "pdf_count": 3,
1213
+ "pages": 40,
1214
+ "chars": 108111,
1215
+ "section_count": 48,
1216
+ "shallow_sections": 28,
1217
+ "sequence_errors": 0,
1218
+ "largest_section_lines": 240,
1219
+ "sample_headings": [
1220
+ "1 Table of Contents",
1221
+ "3.3.3 Datagram Formatting",
1222
+ "5.2.3 Command Set Detail Functional Descriptor"
1223
+ ],
1224
+ "group": "good"
1225
+ },
1226
+ {
1227
+ "slug": "mass-storage-class-specification-overview-14",
1228
+ "pdf": "Mass_Storage_Specification_Overview_v1.4_2-19-2010.pdf",
1229
+ "pdf_count": 1,
1230
+ "pages": 14,
1231
+ "chars": 23172,
1232
+ "section_count": 10,
1233
+ "shallow_sections": 10,
1234
+ "sequence_errors": 0,
1235
+ "largest_section_lines": 46,
1236
+ "sample_headings": [
1237
+ "1 Introduction",
1238
+ "1.3 Purpose",
1239
+ "2 Subclass Codes"
1240
+ ],
1241
+ "group": "good"
1242
+ },
1243
+ {
1244
+ "slug": "audio-device-class-spec-basic-audio-devices-v10-and-adopters-agreement",
1245
+ "pdf": "BasicAudioDevice-10.pdf",
1246
+ "pdf_count": 2,
1247
+ "pages": 83,
1248
+ "chars": 200952,
1249
+ "section_count": 149,
1250
+ "shallow_sections": 35,
1251
+ "sequence_errors": 0,
1252
+ "largest_section_lines": 311,
1253
+ "sample_headings": [
1254
+ "1 Introduction",
1255
+ "5.4.2.2 Mixer Unit Requests",
1256
+ "7.3.3.1.3 Headset Input Terminal ID1 Descriptor"
1257
+ ],
1258
+ "group": "good"
1259
+ },
1260
+ {
1261
+ "slug": "usb-attached-scsi-protocol-uasp-v10-and-adopters-agreement",
1262
+ "pdf": "UASP Rev 1.0.pdf",
1263
+ "pdf_count": 2,
1264
+ "pages": 35,
1265
+ "chars": 80400,
1266
+ "section_count": 7,
1267
+ "shallow_sections": 7,
1268
+ "sequence_errors": 0,
1269
+ "largest_section_lines": 1079,
1270
+ "sample_headings": [
1271
+ "1 Introduction",
1272
+ "1.2 Scope",
1273
+ "2 Management Overview"
1274
+ ],
1275
+ "group": "good"
1276
+ },
1277
+ {
1278
+ "slug": "standard-host-side-certified-wireless-usb-connection-context-storage-windows",
1279
+ "pdf": "WUSB_host_connection_context_v1.0.pdf",
1280
+ "pdf_count": 1,
1281
+ "pages": 11,
1282
+ "chars": 20567,
1283
+ "section_count": 11,
1284
+ "shallow_sections": 9,
1285
+ "sequence_errors": 0,
1286
+ "largest_section_lines": 181,
1287
+ "sample_headings": [
1288
+ "1 Document Properties",
1289
+ "3.1 Purpose",
1290
+ "4.2 Host Key(s):"
1291
+ ],
1292
+ "group": "good"
1293
+ },
1294
+ {
1295
+ "slug": "personal-healthcare-rev-10",
1296
+ "pdf": "healthcare_1.0.pdf",
1297
+ "pdf_count": 3,
1298
+ "pages": 33,
1299
+ "chars": 84415,
1300
+ "section_count": 41,
1301
+ "shallow_sections": 29,
1302
+ "sequence_errors": 0,
1303
+ "largest_section_lines": 177,
1304
+ "sample_headings": [
1305
+ "1 Introduction",
1306
+ "4 Operational Model",
1307
+ "5.2 Class-Defined Descriptors"
1308
+ ],
1309
+ "group": "good"
1310
+ },
1311
+ {
1312
+ "slug": "cables-and-connectors-class-20",
1313
+ "pdf": "CabConn20.pdf",
1314
+ "pdf_count": 1,
1315
+ "pages": 48,
1316
+ "chars": 108264,
1317
+ "section_count": 40,
1318
+ "shallow_sections": 21,
1319
+ "sequence_errors": 0,
1320
+ "largest_section_lines": 469,
1321
+ "sample_headings": [
1322
+ "1 Introduction",
1323
+ "4.5.1 Mated Pairs",
1324
+ "4.10.2 Test Group ‘1’"
1325
+ ],
1326
+ "group": "good"
1327
+ },
1328
+ {
1329
+ "slug": "lockable-mass-storage-specification-10-and-adopters-agreement",
1330
+ "pdf": "Msc-lock-1.0.pdf",
1331
+ "pdf_count": 2,
1332
+ "pages": 57,
1333
+ "chars": 103890,
1334
+ "section_count": 54,
1335
+ "shallow_sections": 29,
1336
+ "sequence_errors": 0,
1337
+ "largest_section_lines": 178,
1338
+ "sample_headings": [
1339
+ "1 Introduction",
1340
+ "4.1.2 Cycle Presence",
1341
+ "5.2 Device Descriptor (DD)"
1342
+ ],
1343
+ "group": "good"
1344
+ },
1345
+ {
1346
+ "slug": "usb-20-cable-and-connector-class-document",
1347
+ "pdf": "CabConn20.pdf",
1348
+ "pdf_count": 1,
1349
+ "pages": 48,
1350
+ "chars": 108264,
1351
+ "section_count": 40,
1352
+ "shallow_sections": 21,
1353
+ "sequence_errors": 0,
1354
+ "largest_section_lines": 469,
1355
+ "sample_headings": [
1356
+ "1 Introduction",
1357
+ "4.5.1 Mated Pairs",
1358
+ "4.10.2 Test Group ‘1’"
1359
+ ],
1360
+ "group": "good"
1361
+ },
1362
+ {
1363
+ "slug": "audio-devices-rev-20-and-adopters-agreement",
1364
+ "pdf": "Audio20 final.pdf",
1365
+ "pdf_count": 4,
1366
+ "pages": 144,
1367
+ "chars": 456245,
1368
+ "section_count": 325,
1369
+ "shallow_sections": 59,
1370
+ "sequence_errors": 0,
1371
+ "largest_section_lines": 221,
1372
+ "sample_headings": [
1373
+ "1 Introduction",
1374
+ "4.10.1 AS Isochronous Audio Data Endpoint Descriptors",
1375
+ "5.2.5.9.2.1 Enable Control"
1376
+ ],
1377
+ "group": "good"
1378
+ },
1379
+ {
1380
+ "slug": "video-class-v11-document-set",
1381
+ "pdf": "USB_Video_Class_1.1.pdf",
1382
+ "pdf_count": 15,
1383
+ "pages": 143,
1384
+ "chars": 346476,
1385
+ "section_count": 166,
1386
+ "shallow_sections": 45,
1387
+ "sequence_errors": 0,
1388
+ "largest_section_lines": 427,
1389
+ "sample_headings": [
1390
+ "1 Introduction",
1391
+ "3.7.2.4 Selector Unit Descriptor",
1392
+ "4.2.2.3.1 Backlight Compensation Control"
1393
+ ],
1394
+ "group": "good"
1395
+ },
1396
+ {
1397
+ "slug": "smart-card-ccid-version-11",
1398
+ "pdf": "DWG_Smart-Card_CCID_Rev110.pdf",
1399
+ "pdf_count": 1,
1400
+ "pages": 123,
1401
+ "chars": 289196,
1402
+ "section_count": 90,
1403
+ "shallow_sections": 35,
1404
+ "sequence_errors": 0,
1405
+ "largest_section_lines": 488,
1406
+ "sample_headings": [
1407
+ "1 Introduction",
1408
+ "6.1 Command Pipe, Bulk-OUT Messages",
1409
+ "7.4 TPDU Level"
1410
+ ],
1411
+ "group": "good"
1412
+ },
1413
+ {
1414
+ "slug": "smart-card-iccd-version-10",
1415
+ "pdf": "DWG_Smart-Card_USB-ICC_ICCD_rev10.pdf",
1416
+ "pdf_count": 1,
1417
+ "pages": 40,
1418
+ "chars": 105387,
1419
+ "section_count": 46,
1420
+ "shallow_sections": 21,
1421
+ "sequence_errors": 0,
1422
+ "largest_section_lines": 286,
1423
+ "sample_headings": [
1424
+ "1 Introduction",
1425
+ "5 Smart Card Device Class",
1426
+ "6.2.1.1 Specific requests"
1427
+ ],
1428
+ "group": "good"
1429
+ },
1430
+ {
1431
+ "slug": "cdc-subclass-specification-ethernet-emulation-model-devices-10",
1432
+ "pdf": "CDC_EEM10.pdf",
1433
+ "pdf_count": 1,
1434
+ "pages": 42,
1435
+ "chars": 48860,
1436
+ "section_count": 39,
1437
+ "shallow_sections": 19,
1438
+ "sequence_errors": 0,
1439
+ "largest_section_lines": 244,
1440
+ "sample_headings": [
1441
+ "1 Introduction",
1442
+ "3.3 Device Framework",
1443
+ "5.1.2.2.4 ResponseHint"
1444
+ ],
1445
+ "group": "good"
1446
+ },
1447
+ {
1448
+ "slug": "mass-storage-bootability-specification-10",
1449
+ "pdf": "usb_msc_boot_1.0.pdf",
1450
+ "pdf_count": 1,
1451
+ "pages": 19,
1452
+ "chars": 42276,
1453
+ "section_count": 27,
1454
+ "shallow_sections": 19,
1455
+ "sequence_errors": 0,
1456
+ "largest_section_lines": 100,
1457
+ "sample_headings": [
1458
+ "1 Introduction",
1459
+ "1.3.4 CDB",
1460
+ "4.1 MODE SENSE(10) Command"
1461
+ ],
1462
+ "group": "good"
1463
+ },
1464
+ {
1465
+ "slug": "device-firmware-upgrade-11-new-version-31-aug-2004",
1466
+ "pdf": "DFU_1.1.pdf",
1467
+ "pdf_count": 1,
1468
+ "pages": 47,
1469
+ "chars": 99517,
1470
+ "section_count": 28,
1471
+ "shallow_sections": 14,
1472
+ "sequence_errors": 0,
1473
+ "largest_section_lines": 1029,
1474
+ "sample_headings": [
1475
+ "1. Introduction",
1476
+ "4.1.3 Run-Time DFU Functional Descriptor",
1477
+ "6.1 Downloading"
1478
+ ],
1479
+ "group": "good"
1480
+ },
1481
+ {
1482
+ "slug": "usb-if-full-and-low-speed-electrical-and-interoperability-compliance-test",
1483
+ "pdf": "USB-IFTestProc1_3.pdf",
1484
+ "pdf_count": 1,
1485
+ "pages": 115,
1486
+ "chars": 198722,
1487
+ "section_count": 14,
1488
+ "shallow_sections": 14,
1489
+ "sequence_errors": 0,
1490
+ "largest_section_lines": 2633,
1491
+ "sample_headings": [
1492
+ "1. Device: name of the unit under test",
1493
+ "5. Test Type: system or hub or peripheral",
1494
+ "9. Check scope to make sure waveform has been captured. The scope cursors should bracket the host"
1495
+ ],
1496
+ "group": "good"
1497
+ },
1498
+ {
1499
+ "slug": "usb-interface-association-descriptor-device-class-code-and-use-model",
1500
+ "pdf": "iadclasscode_r10.pdf",
1501
+ "pdf_count": 1,
1502
+ "pages": 7,
1503
+ "chars": 15441,
1504
+ "section_count": 1,
1505
+ "shallow_sections": 1,
1506
+ "sequence_errors": 0,
1507
+ "largest_section_lines": 172,
1508
+ "sample_headings": [
1509
+ "1. Overview"
1510
+ ],
1511
+ "group": "too_few"
1512
+ },
1513
+ {
1514
+ "slug": "mass-storage-controlbulkinterrupt-cbi-specification-11",
1515
+ "pdf": "usb_msc_cbi_1.1.pdf",
1516
+ "pdf_count": 1,
1517
+ "pages": 29,
1518
+ "chars": 64160,
1519
+ "section_count": 58,
1520
+ "shallow_sections": 20,
1521
+ "sequence_errors": 0,
1522
+ "largest_section_lines": 86,
1523
+ "sample_headings": [
1524
+ "1. Introduction",
1525
+ "2.3.2.4 Indefinite Delay",
1526
+ "2.5.2 Data Out Transport"
1527
+ ],
1528
+ "group": "good"
1529
+ },
1530
+ {
1531
+ "slug": "test-measurement-class-specification",
1532
+ "pdf": "USBTMC_1_00.pdf",
1533
+ "pdf_count": 2,
1534
+ "pages": 40,
1535
+ "chars": 122896,
1536
+ "section_count": 57,
1537
+ "shallow_sections": 22,
1538
+ "sequence_errors": 0,
1539
+ "largest_section_lines": 117,
1540
+ "sample_headings": [
1541
+ "1 Introduction",
1542
+ "3.3 Bulk-IN endpoint",
1543
+ "4.2.1.3 CHECK_ABORT_BULK_OUT_STATUS"
1544
+ ],
1545
+ "group": "good"
1546
+ },
1547
+ {
1548
+ "slug": "content-security-method-2-usb-digital-transmission-content-protection",
1549
+ "pdf": "csm2_v1_0.pdf",
1550
+ "pdf_count": 1,
1551
+ "pages": 13,
1552
+ "chars": 26169,
1553
+ "section_count": 26,
1554
+ "shallow_sections": 16,
1555
+ "sequence_errors": 0,
1556
+ "largest_section_lines": 41,
1557
+ "sample_headings": [
1558
+ "1 Introduction",
1559
+ "2.1.1.1 Command Requests",
1560
+ "2.3.4 Content Security Method Descriptor"
1561
+ ],
1562
+ "group": "good"
1563
+ },
1564
+ {
1565
+ "slug": "openusbdi-specification-10",
1566
+ "pdf": "usbdi10.pdf",
1567
+ "pdf_count": 1,
1568
+ "pages": 191,
1569
+ "chars": 348119,
1570
+ "section_count": 63,
1571
+ "shallow_sections": 44,
1572
+ "sequence_errors": 0,
1573
+ "largest_section_lines": 1899,
1574
+ "sample_headings": [
1575
+ "1 Introduction",
1576
+ "4.7 Device Driver Flow",
1577
+ "5.8 USB Control Transfer Requests"
1578
+ ],
1579
+ "group": "good"
1580
+ },
1581
+ {
1582
+ "slug": "still-image-capture-device-definition-10-and-errata-16-mar-2007",
1583
+ "pdf": "usb_still_img10.pdf",
1584
+ "pdf_count": 2,
1585
+ "pages": 46,
1586
+ "chars": 91061,
1587
+ "section_count": 79,
1588
+ "shallow_sections": 27,
1589
+ "sequence_errors": 0,
1590
+ "largest_section_lines": 267,
1591
+ "sample_headings": [
1592
+ "1 Introduction",
1593
+ "5.1.1 Clear Feature",
1594
+ "6.1.1 Device"
1595
+ ],
1596
+ "group": "good"
1597
+ },
1598
+ {
1599
+ "slug": "irda-bridge-device-definition-10",
1600
+ "pdf": "usbir10.pdf",
1601
+ "pdf_count": 1,
1602
+ "pages": 30,
1603
+ "chars": 59118,
1604
+ "section_count": 60,
1605
+ "shallow_sections": 23,
1606
+ "sequence_errors": 0,
1607
+ "largest_section_lines": 137,
1608
+ "sample_headings": [
1609
+ "1. Introduction",
1610
+ "5.4.1. Inbound IrLAP Frame Delivery",
1611
+ "6.1.9. Set Feature"
1612
+ ],
1613
+ "group": "good"
1614
+ },
1615
+ {
1616
+ "slug": "content-security-method-1-basic-authentication-protocol-10",
1617
+ "pdf": "ContentSecurity_v2.0.pdf",
1618
+ "pdf_count": 1,
1619
+ "pages": 28,
1620
+ "chars": 53817,
1621
+ "section_count": 43,
1622
+ "shallow_sections": 29,
1623
+ "sequence_errors": 0,
1624
+ "largest_section_lines": 55,
1625
+ "sample_headings": [
1626
+ "1. Introduction",
1627
+ "5.1. Device Descriptor",
1628
+ "5.5.1. Change_Channel_Settings Notification"
1629
+ ],
1630
+ "group": "good"
1631
+ },
1632
+ {
1633
+ "slug": "printer-device-class-document-11",
1634
+ "pdf": "usbprint11a021811.pdf",
1635
+ "pdf_count": 1,
1636
+ "pages": 17,
1637
+ "chars": 32275,
1638
+ "section_count": 25,
1639
+ "shallow_sections": 17,
1640
+ "sequence_errors": 0,
1641
+ "largest_section_lines": 45,
1642
+ "sample_headings": [
1643
+ "1. Introduction",
1644
+ "3.3 Status Reporting",
1645
+ "4.2.2 GET_PORT_STATUS (bRequest = 1)"
1646
+ ],
1647
+ "group": "good"
1648
+ },
1649
+ {
1650
+ "slug": "usb-midi-devices-10",
1651
+ "pdf": "midi10.pdf",
1652
+ "pdf_count": 1,
1653
+ "pages": 43,
1654
+ "chars": 113092,
1655
+ "section_count": 82,
1656
+ "shallow_sections": 39,
1657
+ "sequence_errors": 0,
1658
+ "largest_section_lines": 144,
1659
+ "sample_headings": [
1660
+ "1 Introduction",
1661
+ "6.1.2.2 MIDI IN Jack Descriptor",
1662
+ "8.1 MIDI: Musical Instrument Digital Interface"
1663
+ ],
1664
+ "group": "good"
1665
+ },
1666
+ {
1667
+ "slug": "mass-storage-bulk-only-10",
1668
+ "pdf": "usbmassbulk_10.pdf",
1669
+ "pdf_count": 1,
1670
+ "pages": 22,
1671
+ "chars": 65171,
1672
+ "section_count": 20,
1673
+ "shallow_sections": 16,
1674
+ "sequence_errors": 0,
1675
+ "largest_section_lines": 607,
1676
+ "sample_headings": [
1677
+ "1 Specification Overview and Scope",
1678
+ "3.1 Bulk-Only Mass Storage Reset (class-specific request)",
1679
+ "4.1 Device Descriptor"
1680
+ ],
1681
+ "group": "good"
1682
+ },
1683
+ {
1684
+ "slug": "mass-storage-ufi-command-specification-10",
1685
+ "pdf": "usbmass-ufi10.pdf",
1686
+ "pdf_count": 1,
1687
+ "pages": 60,
1688
+ "chars": 129036,
1689
+ "section_count": 61,
1690
+ "shallow_sections": 36,
1691
+ "sequence_errors": 0,
1692
+ "largest_section_lines": 231,
1693
+ "sample_headings": [
1694
+ "1. Introduction",
1695
+ "3.6 Aborting an UFI Command",
1696
+ "4.5.6 Removable Block Access Capabilities Page (1Bh)"
1697
+ ],
1698
+ "group": "good"
1699
+ },
1700
+ {
1701
+ "slug": "audio-device-document-10",
1702
+ "pdf": "audio10.pdf",
1703
+ "pdf_count": 1,
1704
+ "pages": 130,
1705
+ "chars": 373952,
1706
+ "section_count": 212,
1707
+ "shallow_sections": 45,
1708
+ "sequence_errors": 0,
1709
+ "largest_section_lines": 492,
1710
+ "sample_headings": [
1711
+ "1 Introduction",
1712
+ "5 Requests",
1713
+ "5.2.4.2 Get Status Request"
1714
+ ],
1715
+ "group": "good"
1716
+ },
1717
+ {
1718
+ "slug": "audio-data-formats-10",
1719
+ "pdf": "frmts10.pdf",
1720
+ "pdf_count": 1,
1721
+ "pages": 31,
1722
+ "chars": 83878,
1723
+ "section_count": 54,
1724
+ "shallow_sections": 13,
1725
+ "sequence_errors": 0,
1726
+ "largest_section_lines": 129,
1727
+ "sample_headings": [
1728
+ "1 Introduction",
1729
+ "2.3.2 Audio Bitstreams",
1730
+ "2.3.8.1.2.3.6 High/Low Scaling Control"
1731
+ ],
1732
+ "group": "good"
1733
+ },
1734
+ {
1735
+ "slug": "audio-terminal-types-10",
1736
+ "pdf": "termt10.pdf",
1737
+ "pdf_count": 1,
1738
+ "pages": 12,
1739
+ "chars": 23951,
1740
+ "section_count": 13,
1741
+ "shallow_sections": 13,
1742
+ "sequence_errors": 0,
1743
+ "largest_section_lines": 63,
1744
+ "sample_headings": [
1745
+ "1 Introduction",
1746
+ "2 Terminal Types",
1747
+ "2.4 Bi-directional Terminal Types"
1748
+ ],
1749
+ "group": "good"
1750
+ },
1751
+ {
1752
+ "slug": "monitor-device-document-10",
1753
+ "pdf": "usbmon10.pdf",
1754
+ "pdf_count": 1,
1755
+ "pages": 22,
1756
+ "chars": 45199,
1757
+ "section_count": 16,
1758
+ "shallow_sections": 15,
1759
+ "sequence_errors": 0,
1760
+ "largest_section_lines": 483,
1761
+ "sample_headings": [
1762
+ "1. Introduction",
1763
+ "2. Management Overview",
1764
+ "5.2 Monitor Requests"
1765
+ ],
1766
+ "group": "good"
1767
+ },
1768
+ {
1769
+ "slug": "power-device-class-document-10",
1770
+ "pdf": "pdcv10_0.pdf",
1771
+ "pdf_count": 1,
1772
+ "pages": 66,
1773
+ "chars": 213914,
1774
+ "section_count": 52,
1775
+ "shallow_sections": 22,
1776
+ "sequence_errors": 0,
1777
+ "largest_section_lines": 1667,
1778
+ "sample_headings": [
1779
+ "1. Introduction",
1780
+ "2.3 Implementation Examples",
1781
+ "4.2 Battery System Page (x85)"
1782
+ ],
1783
+ "group": "good"
1784
+ },
1785
+ {
1786
+ "slug": "common-class-base-specification-10",
1787
+ "pdf": "usbccs10.pdf",
1788
+ "pdf_count": 1,
1789
+ "pages": 16,
1790
+ "chars": 44359,
1791
+ "section_count": 41,
1792
+ "shallow_sections": 41,
1793
+ "sequence_errors": 0,
1794
+ "largest_section_lines": 64,
1795
+ "sample_headings": [
1796
+ "1. Introduction",
1797
+ "3.4 Connection versus Functionality",
1798
+ "4.4 Functional Characteristics"
1799
+ ],
1800
+ "group": "good"
1801
+ }
1802
+ ]
1803
+ }