single-file-core 1.6.1 → 1.6.2

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 (76) hide show
  1. package/core/helper.js +5 -2
  2. package/modules/css-fonts-minifier.js +34 -13
  3. package/modules/template-formatter.js +8 -2
  4. package/package.json +10 -2
  5. package/.github/workflows/publish.yml +0 -88
  6. package/.github/workflows/test.yml +0 -31
  7. package/.github/workflows/vendor.yml +0 -39
  8. package/css-tree-build/README.md +0 -39
  9. package/css-tree-build/build.js +0 -66
  10. package/css-tree-build/package-lock.json +0 -511
  11. package/css-tree-build/package.json +0 -13
  12. package/deno.lock +0 -19
  13. package/doc/assets/singlefile-archive-byte-map.svg +0 -276
  14. package/doc/assets/singlefile-archive-lenses.svg +0 -245
  15. package/doc/singlefile-archive.md +0 -1968
  16. package/eslint.config.mjs +0 -74
  17. package/test/capture/README.md +0 -74
  18. package/test/capture/canonical-link.js +0 -50
  19. package/test/capture/common.js +0 -73
  20. package/test/capture/deferred-content-options.js +0 -71
  21. package/test/capture/dom.js +0 -26
  22. package/test/capture/maff-metadata.js +0 -205
  23. package/test/capture/resource-cap.js +0 -79
  24. package/test/capture/script-uri-sanitization.js +0 -82
  25. package/test/fixtures/README.md +0 -18
  26. package/test/fixtures/classic-digest.html +0 -5
  27. package/test/fixtures/generate-fixtures.sh +0 -31
  28. package/test/fixtures/multi-page-dedup.zip.html +0 -70
  29. package/test/fixtures/multi-page.zip.html +0 -26
  30. package/test/fixtures/single-page.zip.html +0 -11
  31. package/test/fixtures/site/multi-page/alpha.html +0 -2
  32. package/test/fixtures/site/multi-page/beta.html +0 -2
  33. package/test/fixtures/site/multi-page/index.html +0 -2
  34. package/test/fixtures/site/multi-page/sub/gamma.html +0 -2
  35. package/test/fixtures/site/multi-page-dedup/index.html +0 -2
  36. package/test/fixtures/site/multi-page-dedup/logo.png +0 -0
  37. package/test/fixtures/site/multi-page-dedup/one.html +0 -2
  38. package/test/fixtures/site/multi-page-dedup/shared.css +0 -3
  39. package/test/fixtures/site/multi-page-dedup/two.html +0 -2
  40. package/test/run.js +0 -109
  41. package/test/sfz-harness/README.md +0 -87
  42. package/test/sfz-harness/adopted-stylesheets-hook.js +0 -240
  43. package/test/sfz-harness/byte-map.js +0 -137
  44. package/test/sfz-harness/charset-round-trip.js +0 -161
  45. package/test/sfz-harness/check-determinism.js +0 -57
  46. package/test/sfz-harness/common.js +0 -154
  47. package/test/sfz-harness/content-type-sniffing.js +0 -83
  48. package/test/sfz-harness/css-fonts-minifier.js +0 -235
  49. package/test/sfz-harness/css-property-filter.js +0 -113
  50. package/test/sfz-harness/dom-stub.js +0 -13
  51. package/test/sfz-harness/entry-compression.js +0 -77
  52. package/test/sfz-harness/filename-characters.js +0 -55
  53. package/test/sfz-harness/filename-max-length.js +0 -69
  54. package/test/sfz-harness/font-face-composite.js +0 -135
  55. package/test/sfz-harness/format-rules.js +0 -617
  56. package/test/sfz-harness/gen-e2e-page.js +0 -14
  57. package/test/sfz-harness/inlined-functions.js +0 -82
  58. package/test/sfz-harness/option-wiring.js +0 -60
  59. package/test/sfz-harness/pages-archive.js +0 -318
  60. package/test/sfz-harness/pages-router.js +0 -143
  61. package/test/sfz-harness/relocation-cost.js +0 -94
  62. package/test/sfz-harness/search-triggers.js +0 -35
  63. package/test/sfz-harness/smoke.js +0 -10
  64. package/test/sfz-harness/stored-trigger.js +0 -95
  65. package/test/sfz-harness/trigger-seeds.json +0 -120
  66. package/test/sfz-harness/zip64.js +0 -77
  67. package/zip-build/README.md +0 -56
  68. package/zip-build/lib/fflate-streams.js +0 -47
  69. package/zip-build/lib/fflate.js +0 -2692
  70. package/zip-build/lib/zip-vendor-worker.js +0 -3
  71. package/zip-build/lib/zip-vendor.js +0 -9
  72. package/zip-build/lib/zip.js +0 -25
  73. package/zip-build/package-lock.json +0 -665
  74. package/zip-build/package.json +0 -15
  75. package/zip-build/reserved-property-names.json +0 -10630
  76. package/zip-build/rollup.config.js +0 -61
