Commit 45dac410b5f427bc8c8ea39cc04cc55ddb825671

Authored by Jay Berkenbilt
1 parent 25dd3c67

Remove broken QPDFTokenizer::expectInlineImage

ChangeLog
@@ -4,6 +4,10 @@ @@ -4,6 +4,10 @@
4 QPDF::copyForeignObject with an unused boolean parameter. If you 4 QPDF::copyForeignObject with an unused boolean parameter. If you
5 were, for some reason, calling this, just take the parameter away. 5 were, for some reason, calling this, just take the parameter away.
6 6
  7 + * Source-level incompatibility: remove the version
  8 + QPDF::copyForeignObject with an unused boolean parameter. If you
  9 + were, for some reason, calling this, just take the parameter away.
  10 +
7 * Source-level incompatibility: rename QUtil::strcasecmp to 11 * Source-level incompatibility: rename QUtil::strcasecmp to
8 QUtil::str_compare_nocase. This is a non-compatible change, but 12 QUtil::str_compare_nocase. This is a non-compatible change, but
9 QUtil::strcasecmp is hardly the most important part of qpdf's API. 13 QUtil::strcasecmp is hardly the most important part of qpdf's API.
1 Next ABI 1 Next ABI
2 ======== 2 ========
3 3
4 - * Remove version of QPDFTokenizer::expectInlineImage with no  
5 - arguments.  
6 -  
7 * Build with -fvisibility=hidden by default. Fix QPDF_DLL. See #302 4 * Build with -fvisibility=hidden by default. Fix QPDF_DLL. See #302
8 for discussion. See also https://gcc.gnu.org/wiki/Visibility 5 for discussion. See also https://gcc.gnu.org/wiki/Visibility
9 6
include/qpdf/QPDFTokenizer.hh
@@ -190,12 +190,6 @@ class QPDFTokenizer @@ -190,12 +190,6 @@ class QPDFTokenizer
190 QPDF_DLL 190 QPDF_DLL
191 void expectInlineImage(PointerHolder<InputSource> input); 191 void expectInlineImage(PointerHolder<InputSource> input);
192 192
193 - // Legacy version. New code should not call this. The token  
194 - // returned will include the EI keyword. The recipient of the  
195 - // token will have to remove it.  
196 - QPDF_DLL  
197 - void expectInlineImage();  
198 -  
199 private: 193 private:
200 // Do not implement copy or assignment 194 // Do not implement copy or assignment
201 QPDFTokenizer(QPDFTokenizer const&); 195 QPDFTokenizer(QPDFTokenizer const&);
libqpdf/QPDFTokenizer.cc
@@ -542,20 +542,6 @@ QPDFTokenizer::presentCharacter(char ch) @@ -542,20 +542,6 @@ QPDFTokenizer::presentCharacter(char ch)
542 this->m->inline_image_bytes = 0; 542 this->m->inline_image_bytes = 0;
543 this->m->state = st_token_ready; 543 this->m->state = st_token_ready;
544 } 544 }
545 - else if ((this->m->inline_image_bytes == 0) &&  
546 - (len >= 4) &&  
547 - isDelimiter(this->m->val.at(len-4)) &&  
548 - (this->m->val.at(len-3) == 'E') &&  
549 - (this->m->val.at(len-2) == 'I') &&  
550 - isDelimiter(this->m->val.at(len-1)))  
551 - {  
552 - QTC::TC("qpdf", "QPDFTokenizer found EI the old way");  
553 - this->m->val.erase(len - 1);  
554 - this->m->type = tt_inline_image;  
555 - this->m->unread_char = true;  
556 - this->m->char_to_unread = ch;  
557 - this->m->state = st_token_ready;  
558 - }  
559 } 545 }
560 else 546 else
561 { 547 {
@@ -628,20 +614,6 @@ QPDFTokenizer::presentCharacter(char ch) @@ -628,20 +614,6 @@ QPDFTokenizer::presentCharacter(char ch)
628 void 614 void
629 QPDFTokenizer::presentEOF() 615 QPDFTokenizer::presentEOF()
630 { 616 {
631 - if (this->m->state == st_inline_image)  
632 - {  
633 - size_t len = this->m->val.length();  
634 - if ((len >= 3) &&  
635 - isDelimiter(this->m->val.at(len-3)) &&  
636 - (this->m->val.at(len-2) == 'E') &&  
637 - (this->m->val.at(len-1) == 'I'))  
638 - {  
639 - QTC::TC("qpdf", "QPDFTokenizer inline image at EOF the old way");  
640 - this->m->type = tt_inline_image;  
641 - this->m->state = st_token_ready;  
642 - }  
643 - }  
644 -  
645 if (this->m->state == st_literal) 617 if (this->m->state == st_literal)
646 { 618 {
647 QTC::TC("qpdf", "QPDFTokenizer EOF reading appendable token"); 619 QTC::TC("qpdf", "QPDFTokenizer EOF reading appendable token");
@@ -670,12 +642,6 @@ QPDFTokenizer::presentEOF() @@ -670,12 +642,6 @@ QPDFTokenizer::presentEOF()
670 } 642 }
671 643
672 void 644 void
673 -QPDFTokenizer::expectInlineImage()  
674 -{  
675 - expectInlineImage(PointerHolder<InputSource>());  
676 -}  
677 -  
678 -void  
679 QPDFTokenizer::expectInlineImage(PointerHolder<InputSource> input) 645 QPDFTokenizer::expectInlineImage(PointerHolder<InputSource> input)
680 { 646 {
681 if (this->m->state != st_top) 647 if (this->m->state != st_top)
qpdf/qpdf.testcov
@@ -431,9 +431,7 @@ qpdf from_nr from repeat_nr 0 @@ -431,9 +431,7 @@ qpdf from_nr from repeat_nr 0
431 QPDF resolve duplicated page object 0 431 QPDF resolve duplicated page object 0
432 QPDF handle direct page object 0 432 QPDF handle direct page object 0
433 QPDFTokenizer finder found wrong word 0 433 QPDFTokenizer finder found wrong word 0
434 -QPDFTokenizer found EI the old way 0  
435 QPDFTokenizer found EI by byte count 0 434 QPDFTokenizer found EI by byte count 0
436 -QPDFTokenizer inline image at EOF the old way 0  
437 QPDFTokenizer found EI after more than one try 0 435 QPDFTokenizer found EI after more than one try 0
438 QPDFPageObjectHelper externalize inline image 0 436 QPDFPageObjectHelper externalize inline image 0
439 QPDFPageObjectHelper keep inline image 0 437 QPDFPageObjectHelper keep inline image 0
qpdf/qtest/qpdf.test
@@ -796,7 +796,7 @@ foreach my $d (@eii_tests) @@ -796,7 +796,7 @@ foreach my $d (@eii_tests)
796 show_ntests(); 796 show_ntests();
797 # ---------- 797 # ----------
798 $td->notify("--- Tokenizer ---"); 798 $td->notify("--- Tokenizer ---");
799 -$n_tests += 5; 799 +$n_tests += 4;
800 800
801 $td->runtest("tokenizer with no ignorable", 801 $td->runtest("tokenizer with no ignorable",
802 {$td->COMMAND => "test_tokenizer -no-ignorable tokens.pdf"}, 802 {$td->COMMAND => "test_tokenizer -no-ignorable tokens.pdf"},
@@ -808,11 +808,6 @@ $td-&gt;runtest(&quot;tokenizer&quot;, @@ -808,11 +808,6 @@ $td-&gt;runtest(&quot;tokenizer&quot;,
808 {$td->FILE => "tokens.out", $td->EXIT_STATUS => 0}, 808 {$td->FILE => "tokens.out", $td->EXIT_STATUS => 0},
809 $td->NORMALIZE_NEWLINES); 809 $td->NORMALIZE_NEWLINES);
810 810
811 -$td->runtest("tokenizer with old inline image code",  
812 - {$td->COMMAND => "test_tokenizer -old-ei tokens.pdf"},  
813 - {$td->FILE => "tokens-old-ei.out", $td->EXIT_STATUS => 0},  
814 - $td->NORMALIZE_NEWLINES);  
815 -  
816 $td->runtest("tokenizer with max_len", 811 $td->runtest("tokenizer with max_len",
817 {$td->COMMAND => "test_tokenizer -maxlen 50 tokens.pdf"}, 812 {$td->COMMAND => "test_tokenizer -maxlen 50 tokens.pdf"},
818 {$td->FILE => "tokens-maxlen.out", $td->EXIT_STATUS => 0}, 813 {$td->FILE => "tokens-maxlen.out", $td->EXIT_STATUS => 0},
qpdf/qtest/qpdf/tokens-old-ei.out deleted
1 ---- BEGIN FILE ---  
2 -0: comment: %PDF-1.5  
3 -8: space: \x0a  
4 -9: comment: %\xbf\xf7\xa2\xfe  
5 -14: space: \x0a  
6 -15: comment: %QDF-1.0  
7 -23: space: \x0a\x0a  
8 -25: comment: %comment 1  
9 -35: space: \x0d  
10 -36: comment: %comment 2  
11 -46: space: \x0d\x0a  
12 -48: comment: %comment 3  
13 -58: space: \x0a\x0a  
14 -60: integer: 1  
15 -61: space:  
16 -62: integer: 0  
17 -63: space:  
18 -64: word: obj  
19 -67: space: \x0a  
20 -68: dict_open: <<  
21 -70: space: \x0a  
22 -73: name: /Type  
23 -78: space:  
24 -79: name: /ObjStm  
25 -86: space: \x0a  
26 -89: name: /Length  
27 -96: space:  
28 -97: integer: 6020  
29 -101: space: \x0a  
30 -104: name: /N  
31 -106: space:  
32 -107: integer: 35  
33 -109: space: \x0a  
34 -112: name: /First  
35 -118: space:  
36 -119: integer: 323  
37 -122: space: \x0a  
38 -123: dict_close: >>  
39 -125: space: \x0a  
40 -126: word: stream  
41 -skipping to endstream  
42 -6153: word: endstream  
43 -6162: space: \x0a  
44 -6163: word: endobj  
45 -6169: space: \x0a\x0a  
46 -6171: comment: %% Contents for page 1  
47 -6193: space: \x0a  
48 -6194: comment: %% Original object ID: 37 0  
49 -6221: space: \x0a  
50 -6222: integer: 37  
51 -6224: space:  
52 -6225: integer: 0  
53 -6226: space:  
54 -6227: word: obj  
55 -6230: space: \x0a  
56 -6231: dict_open: <<  
57 -6233: space: \x0a  
58 -6236: name: /Length  
59 -6243: space:  
60 -6244: integer: 38  
61 -6246: space:  
62 -6247: integer: 0  
63 -6248: space:  
64 -6249: word: R  
65 -6250: space: \x0a  
66 -6251: dict_close: >>  
67 -6253: space: \x0a  
68 -6254: word: stream  
69 -skipping to endstream  
70 -6305: word: endstream  
71 -6314: space: \x0a  
72 -6315: word: endobj  
73 -6321: space: \x0a\x0a  
74 -6323: integer: 38  
75 -6325: space:  
76 -6326: integer: 0  
77 -6327: space:  
78 -6328: word: obj  
79 -6331: space: \x0a  
80 -6332: integer: 44  
81 -6334: space: \x0a  
82 -6335: word: endobj  
83 -6341: space: \x0a\x0a  
84 -6343: comment: %% Contents for page 2  
85 -6365: space: \x0a  
86 -6366: comment: %% Original object ID: 38 0  
87 -6393: space: \x0a  
88 -6394: integer: 39  
89 -6396: space:  
90 -6397: integer: 0  
91 -6398: space:  
92 -6399: word: obj  
93 -6402: space: \x0a  
94 -6403: dict_open: <<  
95 -6405: space: \x0a  
96 -6408: name: /Length  
97 -6415: space:  
98 -6416: integer: 40  
99 -6418: space:  
100 -6419: integer: 0  
101 -6420: space:  
102 -6421: word: R  
103 -6422: space: \x0a  
104 -6423: dict_close: >>  
105 -6425: space: \x0a  
106 -6426: word: stream  
107 -skipping to endstream  
108 -6832: word: endstream  
109 -6841: space: \x0a  
110 -6842: word: endobj  
111 -6848: space: \x0a\x0a  
112 -6850: integer: 40  
113 -6852: space:  
114 -6853: integer: 0  
115 -6854: space:  
116 -6855: word: obj  
117 -6858: space: \x0a  
118 -6859: integer: 399  
119 -6862: space: \x0a  
120 -6863: word: endobj  
121 -6869: space: \x0a\x0a  
122 -6871: comment: %% Contents for page 3  
123 -6893: space: \x0a  
124 -6894: comment: %% Original object ID: 39 0  
125 -6921: space: \x0a  
126 -6922: integer: 41  
127 -6924: space:  
128 -6925: integer: 0  
129 -6926: space:  
130 -6927: word: obj  
131 -6930: space: \x0a  
132 -6931: dict_open: <<  
133 -6933: space: \x0a  
134 -6936: name: /Length  
135 -6943: space:  
136 -6944: integer: 42  
137 -6946: space:  
138 -6947: integer: 0  
139 -6948: space:  
140 -6949: word: R  
141 -6950: space: \x0a  
142 -6951: dict_close: >>  
143 -6953: space: \x0a  
144 -6954: word: stream  
145 -skipping to endstream  
146 -7001: word: endstream  
147 -7010: space: \x0a  
148 -7011: word: endobj  
149 -7017: space: \x0a\x0a  
150 -7019: integer: 42  
151 -7021: space:  
152 -7022: integer: 0  
153 -7023: space:  
154 -7024: word: obj  
155 -7027: space: \x0a  
156 -7028: integer: 40  
157 -7030: space: \x0a  
158 -7031: word: endobj  
159 -7037: space: \x0a\x0a  
160 -7039: comment: %% Contents for page 4  
161 -7061: space: \x0a  
162 -7062: comment: %% Original object ID: 40 0  
163 -7089: space: \x0a  
164 -7090: integer: 43  
165 -7092: space:  
166 -7093: integer: 0  
167 -7094: space:  
168 -7095: word: obj  
169 -7098: space: \x0a  
170 -7099: dict_open: <<  
171 -7101: space: \x0a  
172 -7104: name: /Length  
173 -7111: space:  
174 -7112: integer: 44  
175 -7114: space:  
176 -7115: integer: 0  
177 -7116: space:  
178 -7117: word: R  
179 -7118: space: \x0a  
180 -7119: dict_close: >>  
181 -7121: space: \x0a  
182 -7122: word: stream  
183 -skipping to endstream  
184 -7469: word: endstream  
185 -7478: space: \x0a  
186 -7479: word: endobj  
187 -7485: space: \x0a\x0a  
188 -7487: integer: 44  
189 -7489: space:  
190 -7490: integer: 0  
191 -7491: space:  
192 -7492: word: obj  
193 -7495: space: \x0a  
194 -7496: integer: 340  
195 -7499: space: \x0a  
196 -7500: word: endobj  
197 -7506: space: \x0a\x0a  
198 -7508: comment: %% Contents for page 5  
199 -7530: space: \x0a  
200 -7531: comment: %% Original object ID: 41 0  
201 -7558: space: \x0a  
202 -7559: integer: 45  
203 -7561: space:  
204 -7562: integer: 0  
205 -7563: space:  
206 -7564: word: obj  
207 -7567: space: \x0a  
208 -7568: dict_open: <<  
209 -7570: space: \x0a  
210 -7573: name: /Length  
211 -7580: space:  
212 -7581: integer: 46  
213 -7583: space:  
214 -7584: integer: 0  
215 -7585: space:  
216 -7586: word: R  
217 -7587: space: \x0a  
218 -7588: dict_close: >>  
219 -7590: space: \x0a  
220 -7591: word: stream  
221 -skipping to endstream  
222 -7666: word: endstream  
223 -7675: space: \x0a  
224 -7676: word: endobj  
225 -7682: space: \x0a  
226 -7683: comment: %QDF: ignore_newline  
227 -7703: space: \x0a\x0a  
228 -7705: integer: 46  
229 -7707: space:  
230 -7708: integer: 0  
231 -7709: space:  
232 -7710: word: obj  
233 -7713: space: \x0a  
234 -7714: integer: 67  
235 -7716: space: \x0a  
236 -7717: word: endobj  
237 -7723: space: \x0a\x0a  
238 -7725: comment: %% Contents for page 6  
239 -7747: space: \x0a  
240 -7748: comment: %% Original object ID: 42 0  
241 -7775: space: \x0a  
242 -7776: integer: 47  
243 -7778: space:  
244 -7779: integer: 0  
245 -7780: space:  
246 -7781: word: obj  
247 -7784: space: \x0a  
248 -7785: dict_open: <<  
249 -7787: space: \x0a  
250 -7790: name: /Length  
251 -7797: space:  
252 -7798: integer: 48  
253 -7800: space:  
254 -7801: integer: 0  
255 -7802: space:  
256 -7803: word: R  
257 -7804: space: \x0a  
258 -7805: dict_close: >>  
259 -7807: space: \x0a  
260 -7808: word: stream  
261 -skipping to endstream  
262 -7859: word: endstream  
263 -7868: space: \x0a  
264 -7869: word: endobj  
265 -7875: space: \x0a\x0a  
266 -7877: integer: 48  
267 -7879: space:  
268 -7880: integer: 0  
269 -7881: space:  
270 -7882: word: obj  
271 -7885: space: \x0a  
272 -7886: integer: 44  
273 -7888: space: \x0a  
274 -7889: word: endobj  
275 -7895: space: \x0a\x0a  
276 -7897: comment: %% Contents for page 7  
277 -7919: space: \x0a  
278 -7920: comment: %% Original object ID: 43 0  
279 -7947: space: \x0a  
280 -7948: integer: 49  
281 -7950: space:  
282 -7951: integer: 0  
283 -7952: space:  
284 -7953: word: obj  
285 -7956: space: \x0a  
286 -7957: dict_open: <<  
287 -7959: space: \x0a  
288 -7962: name: /Length  
289 -7969: space:  
290 -7970: integer: 50  
291 -7972: space:  
292 -7973: integer: 0  
293 -7974: space:  
294 -7975: word: R  
295 -7976: space: \x0a  
296 -7977: dict_close: >>  
297 -7979: space: \x0a  
298 -7980: word: stream  
299 -skipping to endstream  
300 -8306: word: endstream  
301 -8315: space: \x0a  
302 -8316: word: endobj  
303 -8322: space: \x0a  
304 -8323: comment: %QDF: ignore_newline  
305 -8343: space: \x0a\x0a  
306 -8345: integer: 50  
307 -8347: space:  
308 -8348: integer: 0  
309 -8349: space:  
310 -8350: word: obj  
311 -8353: space: \x0a  
312 -8354: integer: 318  
313 -8357: space: \x0a  
314 -8358: word: endobj  
315 -8364: space: \x0a\x0a  
316 -8366: comment: %% Contents for page 8  
317 -8388: space: \x0a  
318 -8389: comment: %% Original object ID: 44 0  
319 -8416: space: \x0a  
320 -8417: integer: 51  
321 -8419: space:  
322 -8420: integer: 0  
323 -8421: space:  
324 -8422: word: obj  
325 -8425: space: \x0a  
326 -8426: dict_open: <<  
327 -8428: space: \x0a  
328 -8431: name: /Length  
329 -8438: space:  
330 -8439: integer: 52  
331 -8441: space:  
332 -8442: integer: 0  
333 -8443: space:  
334 -8444: word: R  
335 -8445: space: \x0a  
336 -8446: dict_close: >>  
337 -8448: space: \x0a  
338 -8449: word: stream  
339 -skipping to endstream  
340 -8500: word: endstream  
341 -8509: space: \x0a  
342 -8510: word: endobj  
343 -8516: space: \x0a\x0a  
344 -8518: integer: 52  
345 -8520: space:  
346 -8521: integer: 0  
347 -8522: space:  
348 -8523: word: obj  
349 -8526: space: \x0a  
350 -8527: integer: 44  
351 -8529: space: \x0a  
352 -8530: word: endobj  
353 -8536: space: \x0a\x0a  
354 -8538: comment: %% Contents for page 9  
355 -8560: space: \x0a  
356 -8561: comment: %% Original object ID: 45 0  
357 -8588: space: \x0a  
358 -8589: integer: 53  
359 -8591: space:  
360 -8592: integer: 0  
361 -8593: space:  
362 -8594: word: obj  
363 -8597: space: \x0a  
364 -8598: dict_open: <<  
365 -8600: space: \x0a  
366 -8603: name: /Length  
367 -8610: space:  
368 -8611: integer: 54  
369 -8613: space:  
370 -8614: integer: 0  
371 -8615: space:  
372 -8616: word: R  
373 -8617: space: \x0a  
374 -8618: dict_close: >>  
375 -8620: space: \x0a  
376 -8621: word: stream  
377 -skipping to endstream  
378 -8672: word: endstream  
379 -8681: space: \x0a  
380 -8682: word: endobj  
381 -8688: space: \x0a\x0a  
382 -8690: integer: 54  
383 -8692: space:  
384 -8693: integer: 0  
385 -8694: space:  
386 -8695: word: obj  
387 -8698: space: \x0a  
388 -8699: integer: 44  
389 -8701: space: \x0a  
390 -8702: word: endobj  
391 -8708: space: \x0a\x0a  
392 -8710: comment: %% Contents for page 10  
393 -8733: space: \x0a  
394 -8734: comment: %% Original object ID: 46 0  
395 -8761: space: \x0a  
396 -8762: integer: 55  
397 -8764: space:  
398 -8765: integer: 0  
399 -8766: space:  
400 -8767: word: obj  
401 -8770: space: \x0a  
402 -8771: dict_open: <<  
403 -8773: space: \x0a  
404 -8776: name: /Length  
405 -8783: space:  
406 -8784: integer: 56  
407 -8786: space:  
408 -8787: integer: 0  
409 -8788: space:  
410 -8789: word: R  
411 -8790: space: \x0a  
412 -8791: dict_close: >>  
413 -8793: space: \x0a  
414 -8794: word: stream  
415 -skipping to endstream  
416 -8845: word: endstream  
417 -8854: space: \x0a  
418 -8855: word: endobj  
419 -8861: space: \x0a\x0a  
420 -8863: integer: 56  
421 -8865: space:  
422 -8866: integer: 0  
423 -8867: space:  
424 -8868: word: obj  
425 -8871: space: \x0a  
426 -8872: integer: 44  
427 -8874: space: \x0a  
428 -8875: word: endobj  
429 -8881: space: \x0a\x0a  
430 -8883: comment: %% Contents for page 11  
431 -8906: space: \x0a  
432 -8907: comment: %% Original object ID: 47 0  
433 -8934: space: \x0a  
434 -8935: integer: 57  
435 -8937: space:  
436 -8938: integer: 0  
437 -8939: space:  
438 -8940: word: obj  
439 -8943: space: \x0a  
440 -8944: dict_open: <<  
441 -8946: space: \x0a  
442 -8949: name: /Length  
443 -8956: space:  
444 -8957: integer: 58  
445 -8959: space:  
446 -8960: integer: 0  
447 -8961: space:  
448 -8962: word: R  
449 -8963: space: \x0a  
450 -8964: dict_close: >>  
451 -8966: space: \x0a  
452 -8967: word: stream  
453 -skipping to endstream  
454 -9018: word: endstream  
455 -9027: space: \x0a  
456 -9028: word: endobj  
457 -9034: space: \x0a\x0a  
458 -9036: integer: 58  
459 -9038: space:  
460 -9039: integer: 0  
461 -9040: space:  
462 -9041: word: obj  
463 -9044: space: \x0a  
464 -9045: integer: 44  
465 -9047: space: \x0a  
466 -9048: word: endobj  
467 -9054: space: \x0a\x0a  
468 -9056: integer: 59  
469 -9058: space:  
470 -9059: integer: 0  
471 -9060: space:  
472 -9061: word: obj  
473 -9064: space: \x0a  
474 -9065: dict_open: <<  
475 -9067: space: \x0a  
476 -9070: name: /Type  
477 -9075: space:  
478 -9076: name: /XRef  
479 -9081: space: \x0a  
480 -9084: name: /Length  
481 -9091: space:  
482 -9092: integer: 240  
483 -9095: space: \x0a  
484 -9098: name: /W  
485 -9100: space:  
486 -9101: array_open: [  
487 -9102: space:  
488 -9103: integer: 1  
489 -9104: space:  
490 -9105: integer: 2  
491 -9106: space:  
492 -9107: integer: 1  
493 -9108: space:  
494 -9109: array_close: ]  
495 -9110: space: \x0a  
496 -9113: name: /Root  
497 -9118: space:  
498 -9119: integer: 2  
499 -9120: space:  
500 -9121: integer: 0  
501 -9122: space:  
502 -9123: word: R  
503 -9124: space: \x0a  
504 -9127: name: /Size  
505 -9132: space:  
506 -9133: integer: 60  
507 -9135: space: \x0a  
508 -9138: name: /ID  
509 -9141: space:  
510 -9142: array_open: [  
511 -9143: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>)  
512 -9177: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>)  
513 -9211: array_close: ]  
514 -9212: space: \x0a  
515 -9213: dict_close: >>  
516 -9215: space: \x0a  
517 -9216: word: stream  
518 -skipping to endstream  
519 -9464: word: endstream  
520 -9473: space: \x0a  
521 -9474: word: endobj  
522 -9480: space: \x0a\x0a  
523 -9482: word: startxref  
524 -9491: space: \x0a  
525 -9492: integer: 9056  
526 -9496: space: \x0a  
527 -9497: comment: %%EOF  
528 -9502: space: \x0a  
529 -9503: eof  
530 ---- END FILE ---  
531 ---- BEGIN PAGE 1 ---  
532 -0: word: BT  
533 -2: space: \x0a  
534 -5: name: /F1  
535 -8: space:  
536 -9: integer: 24  
537 -11: space:  
538 -12: word: Tf  
539 -14: space: \x0a  
540 -17: integer: 72  
541 -19: space:  
542 -20: integer: 720  
543 -23: space:  
544 -24: word: Td  
545 -26: space: \x0a  
546 -29: string: Potato (raw: (Potato))  
547 -37: space:  
548 -38: word: Tj  
549 -40: space: \x0a  
550 -41: word: ET  
551 -43: space: \x0a  
552 -44: eof  
553 ---- END PAGE 1 ---  
554 ---- BEGIN PAGE 2 ---  
555 -0: word: BT  
556 -2: space: \x0a  
557 -5: name: /F1  
558 -8: space:  
559 -9: integer: 24  
560 -11: space:  
561 -12: word: Tf  
562 -14: space: \x0a  
563 -17: integer: 72  
564 -19: space:  
565 -20: integer: 720  
566 -23: space:  
567 -24: word: Td  
568 -26: space: \x0a  
569 -29: string: Potato (raw: (Potato))  
570 -37: space:  
571 -38: word: Tj  
572 -40: space: \x0a  
573 -41: word: ET  
574 -43: space: \x0a  
575 -44: word: BI  
576 -46: space: \x0a  
577 -47: name: /CS  
578 -50: space:  
579 -51: name: /G  
580 -53: name: /W  
581 -55: space:  
582 -56: integer: 66  
583 -58: name: /H  
584 -60: space:  
585 -61: integer: 47  
586 -63: name: /BPC  
587 -67: space:  
588 -68: integer: 8  
589 -69: name: /F  
590 -71: name: /Fl  
591 -74: name: /DP  
592 -77: dict_open: <<  
593 -79: name: /Predictor  
594 -89: space:  
595 -90: integer: 15  
596 -92: name: /Columns  
597 -100: space:  
598 -101: integer: 66  
599 -103: dict_close: >>  
600 -105: space: \x0a  
601 -106: word: ID  
602 -109: inline-image: x\x9c\xc5\xd6I\x0e\xc3 \x0c\x05P|\xffC;U\xc8`\xc0\xd37\x91Z\xa9\x0b\xa6\x17\x02\xc4\x98\xda\xe6\x8f\x1b}D\xf0\xef_\xb4\xf8\x1c\xc9W\xa9\x84\x9c\xc4-\x94\x88>\xff\x87\xc0\x8d>\x94^\x01&\xae\xa1u\xe2]\x80"!\x87\x95\x08\x96\x05*\xac&\x8fE|Sy\xae \xf0d-\x80<\x9d\x19B\x010B\x05\xfa@N\x11\xea+<\x1fhl\xe8K\xd0\xee/56L\xa0\x89\x90\xe3\x19\x1e \xa3\x96\xb9\xa6>0\x06>\x15Y\x81\xf9!c\xec\\x0eY\x0c\xd8\x0f%Y\xf0\x01\xa5\xd68?&\xa0\xd6\xeb\x88}j\x92\xfb\xe8\x1d;\xab\x8d3\x9d\xc2\xd6l\x14p\xdbsH\xf6\xfbt\xfa\x01Q\x02\xd8Tt*h\xccU\xfa\xe3w\x07\xcd\xd5\xd0%\xa8)p\x96\xb3"\x95DiRj\xb9\x96D\x18YNU\x11\xd3\xd9Av\x92F\xe0&\x0d\x90\xcd\xd4u#c\x95\xc6W\x09\xf4\xdf\x89\x03W\x93O\x0d\x0aEI  
603 -354: space: \x0a  
604 -355: word: BT  
605 -357: space: \x0a  
606 -360: name: /F1  
607 -363: space:  
608 -364: integer: 24  
609 -366: space:  
610 -367: word: Tf  
611 -369: space: \x0a  
612 -372: integer: 72  
613 -374: space:  
614 -375: integer: 720  
615 -378: space:  
616 -379: word: Td  
617 -381: space: \x0a  
618 -384: string: Potato (raw: (Potato))  
619 -392: space:  
620 -393: word: Tj  
621 -395: space: \x0a  
622 -396: word: ET  
623 -398: space: \x0a  
624 -399: eof  
625 ---- END PAGE 2 ---  
626 ---- BEGIN PAGE 3 ---  
627 -0: word: BT  
628 -2: space: \x0a  
629 -5: name: /F1  
630 -8: space:  
631 -9: integer: 24  
632 -11: space:  
633 -12: word: Tf  
634 -14: space: \x0a  
635 -17: integer: 72  
636 -19: space:  
637 -20: integer: 720  
638 -23: space:  
639 -24: word: Td  
640 -26: space: \x0a  
641 -29: bad: (Potato\x0aET\x0a (EOF while reading token)  
642 -40: eof  
643 ---- END PAGE 3 ---  
644 ---- BEGIN PAGE 4 ---  
645 -0: word: BT  
646 -2: space: \x0a  
647 -5: name: /F1  
648 -8: space:  
649 -9: integer: 24  
650 -11: space:  
651 -12: word: Tf  
652 -14: space: \x0a  
653 -17: string: \xfe\xeb (raw: <feeb>)  
654 -23: space: \x0a  
655 -26: string: \xab\xcd (raw: <ab\x0aCD>)  
656 -33: space: \x0a  
657 -36: string: quack (raw: (qu\\x0d\x0aack))  
658 -46: space: \x0a  
659 -49: string: quack (raw: (qu\\x0aack))  
660 -58: space: \x0a  
661 -61: string: quack (raw: (qu\\x0dack))  
662 -70: space: \x0a  
663 -73: string: qu\x0aack (raw: (qu\\x0d\x0a\x0dack))  
664 -84: space: \x0a  
665 -87: string: qu\x0aack (raw: (qu\\x0d\x0dack))  
666 -97: space: \x0a  
667 -100: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\\x0a\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack))  
668 -117: space: \x0a  
669 -120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack))  
670 -135: space: \x0a  
671 -138: integer: 72  
672 -140: space:  
673 -141: integer: 720  
674 -144: space:  
675 -145: word: Td  
676 -147: space: \x0a  
677 -150: real: 3.14  
678 -154: space: \x0a  
679 -157: real: 3.  
680 -159: space: \x0a  
681 -162: real: .14  
682 -165: space: \x0a  
683 -168: real: +3.14  
684 -173: space: \x0a  
685 -176: real: +3.  
686 -179: space: \x0a  
687 -182: real: +.14  
688 -186: space: \x0a  
689 -189: real: -3.14  
690 -194: space: \x0a  
691 -197: real: -3.  
692 -200: space: \x0a  
693 -203: real: -.14  
694 -207: space: \x0a  
695 -210: integer: +16059  
696 -216: space: \x0a  
697 -219: integer: -16059  
698 -225: space: \x0a  
699 -228: word: +.  
700 -230: space: \x0a  
701 -233: bad: <fade\x0aET (invalid character (T) in hexstring)  
702 -241: space: \x0a  
703 -242: bad: ) (unexpected ))  
704 -243: bad: > (unexpected >)  
705 -244: word: quack  
706 -249: space:  
707 -250: bad: /name#oops (invalid name token)  
708 -260: space:  
709 -261: name: /name (raw: /n#61me)  
710 -268: space:  
711 -269: word: one  
712 -272: space:  
713 -273: bool: true  
714 -277: space:  
715 -278: word: two  
716 -281: space:  
717 -282: bool: false  
718 -287: space:  
719 -288: word: three  
720 -293: space:  
721 -294: null: null  
722 -298: space:  
723 -299: word: four  
724 -303: space: \x0a  
725 -304: word: !@#$^&  
726 -310: brace_open: {  
727 -311: brace_close: }  
728 -312: word: *-_+=  
729 -317: space: \x0a  
730 -318: word: abc123def3.14true  
731 -335: space: \x0a  
732 -336: bad: <ff\x0a (EOF while reading token)  
733 -340: eof  
734 ---- END PAGE 4 ---  
735 ---- BEGIN PAGE 5 ---  
736 -0: word: BT  
737 -2: space: \x0a  
738 -5: bad: /F#00x (null character not allowed in name token)  
739 -11: space:  
740 -12: integer: 24  
741 -14: space:  
742 -15: word: Tf  
743 -17: space: \x0a  
744 -20: integer: 72  
745 -22: space:  
746 -23: integer: 720  
747 -26: space:  
748 -27: word: Td  
749 -29: space: \x0a  
750 -32: string: P\x00tat\x00 (raw: (P\x00tat\000))  
751 -43: space:  
752 -44: word: Tj  
753 -46: space: \x0a  
754 -47: word: ET  
755 -49: space: \x0a\x00\x0a  
756 -52: name: /ThisMustBeLast  
757 -67: eof  
758 ---- END PAGE 5 ---  
759 ---- BEGIN PAGE 6 ---  
760 -0: word: ID  
761 -EI not found; resuming normal scanning  
762 -3: space:  
763 -5: name: /F1  
764 -8: space:  
765 -9: integer: 24  
766 -11: space:  
767 -12: word: Tf  
768 -14: space: \x0a  
769 -17: integer: 72  
770 -19: space:  
771 -20: integer: 720  
772 -23: space:  
773 -24: word: Td  
774 -26: space: \x0a  
775 -29: string: Potato (raw: (Potato))  
776 -37: space:  
777 -38: word: Tj  
778 -40: space: \x0a  
779 -41: word: ET  
780 -43: space: \x0a  
781 -44: eof  
782 ---- END PAGE 6 ---  
783 ---- BEGIN PAGE 7 ---  
784 -0: name: /potato  
785 -7: space: \x0a  
786 -8: word: BI  
787 -10: space: \x0a  
788 -11: name: /CS  
789 -14: space:  
790 -15: name: /G  
791 -17: name: /W  
792 -19: space:  
793 -20: integer: 66  
794 -22: name: /H  
795 -24: space:  
796 -25: integer: 47  
797 -27: name: /BPC  
798 -31: space:  
799 -32: integer: 8  
800 -33: name: /F  
801 -35: name: /Fl  
802 -38: name: /DP  
803 -41: dict_open: <<  
804 -43: name: /Predictor  
805 -53: space:  
806 -54: integer: 15  
807 -56: name: /Columns  
808 -64: space:  
809 -65: integer: 66  
810 -67: dict_close: >>  
811 -69: space: \x0a  
812 -70: word: ID  
813 -73: inline-image: x\x9c\xc5\xd6I\x0e\xc3 \x0c\x05P|\xffC;U\xc8`\xc0\xd37\x91Z\xa9\x0b\xa6\x17\x02\xc4\x98\xda\xe6\x8f\x1b}D\xf0\xef_\xb4\xf8\x1c\xc9W\xa9\x84\x9c\xc4-\x94\x88>\xff\x87\xc0\x8d>\x94^\x01&\xae\xa1u\xe2]\x80"!\x87\x95\x08\x96\x05*\xac&\x8fE|Sy\xae \xf0d-\x80<\x9d\x19B\x010B\x05\xfa@N\x11\xea+<\x1fhl\xe8K\xd0\xee/56L\xa0\x89\x90\xe3\x19\x1e \xa3\x96\xb9\xa6>0\x06>\x15Y\x81\xf9!c\xec\\x0eY\x0c\xd8\x0f%Y\xf0\x01\xa5\xd68?&\xa0\xd6\xeb\x88}j\x92\xfb\xe8\x1d;\xab\x8d3\x9d\xc2\xd6l\x14p\xdbsH\xf6\xfbt\xfa\x01Q\x02\xd8Tt*h\xccU\xfa\xe3w\x07\xcd\xd5\xd0%\xa8)p\x96\xb3"\x95DiRj\xb9\x96D\x18YNU\x11\xd3\xd9Av\x92F\xe0&\x0d\x90\xcd\xd4u#c\x95\xc6W\x09\xf4\xdf\x89\x03W\x93O\x0d\x0aEI  
814 -318: eof  
815 ---- END PAGE 7 ---  
816 ---- BEGIN PAGE 8 ---  
817 -0: word: BT  
818 -2: space: \x0a  
819 -5: name: /F1  
820 -8: space:  
821 -9: integer: 24  
822 -11: space:  
823 -12: word: Tf  
824 -14: space: \x0a  
825 -17: integer: 72  
826 -19: space:  
827 -20: integer: 720  
828 -23: space:  
829 -24: word: Td  
830 -26: space: \x0a  
831 -29: string: Potato (raw: (Potato))  
832 -37: space:  
833 -38: word: Tj  
834 -40: space: \x0a  
835 -41: word: ET  
836 -43: space: \x0a  
837 -44: eof  
838 ---- END PAGE 8 ---  
839 ---- BEGIN PAGE 9 ---  
840 -0: word: BT  
841 -2: space: \x0a  
842 -5: name: /F1  
843 -8: space:  
844 -9: integer: 24  
845 -11: space:  
846 -12: word: Tf  
847 -14: space: \x0a  
848 -17: integer: 72  
849 -19: space:  
850 -20: integer: 720  
851 -23: space:  
852 -24: word: Td  
853 -26: space: \x0a  
854 -29: string: Potato (raw: (Potato))  
855 -37: space:  
856 -38: word: Tj  
857 -40: space: \x0a  
858 -41: word: ET  
859 -43: space: \x0a  
860 -44: eof  
861 ---- END PAGE 9 ---  
862 ---- BEGIN PAGE 10 ---  
863 -0: word: BT  
864 -2: space: \x0a  
865 -5: name: /F1  
866 -8: space:  
867 -9: integer: 24  
868 -11: space:  
869 -12: word: Tf  
870 -14: space: \x0a  
871 -17: integer: 72  
872 -19: space:  
873 -20: integer: 720  
874 -23: space:  
875 -24: word: Td  
876 -26: space: \x0a  
877 -29: string: Potato (raw: (Potato))  
878 -37: space:  
879 -38: word: Tj  
880 -40: space: \x0a  
881 -41: word: ET  
882 -43: space: \x0a  
883 -44: eof  
884 ---- END PAGE 10 ---  
885 ---- BEGIN PAGE 11 ---  
886 -0: word: BT  
887 -2: space: \x0a  
888 -5: name: /F1  
889 -8: space:  
890 -9: integer: 24  
891 -11: space:  
892 -12: word: Tf  
893 -14: space: \x0a  
894 -17: integer: 72  
895 -19: space:  
896 -20: integer: 720  
897 -23: space:  
898 -24: word: Td  
899 -26: space: \x0a  
900 -29: string: Potato (raw: (Potato))  
901 -37: space:  
902 -38: word: Tj  
903 -40: space: \x0a  
904 -41: word: ET  
905 -43: space: \x0a  
906 -44: eof  
907 ---- END PAGE 11 ---  
908 ---- BEGIN OBJECT STREAM 1 ---  
909 -0: integer: 2  
910 -1: space:  
911 -2: integer: 0  
912 -3: space: \x0a  
913 -4: integer: 3  
914 -5: space:  
915 -6: integer: 97  
916 -8: space: \x0a  
917 -9: integer: 4  
918 -10: space:  
919 -11: integer: 318  
920 -14: space: \x0a  
921 -15: integer: 5  
922 -16: space:  
923 -17: integer: 566  
924 -20: space: \x0a  
925 -21: integer: 6  
926 -22: space:  
927 -23: integer: 814  
928 -26: space: \x0a  
929 -27: integer: 7  
930 -28: space:  
931 -29: integer: 1062  
932 -33: space: \x0a  
933 -34: integer: 8  
934 -35: space:  
935 -36: integer: 1310  
936 -40: space: \x0a  
937 -41: integer: 9  
938 -42: space:  
939 -43: integer: 1558  
940 -47: space: \x0a  
941 -48: integer: 10  
942 -50: space:  
943 -51: integer: 1808  
944 -55: space: \x0a  
945 -56: integer: 11  
946 -58: space:  
947 -59: integer: 2058  
948 -63: space: \x0a  
949 -64: integer: 12  
950 -66: space:  
951 -67: integer: 2309  
952 -71: space: \x0a  
953 -72: integer: 13  
954 -74: space:  
955 -75: integer: 2560  
956 -79: space: \x0a  
957 -80: integer: 14  
958 -82: space:  
959 -83: integer: 2812  
960 -87: space: \x0a  
961 -88: integer: 15  
962 -90: space:  
963 -91: integer: 3064  
964 -95: space: \x0a  
965 -96: integer: 16  
966 -98: space:  
967 -99: integer: 3228  
968 -103: space: \x0a  
969 -104: integer: 17  
970 -106: space:  
971 -107: integer: 3309  
972 -111: space: \x0a  
973 -112: integer: 18  
974 -114: space:  
975 -115: integer: 3473  
976 -119: space: \x0a  
977 -120: integer: 19  
978 -122: space:  
979 -123: integer: 3554  
980 -127: space: \x0a  
981 -128: integer: 20  
982 -130: space:  
983 -131: integer: 3718  
984 -135: space: \x0a  
985 -136: integer: 21  
986 -138: space:  
987 -139: integer: 3799  
988 -143: space: \x0a  
989 -144: integer: 22  
990 -146: space:  
991 -147: integer: 3963  
992 -151: space: \x0a  
993 -152: integer: 23  
994 -154: space:  
995 -155: integer: 4044  
996 -159: space: \x0a  
997 -160: integer: 24  
998 -162: space:  
999 -163: integer: 4208  
1000 -167: space: \x0a  
1001 -168: integer: 25  
1002 -170: space:  
1003 -171: integer: 4289  
1004 -175: space: \x0a  
1005 -176: integer: 26  
1006 -178: space:  
1007 -179: integer: 4453  
1008 -183: space: \x0a  
1009 -184: integer: 27  
1010 -186: space:  
1011 -187: integer: 4534  
1012 -191: space: \x0a  
1013 -192: integer: 28  
1014 -194: space:  
1015 -195: integer: 4698  
1016 -199: space: \x0a  
1017 -200: integer: 29  
1018 -202: space:  
1019 -203: integer: 4779  
1020 -207: space: \x0a  
1021 -208: integer: 30  
1022 -210: space:  
1023 -211: integer: 4943  
1024 -215: space: \x0a  
1025 -216: integer: 31  
1026 -218: space:  
1027 -219: integer: 5024  
1028 -223: space: \x0a  
1029 -224: integer: 32  
1030 -226: space:  
1031 -227: integer: 5188  
1032 -231: space: \x0a  
1033 -232: integer: 33  
1034 -234: space:  
1035 -235: integer: 5269  
1036 -239: space: \x0a  
1037 -240: integer: 34  
1038 -242: space:  
1039 -243: integer: 5433  
1040 -247: space: \x0a  
1041 -248: integer: 35  
1042 -250: space:  
1043 -251: integer: 5514  
1044 -255: space: \x0a  
1045 -256: integer: 36  
1046 -258: space:  
1047 -259: integer: 5678  
1048 -263: space: \x0a  
1049 -264: comment: %% Object stream: object 2, index 0; original object ID: 2  
1050 -322: space: \x0a  
1051 -323: dict_open: <<  
1052 -325: space: \x0a  
1053 -328: name: /Pages  
1054 -334: space:  
1055 -335: integer: 3  
1056 -336: space:  
1057 -337: integer: 0  
1058 -338: space:  
1059 -339: word: R  
1060 -340: space: \x0a  
1061 -343: name: /Type  
1062 -348: space:  
1063 -349: name: /Catalog  
1064 -357: space: \x0a  
1065 -358: dict_close: >>  
1066 -360: space: \x0a  
1067 -361: comment: %% Object stream: object 3, index 1; original object ID: 3  
1068 -419: space: \x0a  
1069 -420: dict_open: <<  
1070 -422: space: \x0a  
1071 -425: name: /Count  
1072 -431: space:  
1073 -432: integer: 11  
1074 -434: space: \x0a  
1075 -437: name: /Kids  
1076 -442: space:  
1077 -443: array_open: [  
1078 -444: space: \x0a  
1079 -449: integer: 4  
1080 -450: space:  
1081 -451: integer: 0  
1082 -452: space:  
1083 -453: word: R  
1084 -454: space: \x0a  
1085 -459: integer: 5  
1086 -460: space:  
1087 -461: integer: 0  
1088 -462: space:  
1089 -463: word: R  
1090 -464: space: \x0a  
1091 -469: integer: 6  
1092 -470: space:  
1093 -471: integer: 0  
1094 -472: space:  
1095 -473: word: R  
1096 -474: space: \x0a  
1097 -479: integer: 7  
1098 -480: space:  
1099 -481: integer: 0  
1100 -482: space:  
1101 -483: word: R  
1102 -484: space: \x0a  
1103 -489: integer: 8  
1104 -490: space:  
1105 -491: integer: 0  
1106 -492: space:  
1107 -493: word: R  
1108 -494: space: \x0a  
1109 -499: integer: 9  
1110 -500: space:  
1111 -501: integer: 0  
1112 -502: space:  
1113 -503: word: R  
1114 -504: space: \x0a  
1115 -509: integer: 10  
1116 -511: space:  
1117 -512: integer: 0  
1118 -513: space:  
1119 -514: word: R  
1120 -515: space: \x0a  
1121 -520: integer: 11  
1122 -522: space:  
1123 -523: integer: 0  
1124 -524: space:  
1125 -525: word: R  
1126 -526: space: \x0a  
1127 -531: integer: 12  
1128 -533: space:  
1129 -534: integer: 0  
1130 -535: space:  
1131 -536: word: R  
1132 -537: space: \x0a  
1133 -542: integer: 13  
1134 -544: space:  
1135 -545: integer: 0  
1136 -546: space:  
1137 -547: word: R  
1138 -548: space: \x0a  
1139 -553: integer: 14  
1140 -555: space:  
1141 -556: integer: 0  
1142 -557: space:  
1143 -558: word: R  
1144 -559: space: \x0a  
1145 -562: array_close: ]  
1146 -563: space: \x0a  
1147 -566: name: /Type  
1148 -571: space:  
1149 -572: name: /Pages  
1150 -578: space: \x0a  
1151 -579: dict_close: >>  
1152 -581: space: \x0a  
1153 -582: comment: %% Object stream: object 4, index 2; original object ID: 4  
1154 -640: space: \x0a  
1155 -641: comment: %% Page 1  
1156 -650: space: \x0a  
1157 -651: dict_open: <<  
1158 -653: space: \x0a  
1159 -656: name: /Contents  
1160 -665: space:  
1161 -666: integer: 37  
1162 -668: space:  
1163 -669: integer: 0  
1164 -670: space:  
1165 -671: word: R  
1166 -672: space: \x0a  
1167 -675: name: /MediaBox  
1168 -684: space:  
1169 -685: array_open: [  
1170 -686: space: \x0a  
1171 -691: integer: 0  
1172 -692: space: \x0a  
1173 -697: integer: 0  
1174 -698: space: \x0a  
1175 -703: integer: 612  
1176 -706: space: \x0a  
1177 -711: integer: 792  
1178 -714: space: \x0a  
1179 -717: array_close: ]  
1180 -718: space: \x0a  
1181 -721: name: /Parent  
1182 -728: space:  
1183 -729: integer: 3  
1184 -730: space:  
1185 -731: integer: 0  
1186 -732: space:  
1187 -733: word: R  
1188 -734: space: \x0a  
1189 -737: name: /Resources  
1190 -747: space:  
1191 -748: dict_open: <<  
1192 -750: space: \x0a  
1193 -755: name: /Font  
1194 -760: space:  
1195 -761: dict_open: <<  
1196 -763: space: \x0a  
1197 -770: name: /F1  
1198 -773: space:  
1199 -774: integer: 15  
1200 -776: space:  
1201 -777: integer: 0  
1202 -778: space:  
1203 -779: word: R  
1204 -780: space: \x0a  
1205 -785: dict_close: >>  
1206 -787: space: \x0a  
1207 -792: name: /ProcSet  
1208 -800: space:  
1209 -801: integer: 16  
1210 -803: space:  
1211 -804: integer: 0  
1212 -805: space:  
1213 -806: word: R  
1214 -807: space: \x0a  
1215 -810: dict_close: >>  
1216 -812: space: \x0a  
1217 -815: name: /Type  
1218 -820: space:  
1219 -821: name: /Page  
1220 -826: space: \x0a  
1221 -827: dict_close: >>  
1222 -829: space: \x0a  
1223 -830: comment: %% Object stream: object 5, index 3; original object ID: 5  
1224 -888: space: \x0a  
1225 -889: comment: %% Page 2  
1226 -898: space: \x0a  
1227 -899: dict_open: <<  
1228 -901: space: \x0a  
1229 -904: name: /Contents  
1230 -913: space:  
1231 -914: integer: 39  
1232 -916: space:  
1233 -917: integer: 0  
1234 -918: space:  
1235 -919: word: R  
1236 -920: space: \x0a  
1237 -923: name: /MediaBox  
1238 -932: space:  
1239 -933: array_open: [  
1240 -934: space: \x0a  
1241 -939: integer: 0  
1242 -940: space: \x0a  
1243 -945: integer: 0  
1244 -946: space: \x0a  
1245 -951: integer: 612  
1246 -954: space: \x0a  
1247 -959: integer: 792  
1248 -962: space: \x0a  
1249 -965: array_close: ]  
1250 -966: space: \x0a  
1251 -969: name: /Parent  
1252 -976: space:  
1253 -977: integer: 3  
1254 -978: space:  
1255 -979: integer: 0  
1256 -980: space:  
1257 -981: word: R  
1258 -982: space: \x0a  
1259 -985: name: /Resources  
1260 -995: space:  
1261 -996: dict_open: <<  
1262 -998: space: \x0a  
1263 -1003: name: /Font  
1264 -1008: space:  
1265 -1009: dict_open: <<  
1266 -1011: space: \x0a  
1267 -1018: name: /F1  
1268 -1021: space:  
1269 -1022: integer: 17  
1270 -1024: space:  
1271 -1025: integer: 0  
1272 -1026: space:  
1273 -1027: word: R  
1274 -1028: space: \x0a  
1275 -1033: dict_close: >>  
1276 -1035: space: \x0a  
1277 -1040: name: /ProcSet  
1278 -1048: space:  
1279 -1049: integer: 18  
1280 -1051: space:  
1281 -1052: integer: 0  
1282 -1053: space:  
1283 -1054: word: R  
1284 -1055: space: \x0a  
1285 -1058: dict_close: >>  
1286 -1060: space: \x0a  
1287 -1063: name: /Type  
1288 -1068: space:  
1289 -1069: name: /Page  
1290 -1074: space: \x0a  
1291 -1075: dict_close: >>  
1292 -1077: space: \x0a  
1293 -1078: comment: %% Object stream: object 6, index 4; original object ID: 6  
1294 -1136: space: \x0a  
1295 -1137: comment: %% Page 3  
1296 -1146: space: \x0a  
1297 -1147: dict_open: <<  
1298 -1149: space: \x0a  
1299 -1152: name: /Contents  
1300 -1161: space:  
1301 -1162: integer: 41  
1302 -1164: space:  
1303 -1165: integer: 0  
1304 -1166: space:  
1305 -1167: word: R  
1306 -1168: space: \x0a  
1307 -1171: name: /MediaBox  
1308 -1180: space:  
1309 -1181: array_open: [  
1310 -1182: space: \x0a  
1311 -1187: integer: 0  
1312 -1188: space: \x0a  
1313 -1193: integer: 0  
1314 -1194: space: \x0a  
1315 -1199: integer: 612  
1316 -1202: space: \x0a  
1317 -1207: integer: 792  
1318 -1210: space: \x0a  
1319 -1213: array_close: ]  
1320 -1214: space: \x0a  
1321 -1217: name: /Parent  
1322 -1224: space:  
1323 -1225: integer: 3  
1324 -1226: space:  
1325 -1227: integer: 0  
1326 -1228: space:  
1327 -1229: word: R  
1328 -1230: space: \x0a  
1329 -1233: name: /Resources  
1330 -1243: space:  
1331 -1244: dict_open: <<  
1332 -1246: space: \x0a  
1333 -1251: name: /Font  
1334 -1256: space:  
1335 -1257: dict_open: <<  
1336 -1259: space: \x0a  
1337 -1266: name: /F1  
1338 -1269: space:  
1339 -1270: integer: 19  
1340 -1272: space:  
1341 -1273: integer: 0  
1342 -1274: space:  
1343 -1275: word: R  
1344 -1276: space: \x0a  
1345 -1281: dict_close: >>  
1346 -1283: space: \x0a  
1347 -1288: name: /ProcSet  
1348 -1296: space:  
1349 -1297: integer: 20  
1350 -1299: space:  
1351 -1300: integer: 0  
1352 -1301: space:  
1353 -1302: word: R  
1354 -1303: space: \x0a  
1355 -1306: dict_close: >>  
1356 -1308: space: \x0a  
1357 -1311: name: /Type  
1358 -1316: space:  
1359 -1317: name: /Page  
1360 -1322: space: \x0a  
1361 -1323: dict_close: >>  
1362 -1325: space: \x0a  
1363 -1326: comment: %% Object stream: object 7, index 5; original object ID: 7  
1364 -1384: space: \x0a  
1365 -1385: comment: %% Page 4  
1366 -1394: space: \x0a  
1367 -1395: dict_open: <<  
1368 -1397: space: \x0a  
1369 -1400: name: /Contents  
1370 -1409: space:  
1371 -1410: integer: 43  
1372 -1412: space:  
1373 -1413: integer: 0  
1374 -1414: space:  
1375 -1415: word: R  
1376 -1416: space: \x0a  
1377 -1419: name: /MediaBox  
1378 -1428: space:  
1379 -1429: array_open: [  
1380 -1430: space: \x0a  
1381 -1435: integer: 0  
1382 -1436: space: \x0a  
1383 -1441: integer: 0  
1384 -1442: space: \x0a  
1385 -1447: integer: 612  
1386 -1450: space: \x0a  
1387 -1455: integer: 792  
1388 -1458: space: \x0a  
1389 -1461: array_close: ]  
1390 -1462: space: \x0a  
1391 -1465: name: /Parent  
1392 -1472: space:  
1393 -1473: integer: 3  
1394 -1474: space:  
1395 -1475: integer: 0  
1396 -1476: space:  
1397 -1477: word: R  
1398 -1478: space: \x0a  
1399 -1481: name: /Resources  
1400 -1491: space:  
1401 -1492: dict_open: <<  
1402 -1494: space: \x0a  
1403 -1499: name: /Font  
1404 -1504: space:  
1405 -1505: dict_open: <<  
1406 -1507: space: \x0a  
1407 -1514: name: /F1  
1408 -1517: space:  
1409 -1518: integer: 21  
1410 -1520: space:  
1411 -1521: integer: 0  
1412 -1522: space:  
1413 -1523: word: R  
1414 -1524: space: \x0a  
1415 -1529: dict_close: >>  
1416 -1531: space: \x0a  
1417 -1536: name: /ProcSet  
1418 -1544: space:  
1419 -1545: integer: 22  
1420 -1547: space:  
1421 -1548: integer: 0  
1422 -1549: space:  
1423 -1550: word: R  
1424 -1551: space: \x0a  
1425 -1554: dict_close: >>  
1426 -1556: space: \x0a  
1427 -1559: name: /Type  
1428 -1564: space:  
1429 -1565: name: /Page  
1430 -1570: space: \x0a  
1431 -1571: dict_close: >>  
1432 -1573: space: \x0a  
1433 -1574: comment: %% Object stream: object 8, index 6; original object ID: 8  
1434 -1632: space: \x0a  
1435 -1633: comment: %% Page 5  
1436 -1642: space: \x0a  
1437 -1643: dict_open: <<  
1438 -1645: space: \x0a  
1439 -1648: name: /Contents  
1440 -1657: space:  
1441 -1658: integer: 45  
1442 -1660: space:  
1443 -1661: integer: 0  
1444 -1662: space:  
1445 -1663: word: R  
1446 -1664: space: \x0a  
1447 -1667: name: /MediaBox  
1448 -1676: space:  
1449 -1677: array_open: [  
1450 -1678: space: \x0a  
1451 -1683: integer: 0  
1452 -1684: space: \x0a  
1453 -1689: integer: 0  
1454 -1690: space: \x0a  
1455 -1695: integer: 612  
1456 -1698: space: \x0a  
1457 -1703: integer: 792  
1458 -1706: space: \x0a  
1459 -1709: array_close: ]  
1460 -1710: space: \x0a  
1461 -1713: name: /Parent  
1462 -1720: space:  
1463 -1721: integer: 3  
1464 -1722: space:  
1465 -1723: integer: 0  
1466 -1724: space:  
1467 -1725: word: R  
1468 -1726: space: \x0a  
1469 -1729: name: /Resources  
1470 -1739: space:  
1471 -1740: dict_open: <<  
1472 -1742: space: \x0a  
1473 -1747: name: /Font  
1474 -1752: space:  
1475 -1753: dict_open: <<  
1476 -1755: space: \x0a  
1477 -1762: name: /F1  
1478 -1765: space:  
1479 -1766: integer: 23  
1480 -1768: space:  
1481 -1769: integer: 0  
1482 -1770: space:  
1483 -1771: word: R  
1484 -1772: space: \x0a  
1485 -1777: dict_close: >>  
1486 -1779: space: \x0a  
1487 -1784: name: /ProcSet  
1488 -1792: space:  
1489 -1793: integer: 24  
1490 -1795: space:  
1491 -1796: integer: 0  
1492 -1797: space:  
1493 -1798: word: R  
1494 -1799: space: \x0a  
1495 -1802: dict_close: >>  
1496 -1804: space: \x0a  
1497 -1807: name: /Type  
1498 -1812: space:  
1499 -1813: name: /Page  
1500 -1818: space: \x0a  
1501 -1819: dict_close: >>  
1502 -1821: space: \x0a  
1503 -1822: comment: %% Object stream: object 9, index 7; original object ID: 9  
1504 -1880: space: \x0a  
1505 -1881: comment: %% Page 6  
1506 -1890: space: \x0a  
1507 -1891: dict_open: <<  
1508 -1893: space: \x0a  
1509 -1896: name: /Contents  
1510 -1905: space:  
1511 -1906: integer: 47  
1512 -1908: space:  
1513 -1909: integer: 0  
1514 -1910: space:  
1515 -1911: word: R  
1516 -1912: space: \x0a  
1517 -1915: name: /MediaBox  
1518 -1924: space:  
1519 -1925: array_open: [  
1520 -1926: space: \x0a  
1521 -1931: integer: 0  
1522 -1932: space: \x0a  
1523 -1937: integer: 0  
1524 -1938: space: \x0a  
1525 -1943: integer: 612  
1526 -1946: space: \x0a  
1527 -1951: integer: 792  
1528 -1954: space: \x0a  
1529 -1957: array_close: ]  
1530 -1958: space: \x0a  
1531 -1961: name: /Parent  
1532 -1968: space:  
1533 -1969: integer: 3  
1534 -1970: space:  
1535 -1971: integer: 0  
1536 -1972: space:  
1537 -1973: word: R  
1538 -1974: space: \x0a  
1539 -1977: name: /Resources  
1540 -1987: space:  
1541 -1988: dict_open: <<  
1542 -1990: space: \x0a  
1543 -1995: name: /Font  
1544 -2000: space:  
1545 -2001: dict_open: <<  
1546 -2003: space: \x0a  
1547 -2010: name: /F1  
1548 -2013: space:  
1549 -2014: integer: 25  
1550 -2016: space:  
1551 -2017: integer: 0  
1552 -2018: space:  
1553 -2019: word: R  
1554 -2020: space: \x0a  
1555 -2025: dict_close: >>  
1556 -2027: space: \x0a  
1557 -2032: name: /ProcSet  
1558 -2040: space:  
1559 -2041: integer: 26  
1560 -2043: space:  
1561 -2044: integer: 0  
1562 -2045: space:  
1563 -2046: word: R  
1564 -2047: space: \x0a  
1565 -2050: dict_close: >>  
1566 -2052: space: \x0a  
1567 -2055: name: /Type  
1568 -2060: space:  
1569 -2061: name: /Page  
1570 -2066: space: \x0a  
1571 -2067: dict_close: >>  
1572 -2069: space: \x0a  
1573 -2070: comment: %% Object stream: object 10, index 8; original object ID: 10  
1574 -2130: space: \x0a  
1575 -2131: comment: %% Page 7  
1576 -2140: space: \x0a  
1577 -2141: dict_open: <<  
1578 -2143: space: \x0a  
1579 -2146: name: /Contents  
1580 -2155: space:  
1581 -2156: integer: 49  
1582 -2158: space:  
1583 -2159: integer: 0  
1584 -2160: space:  
1585 -2161: word: R  
1586 -2162: space: \x0a  
1587 -2165: name: /MediaBox  
1588 -2174: space:  
1589 -2175: array_open: [  
1590 -2176: space: \x0a  
1591 -2181: integer: 0  
1592 -2182: space: \x0a  
1593 -2187: integer: 0  
1594 -2188: space: \x0a  
1595 -2193: integer: 612  
1596 -2196: space: \x0a  
1597 -2201: integer: 792  
1598 -2204: space: \x0a  
1599 -2207: array_close: ]  
1600 -2208: space: \x0a  
1601 -2211: name: /Parent  
1602 -2218: space:  
1603 -2219: integer: 3  
1604 -2220: space:  
1605 -2221: integer: 0  
1606 -2222: space:  
1607 -2223: word: R  
1608 -2224: space: \x0a  
1609 -2227: name: /Resources  
1610 -2237: space:  
1611 -2238: dict_open: <<  
1612 -2240: space: \x0a  
1613 -2245: name: /Font  
1614 -2250: space:  
1615 -2251: dict_open: <<  
1616 -2253: space: \x0a  
1617 -2260: name: /F1  
1618 -2263: space:  
1619 -2264: integer: 27  
1620 -2266: space:  
1621 -2267: integer: 0  
1622 -2268: space:  
1623 -2269: word: R  
1624 -2270: space: \x0a  
1625 -2275: dict_close: >>  
1626 -2277: space: \x0a  
1627 -2282: name: /ProcSet  
1628 -2290: space:  
1629 -2291: integer: 28  
1630 -2293: space:  
1631 -2294: integer: 0  
1632 -2295: space:  
1633 -2296: word: R  
1634 -2297: space: \x0a  
1635 -2300: dict_close: >>  
1636 -2302: space: \x0a  
1637 -2305: name: /Type  
1638 -2310: space:  
1639 -2311: name: /Page  
1640 -2316: space: \x0a  
1641 -2317: dict_close: >>  
1642 -2319: space: \x0a  
1643 -2320: comment: %% Object stream: object 11, index 9; original object ID: 11  
1644 -2380: space: \x0a  
1645 -2381: comment: %% Page 8  
1646 -2390: space: \x0a  
1647 -2391: dict_open: <<  
1648 -2393: space: \x0a  
1649 -2396: name: /Contents  
1650 -2405: space:  
1651 -2406: integer: 51  
1652 -2408: space:  
1653 -2409: integer: 0  
1654 -2410: space:  
1655 -2411: word: R  
1656 -2412: space: \x0a  
1657 -2415: name: /MediaBox  
1658 -2424: space:  
1659 -2425: array_open: [  
1660 -2426: space: \x0a  
1661 -2431: integer: 0  
1662 -2432: space: \x0a  
1663 -2437: integer: 0  
1664 -2438: space: \x0a  
1665 -2443: integer: 612  
1666 -2446: space: \x0a  
1667 -2451: integer: 792  
1668 -2454: space: \x0a  
1669 -2457: array_close: ]  
1670 -2458: space: \x0a  
1671 -2461: name: /Parent  
1672 -2468: space:  
1673 -2469: integer: 3  
1674 -2470: space:  
1675 -2471: integer: 0  
1676 -2472: space:  
1677 -2473: word: R  
1678 -2474: space: \x0a  
1679 -2477: name: /Resources  
1680 -2487: space:  
1681 -2488: dict_open: <<  
1682 -2490: space: \x0a  
1683 -2495: name: /Font  
1684 -2500: space:  
1685 -2501: dict_open: <<  
1686 -2503: space: \x0a  
1687 -2510: name: /F1  
1688 -2513: space:  
1689 -2514: integer: 29  
1690 -2516: space:  
1691 -2517: integer: 0  
1692 -2518: space:  
1693 -2519: word: R  
1694 -2520: space: \x0a  
1695 -2525: dict_close: >>  
1696 -2527: space: \x0a  
1697 -2532: name: /ProcSet  
1698 -2540: space:  
1699 -2541: integer: 30  
1700 -2543: space:  
1701 -2544: integer: 0  
1702 -2545: space:  
1703 -2546: word: R  
1704 -2547: space: \x0a  
1705 -2550: dict_close: >>  
1706 -2552: space: \x0a  
1707 -2555: name: /Type  
1708 -2560: space:  
1709 -2561: name: /Page  
1710 -2566: space: \x0a  
1711 -2567: dict_close: >>  
1712 -2569: space: \x0a  
1713 -2570: comment: %% Object stream: object 12, index 10; original object ID: 12  
1714 -2631: space: \x0a  
1715 -2632: comment: %% Page 9  
1716 -2641: space: \x0a  
1717 -2642: dict_open: <<  
1718 -2644: space: \x0a  
1719 -2647: name: /Contents  
1720 -2656: space:  
1721 -2657: integer: 53  
1722 -2659: space:  
1723 -2660: integer: 0  
1724 -2661: space:  
1725 -2662: word: R  
1726 -2663: space: \x0a  
1727 -2666: name: /MediaBox  
1728 -2675: space:  
1729 -2676: array_open: [  
1730 -2677: space: \x0a  
1731 -2682: integer: 0  
1732 -2683: space: \x0a  
1733 -2688: integer: 0  
1734 -2689: space: \x0a  
1735 -2694: integer: 612  
1736 -2697: space: \x0a  
1737 -2702: integer: 792  
1738 -2705: space: \x0a  
1739 -2708: array_close: ]  
1740 -2709: space: \x0a  
1741 -2712: name: /Parent  
1742 -2719: space:  
1743 -2720: integer: 3  
1744 -2721: space:  
1745 -2722: integer: 0  
1746 -2723: space:  
1747 -2724: word: R  
1748 -2725: space: \x0a  
1749 -2728: name: /Resources  
1750 -2738: space:  
1751 -2739: dict_open: <<  
1752 -2741: space: \x0a  
1753 -2746: name: /Font  
1754 -2751: space:  
1755 -2752: dict_open: <<  
1756 -2754: space: \x0a  
1757 -2761: name: /F1  
1758 -2764: space:  
1759 -2765: integer: 31  
1760 -2767: space:  
1761 -2768: integer: 0  
1762 -2769: space:  
1763 -2770: word: R  
1764 -2771: space: \x0a  
1765 -2776: dict_close: >>  
1766 -2778: space: \x0a  
1767 -2783: name: /ProcSet  
1768 -2791: space:  
1769 -2792: integer: 32  
1770 -2794: space:  
1771 -2795: integer: 0  
1772 -2796: space:  
1773 -2797: word: R  
1774 -2798: space: \x0a  
1775 -2801: dict_close: >>  
1776 -2803: space: \x0a  
1777 -2806: name: /Type  
1778 -2811: space:  
1779 -2812: name: /Page  
1780 -2817: space: \x0a  
1781 -2818: dict_close: >>  
1782 -2820: space: \x0a  
1783 -2821: comment: %% Object stream: object 13, index 11; original object ID: 13  
1784 -2882: space: \x0a  
1785 -2883: comment: %% Page 10  
1786 -2893: space: \x0a  
1787 -2894: dict_open: <<  
1788 -2896: space: \x0a  
1789 -2899: name: /Contents  
1790 -2908: space:  
1791 -2909: integer: 55  
1792 -2911: space:  
1793 -2912: integer: 0  
1794 -2913: space:  
1795 -2914: word: R  
1796 -2915: space: \x0a  
1797 -2918: name: /MediaBox  
1798 -2927: space:  
1799 -2928: array_open: [  
1800 -2929: space: \x0a  
1801 -2934: integer: 0  
1802 -2935: space: \x0a  
1803 -2940: integer: 0  
1804 -2941: space: \x0a  
1805 -2946: integer: 612  
1806 -2949: space: \x0a  
1807 -2954: integer: 792  
1808 -2957: space: \x0a  
1809 -2960: array_close: ]  
1810 -2961: space: \x0a  
1811 -2964: name: /Parent  
1812 -2971: space:  
1813 -2972: integer: 3  
1814 -2973: space:  
1815 -2974: integer: 0  
1816 -2975: space:  
1817 -2976: word: R  
1818 -2977: space: \x0a  
1819 -2980: name: /Resources  
1820 -2990: space:  
1821 -2991: dict_open: <<  
1822 -2993: space: \x0a  
1823 -2998: name: /Font  
1824 -3003: space:  
1825 -3004: dict_open: <<  
1826 -3006: space: \x0a  
1827 -3013: name: /F1  
1828 -3016: space:  
1829 -3017: integer: 33  
1830 -3019: space:  
1831 -3020: integer: 0  
1832 -3021: space:  
1833 -3022: word: R  
1834 -3023: space: \x0a  
1835 -3028: dict_close: >>  
1836 -3030: space: \x0a  
1837 -3035: name: /ProcSet  
1838 -3043: space:  
1839 -3044: integer: 34  
1840 -3046: space:  
1841 -3047: integer: 0  
1842 -3048: space:  
1843 -3049: word: R  
1844 -3050: space: \x0a  
1845 -3053: dict_close: >>  
1846 -3055: space: \x0a  
1847 -3058: name: /Type  
1848 -3063: space:  
1849 -3064: name: /Page  
1850 -3069: space: \x0a  
1851 -3070: dict_close: >>  
1852 -3072: space: \x0a  
1853 -3073: comment: %% Object stream: object 14, index 12; original object ID: 14  
1854 -3134: space: \x0a  
1855 -3135: comment: %% Page 11  
1856 -3145: space: \x0a  
1857 -3146: dict_open: <<  
1858 -3148: space: \x0a  
1859 -3151: name: /Contents  
1860 -3160: space:  
1861 -3161: integer: 57  
1862 -3163: space:  
1863 -3164: integer: 0  
1864 -3165: space:  
1865 -3166: word: R  
1866 -3167: space: \x0a  
1867 -3170: name: /MediaBox  
1868 -3179: space:  
1869 -3180: array_open: [  
1870 -3181: space: \x0a  
1871 -3186: integer: 0  
1872 -3187: space: \x0a  
1873 -3192: integer: 0  
1874 -3193: space: \x0a  
1875 -3198: integer: 612  
1876 -3201: space: \x0a  
1877 -3206: integer: 792  
1878 -3209: space: \x0a  
1879 -3212: array_close: ]  
1880 -3213: space: \x0a  
1881 -3216: name: /Parent  
1882 -3223: space:  
1883 -3224: integer: 3  
1884 -3225: space:  
1885 -3226: integer: 0  
1886 -3227: space:  
1887 -3228: word: R  
1888 -3229: space: \x0a  
1889 -3232: name: /Resources  
1890 -3242: space:  
1891 -3243: dict_open: <<  
1892 -3245: space: \x0a  
1893 -3250: name: /Font  
1894 -3255: space:  
1895 -3256: dict_open: <<  
1896 -3258: space: \x0a  
1897 -3265: name: /F1  
1898 -3268: space:  
1899 -3269: integer: 35  
1900 -3271: space:  
1901 -3272: integer: 0  
1902 -3273: space:  
1903 -3274: word: R  
1904 -3275: space: \x0a  
1905 -3280: dict_close: >>  
1906 -3282: space: \x0a  
1907 -3287: name: /ProcSet  
1908 -3295: space:  
1909 -3296: integer: 36  
1910 -3298: space:  
1911 -3299: integer: 0  
1912 -3300: space:  
1913 -3301: word: R  
1914 -3302: space: \x0a  
1915 -3305: dict_close: >>  
1916 -3307: space: \x0a  
1917 -3310: name: /Type  
1918 -3315: space:  
1919 -3316: name: /Page  
1920 -3321: space: \x0a  
1921 -3322: dict_close: >>  
1922 -3324: space: \x0a  
1923 -3325: comment: %% Object stream: object 15, index 13; original object ID: 15  
1924 -3386: space: \x0a  
1925 -3387: dict_open: <<  
1926 -3389: space: \x0a  
1927 -3392: name: /BaseFont  
1928 -3401: space:  
1929 -3402: name: /Helvetica  
1930 -3412: space: \x0a  
1931 -3415: name: /Encoding  
1932 -3424: space:  
1933 -3425: name: /WinAnsiEncoding  
1934 -3441: space: \x0a  
1935 -3444: name: /Name  
1936 -3449: space:  
1937 -3450: name: /F1  
1938 -3453: space: \x0a  
1939 -3456: name: /Subtype  
1940 -3464: space:  
1941 -3465: name: /Type1  
1942 -3471: space: \x0a  
1943 -3474: name: /Type  
1944 -3479: space:  
1945 -3480: name: /Font  
1946 -3485: space: \x0a  
1947 -3486: dict_close: >>  
1948 -3488: space: \x0a  
1949 -3489: comment: %% Object stream: object 16, index 14; original object ID: 16  
1950 -3550: space: \x0a  
1951 -3551: array_open: [  
1952 -3552: space: \x0a  
1953 -3555: name: /PDF  
1954 -3559: space: \x0a  
1955 -3562: name: /Text  
1956 -3567: space: \x0a  
1957 -3568: array_close: ]  
1958 -3569: space: \x0a  
1959 -3570: comment: %% Object stream: object 17, index 15; original object ID: 17  
1960 -3631: space: \x0a  
1961 -3632: dict_open: <<  
1962 -3634: space: \x0a  
1963 -3637: name: /BaseFont  
1964 -3646: space:  
1965 -3647: name: /Helvetica  
1966 -3657: space: \x0a  
1967 -3660: name: /Encoding  
1968 -3669: space:  
1969 -3670: name: /WinAnsiEncoding  
1970 -3686: space: \x0a  
1971 -3689: name: /Name  
1972 -3694: space:  
1973 -3695: name: /F1  
1974 -3698: space: \x0a  
1975 -3701: name: /Subtype  
1976 -3709: space:  
1977 -3710: name: /Type1  
1978 -3716: space: \x0a  
1979 -3719: name: /Type  
1980 -3724: space:  
1981 -3725: name: /Font  
1982 -3730: space: \x0a  
1983 -3731: dict_close: >>  
1984 -3733: space: \x0a  
1985 -3734: comment: %% Object stream: object 18, index 16; original object ID: 18  
1986 -3795: space: \x0a  
1987 -3796: array_open: [  
1988 -3797: space: \x0a  
1989 -3800: name: /PDF  
1990 -3804: space: \x0a  
1991 -3807: name: /Text  
1992 -3812: space: \x0a  
1993 -3813: array_close: ]  
1994 -3814: space: \x0a  
1995 -3815: comment: %% Object stream: object 19, index 17; original object ID: 19  
1996 -3876: space: \x0a  
1997 -3877: dict_open: <<  
1998 -3879: space: \x0a  
1999 -3882: name: /BaseFont  
2000 -3891: space:  
2001 -3892: name: /Helvetica  
2002 -3902: space: \x0a  
2003 -3905: name: /Encoding  
2004 -3914: space:  
2005 -3915: name: /WinAnsiEncoding  
2006 -3931: space: \x0a  
2007 -3934: name: /Name  
2008 -3939: space:  
2009 -3940: name: /F1  
2010 -3943: space: \x0a  
2011 -3946: name: /Subtype  
2012 -3954: space:  
2013 -3955: name: /Type1  
2014 -3961: space: \x0a  
2015 -3964: name: /Type  
2016 -3969: space:  
2017 -3970: name: /Font  
2018 -3975: space: \x0a  
2019 -3976: dict_close: >>  
2020 -3978: space: \x0a  
2021 -3979: comment: %% Object stream: object 20, index 18; original object ID: 20  
2022 -4040: space: \x0a  
2023 -4041: array_open: [  
2024 -4042: space: \x0a  
2025 -4045: name: /PDF  
2026 -4049: space: \x0a  
2027 -4052: name: /Text  
2028 -4057: space: \x0a  
2029 -4058: array_close: ]  
2030 -4059: space: \x0a  
2031 -4060: comment: %% Object stream: object 21, index 19; original object ID: 21  
2032 -4121: space: \x0a  
2033 -4122: dict_open: <<  
2034 -4124: space: \x0a  
2035 -4127: name: /BaseFont  
2036 -4136: space:  
2037 -4137: name: /Helvetica  
2038 -4147: space: \x0a  
2039 -4150: name: /Encoding  
2040 -4159: space:  
2041 -4160: name: /WinAnsiEncoding  
2042 -4176: space: \x0a  
2043 -4179: name: /Name  
2044 -4184: space:  
2045 -4185: name: /F1  
2046 -4188: space: \x0a  
2047 -4191: name: /Subtype  
2048 -4199: space:  
2049 -4200: name: /Type1  
2050 -4206: space: \x0a  
2051 -4209: name: /Type  
2052 -4214: space:  
2053 -4215: name: /Font  
2054 -4220: space: \x0a  
2055 -4221: dict_close: >>  
2056 -4223: space: \x0a  
2057 -4224: comment: %% Object stream: object 22, index 20; original object ID: 22  
2058 -4285: space: \x0a  
2059 -4286: array_open: [  
2060 -4287: space: \x0a  
2061 -4290: name: /PDF  
2062 -4294: space: \x0a  
2063 -4297: name: /Text  
2064 -4302: space: \x0a  
2065 -4303: array_close: ]  
2066 -4304: space: \x0a  
2067 -4305: comment: %% Object stream: object 23, index 21; original object ID: 23  
2068 -4366: space: \x0a  
2069 -4367: dict_open: <<  
2070 -4369: space: \x0a  
2071 -4372: name: /BaseFont  
2072 -4381: space:  
2073 -4382: name: /Helvetica  
2074 -4392: space: \x0a  
2075 -4395: name: /Encoding  
2076 -4404: space:  
2077 -4405: name: /WinAnsiEncoding  
2078 -4421: space: \x0a  
2079 -4424: name: /Name  
2080 -4429: space:  
2081 -4430: name: /F1  
2082 -4433: space: \x0a  
2083 -4436: name: /Subtype  
2084 -4444: space:  
2085 -4445: name: /Type1  
2086 -4451: space: \x0a  
2087 -4454: name: /Type  
2088 -4459: space:  
2089 -4460: name: /Font  
2090 -4465: space: \x0a  
2091 -4466: dict_close: >>  
2092 -4468: space: \x0a  
2093 -4469: comment: %% Object stream: object 24, index 22; original object ID: 24  
2094 -4530: space: \x0a  
2095 -4531: array_open: [  
2096 -4532: space: \x0a  
2097 -4535: name: /PDF  
2098 -4539: space: \x0a  
2099 -4542: name: /Text  
2100 -4547: space: \x0a  
2101 -4548: array_close: ]  
2102 -4549: space: \x0a  
2103 -4550: comment: %% Object stream: object 25, index 23; original object ID: 25  
2104 -4611: space: \x0a  
2105 -4612: dict_open: <<  
2106 -4614: space: \x0a  
2107 -4617: name: /BaseFont  
2108 -4626: space:  
2109 -4627: name: /Helvetica  
2110 -4637: space: \x0a  
2111 -4640: name: /Encoding  
2112 -4649: space:  
2113 -4650: name: /WinAnsiEncoding  
2114 -4666: space: \x0a  
2115 -4669: name: /Name  
2116 -4674: space:  
2117 -4675: name: /F1  
2118 -4678: space: \x0a  
2119 -4681: name: /Subtype  
2120 -4689: space:  
2121 -4690: name: /Type1  
2122 -4696: space: \x0a  
2123 -4699: name: /Type  
2124 -4704: space:  
2125 -4705: name: /Font  
2126 -4710: space: \x0a  
2127 -4711: dict_close: >>  
2128 -4713: space: \x0a  
2129 -4714: comment: %% Object stream: object 26, index 24; original object ID: 26  
2130 -4775: space: \x0a  
2131 -4776: array_open: [  
2132 -4777: space: \x0a  
2133 -4780: name: /PDF  
2134 -4784: space: \x0a  
2135 -4787: name: /Text  
2136 -4792: space: \x0a  
2137 -4793: array_close: ]  
2138 -4794: space: \x0a  
2139 -4795: comment: %% Object stream: object 27, index 25; original object ID: 27  
2140 -4856: space: \x0a  
2141 -4857: dict_open: <<  
2142 -4859: space: \x0a  
2143 -4862: name: /BaseFont  
2144 -4871: space:  
2145 -4872: name: /Helvetica  
2146 -4882: space: \x0a  
2147 -4885: name: /Encoding  
2148 -4894: space:  
2149 -4895: name: /WinAnsiEncoding  
2150 -4911: space: \x0a  
2151 -4914: name: /Name  
2152 -4919: space:  
2153 -4920: name: /F1  
2154 -4923: space: \x0a  
2155 -4926: name: /Subtype  
2156 -4934: space:  
2157 -4935: name: /Type1  
2158 -4941: space: \x0a  
2159 -4944: name: /Type  
2160 -4949: space:  
2161 -4950: name: /Font  
2162 -4955: space: \x0a  
2163 -4956: dict_close: >>  
2164 -4958: space: \x0a  
2165 -4959: comment: %% Object stream: object 28, index 26; original object ID: 28  
2166 -5020: space: \x0a  
2167 -5021: array_open: [  
2168 -5022: space: \x0a  
2169 -5025: name: /PDF  
2170 -5029: space: \x0a  
2171 -5032: name: /Text  
2172 -5037: space: \x0a  
2173 -5038: array_close: ]  
2174 -5039: space: \x0a  
2175 -5040: comment: %% Object stream: object 29, index 27; original object ID: 29  
2176 -5101: space: \x0a  
2177 -5102: dict_open: <<  
2178 -5104: space: \x0a  
2179 -5107: name: /BaseFont  
2180 -5116: space:  
2181 -5117: name: /Helvetica  
2182 -5127: space: \x0a  
2183 -5130: name: /Encoding  
2184 -5139: space:  
2185 -5140: name: /WinAnsiEncoding  
2186 -5156: space: \x0a  
2187 -5159: name: /Name  
2188 -5164: space:  
2189 -5165: name: /F1  
2190 -5168: space: \x0a  
2191 -5171: name: /Subtype  
2192 -5179: space:  
2193 -5180: name: /Type1  
2194 -5186: space: \x0a  
2195 -5189: name: /Type  
2196 -5194: space:  
2197 -5195: name: /Font  
2198 -5200: space: \x0a  
2199 -5201: dict_close: >>  
2200 -5203: space: \x0a  
2201 -5204: comment: %% Object stream: object 30, index 28; original object ID: 30  
2202 -5265: space: \x0a  
2203 -5266: array_open: [  
2204 -5267: space: \x0a  
2205 -5270: name: /PDF  
2206 -5274: space: \x0a  
2207 -5277: name: /Text  
2208 -5282: space: \x0a  
2209 -5283: array_close: ]  
2210 -5284: space: \x0a  
2211 -5285: comment: %% Object stream: object 31, index 29; original object ID: 31  
2212 -5346: space: \x0a  
2213 -5347: dict_open: <<  
2214 -5349: space: \x0a  
2215 -5352: name: /BaseFont  
2216 -5361: space:  
2217 -5362: name: /Helvetica  
2218 -5372: space: \x0a  
2219 -5375: name: /Encoding  
2220 -5384: space:  
2221 -5385: name: /WinAnsiEncoding  
2222 -5401: space: \x0a  
2223 -5404: name: /Name  
2224 -5409: space:  
2225 -5410: name: /F1  
2226 -5413: space: \x0a  
2227 -5416: name: /Subtype  
2228 -5424: space:  
2229 -5425: name: /Type1  
2230 -5431: space: \x0a  
2231 -5434: name: /Type  
2232 -5439: space:  
2233 -5440: name: /Font  
2234 -5445: space: \x0a  
2235 -5446: dict_close: >>  
2236 -5448: space: \x0a  
2237 -5449: comment: %% Object stream: object 32, index 30; original object ID: 32  
2238 -5510: space: \x0a  
2239 -5511: array_open: [  
2240 -5512: space: \x0a  
2241 -5515: name: /PDF  
2242 -5519: space: \x0a  
2243 -5522: name: /Text  
2244 -5527: space: \x0a  
2245 -5528: array_close: ]  
2246 -5529: space: \x0a  
2247 -5530: comment: %% Object stream: object 33, index 31; original object ID: 33  
2248 -5591: space: \x0a  
2249 -5592: dict_open: <<  
2250 -5594: space: \x0a  
2251 -5597: name: /BaseFont  
2252 -5606: space:  
2253 -5607: name: /Helvetica  
2254 -5617: space: \x0a  
2255 -5620: name: /Encoding  
2256 -5629: space:  
2257 -5630: name: /WinAnsiEncoding  
2258 -5646: space: \x0a  
2259 -5649: name: /Name  
2260 -5654: space:  
2261 -5655: name: /F1  
2262 -5658: space: \x0a  
2263 -5661: name: /Subtype  
2264 -5669: space:  
2265 -5670: name: /Type1  
2266 -5676: space: \x0a  
2267 -5679: name: /Type  
2268 -5684: space:  
2269 -5685: name: /Font  
2270 -5690: space: \x0a  
2271 -5691: dict_close: >>  
2272 -5693: space: \x0a  
2273 -5694: comment: %% Object stream: object 34, index 32; original object ID: 34  
2274 -5755: space: \x0a  
2275 -5756: array_open: [  
2276 -5757: space: \x0a  
2277 -5760: name: /PDF  
2278 -5764: space: \x0a  
2279 -5767: name: /Text  
2280 -5772: space: \x0a  
2281 -5773: array_close: ]  
2282 -5774: space: \x0a  
2283 -5775: comment: %% Object stream: object 35, index 33; original object ID: 35  
2284 -5836: space: \x0a  
2285 -5837: dict_open: <<  
2286 -5839: space: \x0a  
2287 -5842: name: /BaseFont  
2288 -5851: space:  
2289 -5852: name: /Helvetica  
2290 -5862: space: \x0a  
2291 -5865: name: /Encoding  
2292 -5874: space:  
2293 -5875: name: /WinAnsiEncoding  
2294 -5891: space: \x0a  
2295 -5894: name: /Name  
2296 -5899: space:  
2297 -5900: name: /F1  
2298 -5903: space: \x0a  
2299 -5906: name: /Subtype  
2300 -5914: space:  
2301 -5915: name: /Type1  
2302 -5921: space: \x0a  
2303 -5924: name: /Type  
2304 -5929: space:  
2305 -5930: name: /Font  
2306 -5935: space: \x0a  
2307 -5936: dict_close: >>  
2308 -5938: space: \x0a  
2309 -5939: comment: %% Object stream: object 36, index 34; original object ID: 36  
2310 -6000: space: \x0a  
2311 -6001: array_open: [  
2312 -6002: space: \x0a  
2313 -6005: name: /PDF  
2314 -6009: space: \x0a  
2315 -6012: name: /Text  
2316 -6017: space: \x0a  
2317 -6018: array_close: ]  
2318 -6019: space: \x0a  
2319 -6020: eof  
2320 ---- END OBJECT STREAM 1 ---  
qpdf/test_tokenizer.cc
@@ -17,7 +17,7 @@ static char const* whoami = 0; @@ -17,7 +17,7 @@ static char const* whoami = 0;
17 void usage() 17 void usage()
18 { 18 {
19 std::cerr << "Usage: " << whoami 19 std::cerr << "Usage: " << whoami
20 - << " [-maxlen len | -no-ignorable | -old-ei] filename" 20 + << " [-maxlen len | -no-ignorable] filename"
21 << std::endl; 21 << std::endl;
22 exit(2); 22 exit(2);
23 } 23 }
@@ -133,7 +133,7 @@ try_skipping(QPDFTokenizer&amp; tokenizer, PointerHolder&lt;InputSource&gt; is, @@ -133,7 +133,7 @@ try_skipping(QPDFTokenizer&amp; tokenizer, PointerHolder&lt;InputSource&gt; is,
133 static void 133 static void
134 dump_tokens(PointerHolder<InputSource> is, std::string const& label, 134 dump_tokens(PointerHolder<InputSource> is, std::string const& label,
135 size_t max_len, bool include_ignorable, 135 size_t max_len, bool include_ignorable,
136 - bool skip_streams, bool skip_inline_images, bool old_ei) 136 + bool skip_streams, bool skip_inline_images)
137 { 137 {
138 Finder f1(is, "endstream"); 138 Finder f1(is, "endstream");
139 std::cout << "--- BEGIN " << label << " ---" << std::endl; 139 std::cout << "--- BEGIN " << label << " ---" << std::endl;
@@ -186,14 +186,7 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label, @@ -186,14 +186,7 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label,
186 { 186 {
187 char ch; 187 char ch;
188 is->read(&ch, 1); 188 is->read(&ch, 1);
189 - if (old_ei)  
190 - {  
191 - tokenizer.expectInlineImage();  
192 - }  
193 - else  
194 - {  
195 - tokenizer.expectInlineImage(is);  
196 - } 189 + tokenizer.expectInlineImage(is);
197 inline_image_offset = is->tell(); 190 inline_image_offset = is->tell();
198 } 191 }
199 else if (token.getType() == QPDFTokenizer::tt_eof) 192 else if (token.getType() == QPDFTokenizer::tt_eof)
@@ -205,7 +198,7 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label, @@ -205,7 +198,7 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label,
205 } 198 }
206 199
207 static void process(char const* filename, bool include_ignorable, 200 static void process(char const* filename, bool include_ignorable,
208 - size_t max_len, bool old_ei) 201 + size_t max_len)
209 { 202 {
210 PointerHolder<InputSource> is; 203 PointerHolder<InputSource> is;
211 204
@@ -213,7 +206,7 @@ static void process(char const* filename, bool include_ignorable, @@ -213,7 +206,7 @@ static void process(char const* filename, bool include_ignorable,
213 FileInputSource* fis = new FileInputSource(); 206 FileInputSource* fis = new FileInputSource();
214 fis->setFilename(filename); 207 fis->setFilename(filename);
215 is = fis; 208 is = fis;
216 - dump_tokens(is, "FILE", max_len, include_ignorable, true, false, false); 209 + dump_tokens(is, "FILE", max_len, include_ignorable, true, false);
217 210
218 // Tokenize content streams, skipping inline images 211 // Tokenize content streams, skipping inline images
219 QPDF qpdf; 212 QPDF qpdf;
@@ -232,7 +225,7 @@ static void process(char const* filename, bool include_ignorable, @@ -232,7 +225,7 @@ static void process(char const* filename, bool include_ignorable,
232 "content data", content_data.getPointer()); 225 "content data", content_data.getPointer());
233 is = bis; 226 is = bis;
234 dump_tokens(is, "PAGE " + QUtil::int_to_string(pageno), 227 dump_tokens(is, "PAGE " + QUtil::int_to_string(pageno),
235 - max_len, include_ignorable, false, true, old_ei); 228 + max_len, include_ignorable, false, true);
236 } 229 }
237 230
238 // Tokenize object streams 231 // Tokenize object streams
@@ -251,7 +244,7 @@ static void process(char const* filename, bool include_ignorable, @@ -251,7 +244,7 @@ static void process(char const* filename, bool include_ignorable,
251 is = bis; 244 is = bis;
252 dump_tokens(is, "OBJECT STREAM " + 245 dump_tokens(is, "OBJECT STREAM " +
253 QUtil::int_to_string((*iter).getObjectID()), 246 QUtil::int_to_string((*iter).getObjectID()),
254 - max_len, include_ignorable, false, false, false); 247 + max_len, include_ignorable, false, false);
255 } 248 }
256 } 249 }
257 } 250 }
@@ -276,7 +269,6 @@ int main(int argc, char* argv[]) @@ -276,7 +269,6 @@ int main(int argc, char* argv[])
276 char const* filename = 0; 269 char const* filename = 0;
277 size_t max_len = 0; 270 size_t max_len = 0;
278 bool include_ignorable = true; 271 bool include_ignorable = true;
279 - bool old_ei = false;  
280 for (int i = 1; i < argc; ++i) 272 for (int i = 1; i < argc; ++i)
281 { 273 {
282 if (argv[i][0] == '-') 274 if (argv[i][0] == '-')
@@ -293,10 +285,6 @@ int main(int argc, char* argv[]) @@ -293,10 +285,6 @@ int main(int argc, char* argv[])
293 { 285 {
294 include_ignorable = false; 286 include_ignorable = false;
295 } 287 }
296 - else if (strcmp(argv[i], "-old-ei") == 0)  
297 - {  
298 - old_ei = true;  
299 - }  
300 else 288 else
301 { 289 {
302 usage(); 290 usage();
@@ -318,7 +306,7 @@ int main(int argc, char* argv[]) @@ -318,7 +306,7 @@ int main(int argc, char* argv[])
318 306
319 try 307 try
320 { 308 {
321 - process(filename, include_ignorable, max_len, old_ei); 309 + process(filename, include_ignorable, max_len);
322 } 310 }
323 catch (std::exception& e) 311 catch (std::exception& e)
324 { 312 {