@@ -1,276 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2110 1218" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif">
2
- <rect width="2110" height="1218" fill="#ffffff"/>
3
- <text x="16" y="24" font-size="15" font-weight="600" fill="#1c2733">SingleFile archive byte map</text>
4
- <rect x="16" y="36" width="12" height="12" rx="2" fill="#3d7dbf"/>
5
- <text x="32" y="46" font-size="11" fill="#3a4652">HTML markup</text>
6
- <rect x="115.3" y="36" width="12" height="12" rx="2" fill="#28568a"/>
7
- <text x="131.3" y="46" font-size="11" fill="#3a4652">bootstrap script</text>
8
- <rect x="246.10000000000002" y="36" width="12" height="12" rx="2" fill="#e8a33d"/>
9
- <text x="262.1" y="46" font-size="11" fill="#3a4652">zip entries (local headers + data)</text>
10
- <rect x="490.3" y="36" width="12" height="12" rx="2" fill="#b06f1d"/>
11
- <text x="506.3" y="46" font-size="11" fill="#3a4652">zip central directory + EOCD</text>
12
- <rect x="696.7" y="36" width="12" height="12" rx="2" fill="#c14f4f"/>
13
- <text x="712.7" y="46" font-size="11" fill="#3a4652">PDF document</text>
14
- <rect x="802.3000000000001" y="36" width="12" height="12" rx="2" fill="#4f9b63"/>
15
- <text x="818.3000000000001" y="46" font-size="11" fill="#3a4652">PNG structures</text>
16
- <rect x="920.5000000000001" y="36" width="12" height="12" rx="2" fill="#8f62b8"/>
17
- <text x="936.5000000000001" y="46" font-size="11" fill="#3a4652">extra-data payload</text>
18
- <text x="16" y="86" font-size="12.5" font-weight="600" fill="#1c2733">pure zip</text>
19
- <text x="87.2" y="86" font-size="11" fill="#68727c">zip · an ordinary archive; nothing before or after it</text>
20
- <rect x="16" y="94" width="190" height="34" rx="3" fill="#e8a33d"/>
21
- <path d="M 192 93 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
22
- <text x="111" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
23
- <rect x="208" y="94" width="154" height="34" rx="3" fill="#b06f1d"/>
24
- <text x="285" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
25
- <text x="16" y="174" font-size="12.5" font-weight="600" fill="#1c2733">plain</text>
26
- <text x="65" y="174" font-size="11" fill="#68727c">zip.html · utf-8</text>
27
- <rect x="16" y="182" width="140" height="34" rx="3" fill="#3d7dbf"/>
28
- <text x="86" y="202.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
29
- <rect x="158" y="182" width="190" height="34" rx="3" fill="#28568a"/>
30
- <path d="M 334 181 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
31
- <text x="253" y="202.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
32
- <rect x="350" y="182" width="60" height="34" rx="3" fill="#3d7dbf"/>
33
- <text x="380" y="202.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
34
- <rect x="412" y="182" width="190" height="34" rx="3" fill="#e8a33d"/>
35
- <path d="M 588 181 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
36
- <text x="507" y="202.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
37
- <rect x="604" y="182" width="154" height="34" rx="3" fill="#b06f1d"/>
38
- <text x="681" y="202.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
39
- <rect x="760" y="182" width="113" height="34" rx="3" fill="#3d7dbf"/>
40
- <text x="816.5" y="202.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;&lt;/body&gt;&lt;/html&gt;</text>
41
- <path d="M 412 229 v 5 H 758 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
42
- <text x="585" y="246" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content (hidden from the HTML parser)</text>
43
- <text x="16" y="288" font-size="12.5" font-weight="600" fill="#1c2733">universal</text>
44
- <text x="94.60000000000001" y="288" font-size="11" fill="#68727c">u.zip.html · windows-1252</text>
45
- <rect x="16" y="296" width="140" height="34" rx="3" fill="#3d7dbf"/>
46
- <text x="86" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
47
- <rect x="158" y="296" width="190" height="34" rx="3" fill="#28568a"/>
48
- <path d="M 334 295 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
49
- <text x="253" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
50
- <rect x="350" y="296" width="60" height="34" rx="3" fill="#3d7dbf"/>
51
- <text x="380" y="316.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
52
- <rect x="412" y="296" width="190" height="34" rx="3" fill="#e8a33d"/>
53
- <path d="M 588 295 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
54
- <text x="507" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
55
- <rect x="604" y="296" width="154" height="34" rx="3" fill="#b06f1d"/>
56
- <text x="681" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
57
- <rect x="760" y="296" width="60" height="34" rx="3" fill="#3d7dbf"/>
58
- <text x="790" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
59
- <rect x="822" y="296" width="95" height="34" rx="3" fill="#8f62b8"/>
60
- <text x="869.5" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
61
- <rect x="919" y="296" width="96" height="34" rx="3" fill="#3d7dbf"/>
62
- <text x="967" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;/body&gt;&lt;/html&gt;</text>
63
- <path d="M 412 343 v 5 H 758 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
64
- <text x="585" y="360" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
65
- <text x="16" y="402" font-size="12.5" font-weight="600" fill="#1c2733">universal, relocated extra-data (payload &gt; 64 KB, or appended data disallowed)</text>
66
- <text x="609.3" y="402" font-size="11" fill="#68727c">u.zip.html · windows-1252 · nothing after the eocd; the wrapper comment never closes · the oversized-payload case is derived from the writer rules</text>
67
- <rect x="16" y="410" width="140" height="34" rx="3" fill="#3d7dbf"/>
68
- <text x="86" y="430.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
69
- <rect x="158" y="410" width="190" height="34" rx="3" fill="#28568a"/>
70
- <path d="M 334 409 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
71
- <text x="253" y="430.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
72
- <rect x="350" y="410" width="140" height="34" rx="3" fill="#8f62b8" opacity="0.3"/>
73
- <rect x="350" y="410" width="98" height="34" rx="3" fill="#8f62b8"/>
74
- <text x="399" y="430.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
75
- <rect x="492" y="410" width="60" height="34" rx="3" fill="#3d7dbf"/>
76
- <text x="522" y="430.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
77
- <rect x="554" y="410" width="190" height="34" rx="3" fill="#e8a33d"/>
78
- <path d="M 730 409 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
79
- <text x="649" y="430.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
80
- <rect x="746" y="410" width="154" height="34" rx="3" fill="#b06f1d"/>
81
- <text x="823" y="430.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
82
- <path d="M 554 457 v 5 H 900 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
83
- <text x="727" y="474" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content (the comment never closes)</text>
84
- <text x="16" y="516" font-size="12.5" font-weight="600" fill="#1c2733">+ PDF face</text>
85
- <text x="102" y="516" font-size="11" fill="#68727c">u.zip.html · page.pdf listed first in the central directory</text>
86
- <rect x="16" y="524" width="95" height="34" rx="3" fill="#3d7dbf"/>
87
- <text x="63.5" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
88
- <rect x="113" y="524" width="60" height="34" rx="3" fill="#3d7dbf"/>
89
- <text x="143" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;!--</text>
90
- <rect x="175" y="524" width="107" height="34" rx="3" fill="#e8a33d"/>
91
- <text x="228.5" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-local-header</text>
92
- <rect x="284" y="524" width="140" height="34" rx="3" fill="#c14f4f"/>
93
- <path d="M 410 523 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
94
- <text x="354" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-document</text>
95
- <rect x="426" y="524" width="60" height="34" rx="3" fill="#3d7dbf"/>
96
- <text x="456" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
97
- <rect x="488" y="524" width="136" height="34" rx="3" fill="#3d7dbf"/>
98
- <text x="556" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue (cont.)</text>
99
- <rect x="626" y="524" width="140" height="34" rx="3" fill="#28568a"/>
100
- <path d="M 752 523 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
101
- <text x="696" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
102
- <rect x="768" y="524" width="60" height="34" rx="3" fill="#3d7dbf"/>
103
- <text x="798" y="544.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
104
- <rect x="830" y="524" width="95" height="34" rx="3" fill="#e8a33d"/>
105
- <path d="M 911 523 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
106
- <text x="877.5" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
107
- <rect x="927" y="524" width="119" height="34" rx="3" fill="#b06f1d"/>
108
- <text x="986.5" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-central-record</text>
109
- <rect x="1048" y="524" width="154" height="34" rx="3" fill="#b06f1d"/>
110
- <text x="1125" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
111
- <rect x="1204" y="524" width="60" height="34" rx="3" fill="#3d7dbf"/>
112
- <text x="1234" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
113
- <rect x="1266" y="524" width="95" height="34" rx="3" fill="#8f62b8"/>
114
- <text x="1313.5" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
115
- <rect x="1363" y="524" width="96" height="34" rx="3" fill="#3d7dbf"/>
116
- <text x="1411" y="544.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;/body&gt;&lt;/html&gt;</text>
117
- <path d="M 175 571 v 5 H 424 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
118
- <text x="299.5" y="588" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
119
- <path d="M 830 571 v 5 H 1202 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
120
- <text x="1016" y="588" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
121
- <text x="16" y="630" font-size="12.5" font-weight="600" fill="#1c2733">+ PNG face</text>
122
- <text x="102" y="630" font-size="11" fill="#68727c">u.zip.html · well-formed PNG chunk layout; no &lt;/body&gt;&lt;/html&gt; because IEND must end the file</text>
123
- <rect x="16" y="638" width="130" height="34" rx="3" fill="#4f9b63"/>
124
- <text x="81" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">png-signature · IHDR</text>
125
- <rect x="148" y="638" width="72" height="34" rx="3" fill="#4f9b63"/>
126
- <text x="184" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "PNG"</text>
127
- <rect x="222" y="638" width="95" height="34" rx="3" fill="#3d7dbf"/>
128
- <text x="269.5" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
129
- <rect x="319" y="638" width="60" height="34" rx="3" fill="#3d7dbf"/>
130
- <text x="349" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;!--</text>
131
- <rect x="381" y="638" width="140" height="34" rx="3" fill="#4f9b63"/>
132
- <path d="M 507 637 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
133
- <text x="451" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pixel-data chunks</text>
134
- <rect x="523" y="638" width="95" height="34" rx="3" fill="#4f9b63"/>
135
- <text x="570.5" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "ZIP"</text>
136
- <rect x="620" y="638" width="60" height="34" rx="3" fill="#3d7dbf"/>
137
- <text x="650" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
138
- <rect x="682" y="638" width="136" height="34" rx="3" fill="#3d7dbf"/>
139
- <text x="750" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue (cont.)</text>
140
- <rect x="820" y="638" width="140" height="34" rx="3" fill="#28568a"/>
141
- <path d="M 946 637 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
142
- <text x="890" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
143
- <rect x="962" y="638" width="60" height="34" rx="3" fill="#3d7dbf"/>
144
- <text x="992" y="658.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
145
- <rect x="1024" y="638" width="140" height="34" rx="3" fill="#e8a33d"/>
146
- <path d="M 1150 637 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
147
- <text x="1094" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
148
- <rect x="1166" y="638" width="154" height="34" rx="3" fill="#b06f1d"/>
149
- <text x="1243" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
150
- <rect x="1322" y="638" width="60" height="34" rx="3" fill="#3d7dbf"/>
151
- <text x="1352" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
152
- <rect x="1384" y="638" width="95" height="34" rx="3" fill="#8f62b8"/>
153
- <text x="1431.5" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
154
- <rect x="1481" y="638" width="72" height="34" rx="3" fill="#4f9b63"/>
155
- <text x="1517" y="658.5" font-size="10.5" fill="#ffffff" text-anchor="middle">crc · IEND</text>
156
- <path d="M 381 685 v 5 H 618 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
157
- <text x="499.5" y="702" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
158
- <path d="M 1024 685 v 5 H 1320 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
159
- <text x="1172" y="702" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
160
- <path d="M 222 709 v 5 H 379 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
161
- <text x="300.5" y="726" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "PNG" chunk data</text>
162
- <path d="M 620 709 v 5 H 1479 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
163
- <text x="1049.5" y="726" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "ZIP" chunk data (declared length covers everything up to the trailing CRC)</text>
164
- <text x="16" y="768" font-size="12.5" font-weight="600" fill="#1c2733">+ PNG + PDF (all four faces)</text>
165
- <text x="235.20000000000002" y="768" font-size="11" fill="#68727c">u.zip.html · PDF inside the HTML inside the tEXt chunk</text>
166
- <rect x="16" y="776" width="130" height="34" rx="3" fill="#4f9b63"/>
167
- <text x="81" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">png-signature · IHDR</text>
168
- <rect x="148" y="776" width="72" height="34" rx="3" fill="#4f9b63"/>
169
- <text x="184" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "PNG"</text>
170
- <rect x="222" y="776" width="95" height="34" rx="3" fill="#3d7dbf"/>
171
- <text x="269.5" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
172
- <rect x="319" y="776" width="60" height="34" rx="3" fill="#3d7dbf"/>
173
- <text x="349" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;!--</text>
174
- <rect x="381" y="776" width="107" height="34" rx="3" fill="#e8a33d"/>
175
- <text x="434.5" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-local-header</text>
176
- <rect x="490" y="776" width="140" height="34" rx="3" fill="#c14f4f"/>
177
- <path d="M 616 775 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
178
- <text x="560" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-document</text>
179
- <rect x="632" y="776" width="60" height="34" rx="3" fill="#3d7dbf"/>
180
- <text x="662" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
181
- <rect x="694" y="776" width="136" height="34" rx="3" fill="#3d7dbf"/>
182
- <text x="762" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue (cont.)</text>
183
- <rect x="832" y="776" width="60" height="34" rx="3" fill="#3d7dbf"/>
184
- <text x="862" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;!--</text>
185
- <rect x="894" y="776" width="113" height="34" rx="3" fill="#4f9b63"/>
186
- <path d="M 993 775 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
187
- <text x="950.5" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pixel-data chunks</text>
188
- <rect x="1009" y="776" width="72" height="34" rx="3" fill="#4f9b63"/>
189
- <text x="1045" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "ZIP"</text>
190
- <rect x="1083" y="776" width="60" height="34" rx="3" fill="#3d7dbf"/>
191
- <text x="1113" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
192
- <rect x="1145" y="776" width="136" height="34" rx="3" fill="#3d7dbf"/>
193
- <text x="1213" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue (cont.)</text>
194
- <rect x="1283" y="776" width="95" height="34" rx="3" fill="#28568a"/>
195
- <path d="M 1364 775 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
196
- <text x="1330.5" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
197
- <rect x="1380" y="776" width="60" height="34" rx="3" fill="#3d7dbf"/>
198
- <text x="1410" y="796.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
199
- <rect x="1442" y="776" width="140" height="34" rx="3" fill="#e8a33d"/>
200
- <path d="M 1568 775 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
201
- <text x="1512" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
202
- <rect x="1584" y="776" width="119" height="34" rx="3" fill="#b06f1d"/>
203
- <text x="1643.5" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-central-record</text>
204
- <rect x="1705" y="776" width="154" height="34" rx="3" fill="#b06f1d"/>
205
- <text x="1782" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
206
- <rect x="1861" y="776" width="60" height="34" rx="3" fill="#3d7dbf"/>
207
- <text x="1891" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
208
- <rect x="1923" y="776" width="95" height="34" rx="3" fill="#8f62b8"/>
209
- <text x="1970.5" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
210
- <rect x="2020" y="776" width="72" height="34" rx="3" fill="#4f9b63"/>
211
- <text x="2056" y="796.5" font-size="10.5" fill="#ffffff" text-anchor="middle">crc · IEND</text>
212
- <path d="M 381 823 v 5 H 630 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
213
- <text x="505.5" y="840" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
214
- <path d="M 894 823 v 5 H 1081 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
215
- <text x="987.5" y="840" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
216
- <path d="M 1442 823 v 5 H 1859 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
217
- <text x="1650.5" y="840" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
218
- <path d="M 222 847 v 5 H 892 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
219
- <text x="557" y="864" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "PNG" chunk data</text>
220
- <path d="M 1083 847 v 5 H 2018 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
221
- <text x="1550.5" y="864" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "ZIP" chunk data (declared length covers everything up to the trailing CRC)</text>
222
- <text x="16" y="906" font-size="12.5" font-weight="600" fill="#1c2733">PDF face without HTML</text>
223
- <text x="183.4" y="906" font-size="11" fill="#68727c">zip · the PDF is prepended data; page.pdf is not an archive entry</text>
224
- <rect x="16" y="914" width="190" height="34" rx="3" fill="#c14f4f"/>
225
- <path d="M 192 913 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
226
- <text x="111" y="934.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-document</text>
227
- <rect x="208" y="914" width="190" height="34" rx="3" fill="#e8a33d"/>
228
- <path d="M 384 913 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
229
- <text x="303" y="934.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
230
- <rect x="400" y="914" width="154" height="34" rx="3" fill="#b06f1d"/>
231
- <text x="477" y="934.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
232
- <text x="16" y="994" font-size="12.5" font-weight="600" fill="#1c2733">PNG face without HTML</text>
233
- <text x="183.4" y="994" font-size="11" fill="#68727c">zip · PNG chunk layout, no markup</text>
234
- <rect x="16" y="1002" width="130" height="34" rx="3" fill="#4f9b63"/>
235
- <text x="81" y="1022.5" font-size="10.5" fill="#ffffff" text-anchor="middle">png-signature · IHDR</text>
236
- <rect x="148" y="1002" width="140" height="34" rx="3" fill="#4f9b63"/>
237
- <path d="M 274 1001 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
238
- <text x="218" y="1022.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pixel-data chunks</text>
239
- <rect x="290" y="1002" width="95" height="34" rx="3" fill="#4f9b63"/>
240
- <text x="337.5" y="1022.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "ZIP"</text>
241
- <rect x="387" y="1002" width="140" height="34" rx="3" fill="#e8a33d"/>
242
- <path d="M 513 1001 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
243
- <text x="457" y="1022.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
244
- <rect x="529" y="1002" width="154" height="34" rx="3" fill="#b06f1d"/>
245
- <text x="606" y="1022.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
246
- <rect x="685" y="1002" width="72" height="34" rx="3" fill="#4f9b63"/>
247
- <text x="721" y="1022.5" font-size="10.5" fill="#ffffff" text-anchor="middle">crc · IEND</text>
248
- <path d="M 387 1049 v 5 H 683 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
249
- <text x="535" y="1066" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "ZIP" chunk data (declared length covers everything up to the trailing CRC)</text>
250
- <text x="16" y="1108" font-size="12.5" font-weight="600" fill="#1c2733">PNG + PDF faces without HTML</text>
251
- <text x="235.20000000000002" y="1108" font-size="11" fill="#68727c">zip · the PDF is the data of its own tEXt chunk; page.pdf is not an archive entry</text>
252
- <rect x="16" y="1116" width="130" height="34" rx="3" fill="#4f9b63"/>
253
- <text x="81" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">png-signature · IHDR</text>
254
- <rect x="148" y="1116" width="72" height="34" rx="3" fill="#4f9b63"/>
255
- <text x="184" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "PDF"</text>
256
- <rect x="222" y="1116" width="140" height="34" rx="3" fill="#c14f4f"/>
257
- <path d="M 348 1115 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
258
- <text x="292" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-document</text>
259
- <rect x="364" y="1116" width="140" height="34" rx="3" fill="#4f9b63"/>
260
- <path d="M 490 1115 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
261
- <text x="434" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pixel-data chunks</text>
262
- <rect x="506" y="1116" width="95" height="34" rx="3" fill="#4f9b63"/>
263
- <text x="553.5" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "ZIP"</text>
264
- <rect x="603" y="1116" width="140" height="34" rx="3" fill="#e8a33d"/>
265
- <path d="M 729 1115 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
266
- <text x="673" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
267
- <rect x="745" y="1116" width="154" height="34" rx="3" fill="#b06f1d"/>
268
- <text x="822" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
269
- <rect x="901" y="1116" width="72" height="34" rx="3" fill="#4f9b63"/>
270
- <text x="937" y="1136.5" font-size="10.5" fill="#ffffff" text-anchor="middle">crc · IEND</text>
271
- <path d="M 222 1163 v 5 H 362 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
272
- <text x="292" y="1180" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "PDF" chunk data</text>
273
- <path d="M 603 1163 v 5 H 899 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
274
- <text x="751" y="1180" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "ZIP" chunk data (declared length covers everything up to the trailing CRC)</text>
275
- <text x="16" y="1212" font-size="9.5" fill="#68727c">Widths are schematic, not proportional; hatched ends mark elided bytes; the lighter tail of a block is reserved space that may stay unused.</text>
276
- </svg>
@@ -1,245 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1972 574" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif">
2
- <rect width="1972" height="574" fill="#ffffff"/>
3
- <text x="16" y="24" font-size="15" font-weight="600" fill="#1c2733">SingleFile archive reader lenses</text>
4
- <rect x="16" y="36" width="12" height="12" rx="2" fill="#3d7dbf"/>
5
- <text x="32" y="46" font-size="11" fill="#3a4652">HTML markup</text>
6
- <rect x="115.3" y="36" width="12" height="12" rx="2" fill="#28568a"/>
7
- <text x="131.3" y="46" font-size="11" fill="#3a4652">bootstrap script</text>
8
- <rect x="246.10000000000002" y="36" width="12" height="12" rx="2" fill="#e8a33d"/>
9
- <text x="262.1" y="46" font-size="11" fill="#3a4652">zip entries (local headers + data)</text>
10
- <rect x="490.3" y="36" width="12" height="12" rx="2" fill="#b06f1d"/>
11
- <text x="506.3" y="46" font-size="11" fill="#3a4652">zip central directory + EOCD</text>
12
- <rect x="696.7" y="36" width="12" height="12" rx="2" fill="#c14f4f"/>
13
- <text x="712.7" y="46" font-size="11" fill="#3a4652">PDF document</text>
14
- <rect x="802.3000000000001" y="36" width="12" height="12" rx="2" fill="#4f9b63"/>
15
- <text x="818.3000000000001" y="46" font-size="11" fill="#3a4652">PNG structures</text>
16
- <rect x="920.5000000000001" y="36" width="12" height="12" rx="2" fill="#8f62b8"/>
17
- <text x="936.5000000000001" y="46" font-size="11" fill="#3a4652">extra-data payload</text>
18
- <text x="16" y="86" font-size="12.5" font-weight="600" fill="#1c2733">HTML parser</text>
19
- <text x="109.4" y="86" font-size="11" fill="#68727c">one document; the wrapper tags hide every binary region, the hidden body hides the rest</text>
20
- <rect x="16" y="94" width="130" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
21
- <text x="81" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">png-signature · IHDR</text>
22
- <rect x="148" y="94" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
23
- <text x="184" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "PNG"</text>
24
- <rect x="222" y="94" width="95" height="34" rx="3" fill="#3d7dbf"/>
25
- <text x="269.5" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue</text>
26
- <rect x="319" y="94" width="60" height="34" rx="3" fill="#3d7dbf"/>
27
- <text x="349" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;!--</text>
28
- <rect x="381" y="94" width="107" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
29
- <text x="434.5" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-local-header</text>
30
- <rect x="490" y="94" width="140" height="34" rx="3" fill="#c14f4f" opacity="0.15"/>
31
- <text x="560" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-document</text>
32
- <rect x="632" y="94" width="60" height="34" rx="3" fill="#3d7dbf"/>
33
- <text x="662" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
34
- <rect x="694" y="94" width="136" height="34" rx="3" fill="#3d7dbf"/>
35
- <text x="762" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">html-prologue (cont.)</text>
36
- <rect x="832" y="94" width="60" height="34" rx="3" fill="#3d7dbf"/>
37
- <text x="862" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">&lt;!--</text>
38
- <rect x="894" y="94" width="113" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
39
- <text x="950.5" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pixel-data chunks</text>
40
- <rect x="1009" y="94" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
41
- <text x="1045" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "ZIP"</text>
42
- <rect x="1083" y="94" width="60" height="34" rx="3" fill="#3d7dbf"/>
43
- <text x="1113" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
44
- <rect x="1145" y="94" width="95" height="34" rx="3" fill="#28568a"/>
45
- <path d="M 1226 93 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
46
- <text x="1192.5" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">bootstrap</text>
47
- <rect x="1242" y="94" width="60" height="34" rx="3" fill="#3d7dbf"/>
48
- <text x="1272" y="114.5" font-size="8.5" fill="#ffffff" text-anchor="middle">&lt;!--sfz-data</text>
49
- <rect x="1304" y="94" width="140" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
50
- <text x="1374" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">zip-entries</text>
51
- <rect x="1446" y="94" width="119" height="34" rx="3" fill="#b06f1d" opacity="0.15"/>
52
- <text x="1505.5" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-central-record</text>
53
- <rect x="1567" y="94" width="154" height="34" rx="3" fill="#b06f1d" opacity="0.15"/>
54
- <text x="1644" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">central-directory · eocd</text>
55
- <rect x="1723" y="94" width="60" height="34" rx="3" fill="#3d7dbf"/>
56
- <text x="1753" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">--&gt;</text>
57
- <rect x="1785" y="94" width="95" height="34" rx="3" fill="#8f62b8"/>
58
- <text x="1832.5" y="114.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
59
- <rect x="1882" y="94" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
60
- <text x="1918" y="114.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">crc · IEND</text>
61
- <path d="M 381 141 v 5 H 630 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
62
- <text x="505.5" y="158" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
63
- <path d="M 894 141 v 5 H 1081 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
64
- <text x="987.5" y="158" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
65
- <path d="M 1304 141 v 5 H 1721 v -5" stroke="#3d7dbf" stroke-width="1.5" fill="none"/>
66
- <text x="1512.5" y="158" font-size="9.5" fill="#3d7dbf" text-anchor="middle">wrapper comment content</text>
67
- <text x="16" y="200" font-size="12.5" font-weight="600" fill="#1c2733">ZIP reader</text>
68
- <text x="102" y="200" font-size="11" fill="#68727c">finds the eocd from the end of the file, then reads only what the central directory points at</text>
69
- <rect x="16" y="208" width="130" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
70
- <text x="81" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">png-signature · IHDR</text>
71
- <rect x="148" y="208" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
72
- <text x="184" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "PNG"</text>
73
- <rect x="222" y="208" width="95" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
74
- <text x="269.5" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue</text>
75
- <rect x="319" y="208" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
76
- <text x="349" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
77
- <rect x="381" y="208" width="107" height="34" rx="3" fill="#e8a33d"/>
78
- <text x="434.5" y="228.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-local-header</text>
79
- <rect x="490" y="208" width="140" height="34" rx="3" fill="#c14f4f"/>
80
- <path d="M 616 207 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
81
- <text x="560" y="228.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-document</text>
82
- <rect x="632" y="208" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
83
- <text x="662" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
84
- <rect x="694" y="208" width="136" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
85
- <text x="762" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue (cont.)</text>
86
- <rect x="832" y="208" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
87
- <text x="862" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
88
- <rect x="894" y="208" width="113" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
89
- <text x="950.5" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pixel-data chunks</text>
90
- <rect x="1009" y="208" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
91
- <text x="1045" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "ZIP"</text>
92
- <rect x="1083" y="208" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
93
- <text x="1113" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
94
- <rect x="1145" y="208" width="95" height="34" rx="3" fill="#28568a" opacity="0.15"/>
95
- <text x="1192.5" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">bootstrap</text>
96
- <rect x="1242" y="208" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
97
- <text x="1272" y="228.5" font-size="8.5" fill="#98a2ac" text-anchor="middle">&lt;!--sfz-data</text>
98
- <rect x="1304" y="208" width="140" height="34" rx="3" fill="#e8a33d"/>
99
- <path d="M 1430 207 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
100
- <text x="1374" y="228.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
101
- <rect x="1446" y="208" width="119" height="34" rx="3" fill="#b06f1d"/>
102
- <text x="1505.5" y="228.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-central-record</text>
103
- <rect x="1567" y="208" width="154" height="34" rx="3" fill="#b06f1d"/>
104
- <text x="1644" y="228.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
105
- <rect x="1723" y="208" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
106
- <text x="1753" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
107
- <rect x="1785" y="208" width="95" height="34" rx="3" fill="#8f62b8" opacity="0.15"/>
108
- <text x="1832.5" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">extra-data</text>
109
- <rect x="1882" y="208" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
110
- <text x="1918" y="228.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">crc · IEND</text>
111
- <text x="16" y="288" font-size="12.5" font-weight="600" fill="#1c2733">PDF viewer</text>
112
- <text x="102" y="288" font-size="11" fill="#68727c">finds %PDF- starting at offset 1024 or lower; every offset in the document is relative to that position</text>
113
- <rect x="16" y="296" width="130" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
114
- <text x="81" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">png-signature · IHDR</text>
115
- <rect x="148" y="296" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
116
- <text x="184" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "PNG"</text>
117
- <rect x="222" y="296" width="95" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
118
- <text x="269.5" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue</text>
119
- <rect x="319" y="296" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
120
- <text x="349" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
121
- <rect x="381" y="296" width="107" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
122
- <text x="434.5" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-local-header</text>
123
- <rect x="490" y="296" width="140" height="34" rx="3" fill="#c14f4f"/>
124
- <path d="M 616 295 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
125
- <text x="560" y="316.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-document</text>
126
- <rect x="632" y="296" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
127
- <text x="662" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
128
- <rect x="694" y="296" width="136" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
129
- <text x="762" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue (cont.)</text>
130
- <rect x="832" y="296" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
131
- <text x="862" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
132
- <rect x="894" y="296" width="113" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
133
- <text x="950.5" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pixel-data chunks</text>
134
- <rect x="1009" y="296" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
135
- <text x="1045" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "ZIP"</text>
136
- <rect x="1083" y="296" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
137
- <text x="1113" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
138
- <rect x="1145" y="296" width="95" height="34" rx="3" fill="#28568a" opacity="0.15"/>
139
- <text x="1192.5" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">bootstrap</text>
140
- <rect x="1242" y="296" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
141
- <text x="1272" y="316.5" font-size="8.5" fill="#98a2ac" text-anchor="middle">&lt;!--sfz-data</text>
142
- <rect x="1304" y="296" width="140" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
143
- <text x="1374" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">zip-entries</text>
144
- <rect x="1446" y="296" width="119" height="34" rx="3" fill="#b06f1d" opacity="0.15"/>
145
- <text x="1505.5" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-central-record</text>
146
- <rect x="1567" y="296" width="154" height="34" rx="3" fill="#b06f1d" opacity="0.15"/>
147
- <text x="1644" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">central-directory · eocd</text>
148
- <rect x="1723" y="296" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
149
- <text x="1753" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
150
- <rect x="1785" y="296" width="95" height="34" rx="3" fill="#8f62b8" opacity="0.15"/>
151
- <text x="1832.5" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">extra-data</text>
152
- <rect x="1882" y="296" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
153
- <text x="1918" y="316.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">crc · IEND</text>
154
- <text x="16" y="376" font-size="12.5" font-weight="600" fill="#1c2733">PNG decoder</text>
155
- <text x="109.4" y="376" font-size="11" fill="#68727c">walks chunks from the signature; the declared lengths of the two tEXt chunks skip all foreign bytes</text>
156
- <rect x="16" y="384" width="130" height="34" rx="3" fill="#4f9b63"/>
157
- <text x="81" y="404.5" font-size="10.5" fill="#ffffff" text-anchor="middle">png-signature · IHDR</text>
158
- <rect x="148" y="384" width="72" height="34" rx="3" fill="#4f9b63"/>
159
- <text x="184" y="404.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "PNG"</text>
160
- <rect x="222" y="384" width="95" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
161
- <text x="269.5" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue</text>
162
- <rect x="319" y="384" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
163
- <text x="349" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
164
- <rect x="381" y="384" width="107" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
165
- <text x="434.5" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-local-header</text>
166
- <rect x="490" y="384" width="140" height="34" rx="3" fill="#c14f4f" opacity="0.15"/>
167
- <text x="560" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-document</text>
168
- <rect x="632" y="384" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
169
- <text x="662" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
170
- <rect x="694" y="384" width="136" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
171
- <text x="762" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue (cont.)</text>
172
- <rect x="832" y="384" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
173
- <text x="862" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
174
- <rect x="894" y="384" width="113" height="34" rx="3" fill="#4f9b63"/>
175
- <path d="M 993 383 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
176
- <text x="950.5" y="404.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pixel-data chunks</text>
177
- <rect x="1009" y="384" width="72" height="34" rx="3" fill="#4f9b63"/>
178
- <text x="1045" y="404.5" font-size="10.5" fill="#ffffff" text-anchor="middle">tEXt "ZIP"</text>
179
- <rect x="1083" y="384" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
180
- <text x="1113" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
181
- <rect x="1145" y="384" width="95" height="34" rx="3" fill="#28568a" opacity="0.15"/>
182
- <text x="1192.5" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">bootstrap</text>
183
- <rect x="1242" y="384" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
184
- <text x="1272" y="404.5" font-size="8.5" fill="#98a2ac" text-anchor="middle">&lt;!--sfz-data</text>
185
- <rect x="1304" y="384" width="140" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
186
- <text x="1374" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">zip-entries</text>
187
- <rect x="1446" y="384" width="119" height="34" rx="3" fill="#b06f1d" opacity="0.15"/>
188
- <text x="1505.5" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-central-record</text>
189
- <rect x="1567" y="384" width="154" height="34" rx="3" fill="#b06f1d" opacity="0.15"/>
190
- <text x="1644" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">central-directory · eocd</text>
191
- <rect x="1723" y="384" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
192
- <text x="1753" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
193
- <rect x="1785" y="384" width="95" height="34" rx="3" fill="#8f62b8" opacity="0.15"/>
194
- <text x="1832.5" y="404.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">extra-data</text>
195
- <rect x="1882" y="384" width="72" height="34" rx="3" fill="#4f9b63"/>
196
- <text x="1918" y="404.5" font-size="10.5" fill="#ffffff" text-anchor="middle">crc · IEND</text>
197
- <path d="M 222 431 v 5 H 892 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
198
- <text x="557" y="448" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "PNG" chunk data</text>
199
- <path d="M 1083 431 v 5 H 1880 v -5" stroke="#4f9b63" stroke-width="1.5" fill="none"/>
200
- <text x="1481.5" y="448" font-size="9.5" fill="#4f9b63" text-anchor="middle">tEXt "ZIP" chunk data</text>
201
- <text x="16" y="490" font-size="12.5" font-weight="600" fill="#1c2733">universal-mode extractor</text>
202
- <text x="205.60000000000002" y="490" font-size="11" fill="#68727c">re-encodes the parsed characters of the hidden zip region back into bytes, guided by extra-data</text>
203
- <rect x="16" y="498" width="130" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
204
- <text x="81" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">png-signature · IHDR</text>
205
- <rect x="148" y="498" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
206
- <text x="184" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "PNG"</text>
207
- <rect x="222" y="498" width="95" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
208
- <text x="269.5" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue</text>
209
- <rect x="319" y="498" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
210
- <text x="349" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
211
- <rect x="381" y="498" width="107" height="34" rx="3" fill="#e8a33d" opacity="0.15"/>
212
- <text x="434.5" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-local-header</text>
213
- <rect x="490" y="498" width="140" height="34" rx="3" fill="#c14f4f" opacity="0.15"/>
214
- <text x="560" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pdf-document</text>
215
- <rect x="632" y="498" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
216
- <text x="662" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
217
- <rect x="694" y="498" width="136" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
218
- <text x="762" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">html-prologue (cont.)</text>
219
- <rect x="832" y="498" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
220
- <text x="862" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">&lt;!--</text>
221
- <rect x="894" y="498" width="113" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
222
- <text x="950.5" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">pixel-data chunks</text>
223
- <rect x="1009" y="498" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
224
- <text x="1045" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">tEXt "ZIP"</text>
225
- <rect x="1083" y="498" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
226
- <text x="1113" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
227
- <rect x="1145" y="498" width="95" height="34" rx="3" fill="#28568a" opacity="0.15"/>
228
- <text x="1192.5" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">bootstrap</text>
229
- <rect x="1242" y="498" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
230
- <text x="1272" y="518.5" font-size="8.5" fill="#98a2ac" text-anchor="middle">&lt;!--sfz-data</text>
231
- <rect x="1304" y="498" width="140" height="34" rx="3" fill="#e8a33d"/>
232
- <path d="M 1430 497 l -6 36 m 5 -36 l -6 36" stroke="#ffffff" stroke-width="2.2" fill="none"/>
233
- <text x="1374" y="518.5" font-size="10.5" fill="#ffffff" text-anchor="middle">zip-entries</text>
234
- <rect x="1446" y="498" width="119" height="34" rx="3" fill="#b06f1d"/>
235
- <text x="1505.5" y="518.5" font-size="10.5" fill="#ffffff" text-anchor="middle">pdf-central-record</text>
236
- <rect x="1567" y="498" width="154" height="34" rx="3" fill="#b06f1d"/>
237
- <text x="1644" y="518.5" font-size="10.5" fill="#ffffff" text-anchor="middle">central-directory · eocd</text>
238
- <rect x="1723" y="498" width="60" height="34" rx="3" fill="#3d7dbf" opacity="0.15"/>
239
- <text x="1753" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">--&gt;</text>
240
- <rect x="1785" y="498" width="95" height="34" rx="3" fill="#8f62b8"/>
241
- <text x="1832.5" y="518.5" font-size="10.5" fill="#ffffff" text-anchor="middle">extra-data</text>
242
- <rect x="1882" y="498" width="72" height="34" rx="3" fill="#4f9b63" opacity="0.15"/>
243
- <text x="1918" y="518.5" font-size="10.5" fill="#98a2ac" text-anchor="middle">crc · IEND</text>
244
- <text x="16" y="568" font-size="9.5" fill="#68727c">Every row is the same file (the all-four-faces variant of the byte map); solid blocks are the bytes that reader interprets, faded blocks the bytes it ignores.</text>
245
- </svg>