Commit d97474868d7fa6a94bab49d89af5dd82fd5e3a41

Authored by Jay Berkenbilt
1 parent bb9e91ad

Lexer enhancements: EOF, comment, space

Significant enhancements to the lexer to improve EOF handling and to
support comments and spaces as tokens. Various other minor issues were
fixed as well.
ChangeLog
1 1 2018-02-04 Jay Berkenbilt <ejb@ql.org>
2 2  
  3 + * Significant lexer (tokenizer) enhancements. These are changes to
  4 + the QPDFTokenizer class. These changes are of concern only to
  5 + people who are operating with PDF files at the lexical layer
  6 + using qpdf. They have little or no impact on most high-level
  7 + interfaces or the command-line tool.
  8 + * New token types tt_space and tt_comment to recognize
  9 + whitespace and comments. this makes it possible to tokenize a
  10 + PDF file or stream and preserve everything about it.
  11 + * For backward compatibility, space and comment tokens are not
  12 + returned by the tokenizer unless
  13 + QPDFTokenizer.includeIgnorable() is called.
  14 + * Better handling of null bytes. These are now included in space
  15 + tokens rather than being their own "tt_word" tokens. This
  16 + should have no impact on any correct PDF file and has no
  17 + impact on output, but it may change offsets in some error
  18 + messages when trying to parse contents of bad files. Under
  19 + default operation, qpdf does not attempt to parse content
  20 + streams, so this change is mostly invisible.
  21 + * Bug fix to handling of bad tokens at ends of streams. Now,
  22 + when allowEOF() has been called, these are treated as bad tokens
  23 + (tt_bad or an exception, depending on invocation), and a
  24 + separate tt_eof token is returned. Before the bad token
  25 + contents were returned as the value of a tt_eof token. tt_eof
  26 + tokens are always empty now.
  27 + * Fix a bug that would, on rare occasions, report the offset in an
  28 + error message in the wrong space because of spaces or comments
  29 + adjacent to a bad token.
  30 + * Clarify in comments exactly where the input source is
  31 + positioned surrounding calls to readToken and getToken.
  32 +
  33 +2018-02-04 Jay Berkenbilt <ejb@ql.org>
  34 +
3 35 * Add QPDFWriter::setLinearizationPass1Filename method and
4 36 --linearize-pass1 command line option to allow specification of a
5 37 file into which QPDFWriter will write its intermediate
... ...
include/qpdf/QPDFTokenizer.hh
... ... @@ -33,7 +33,8 @@ class QPDFTokenizer
33 33 {
34 34 public:
35 35 // Token type tt_eof is only returned of allowEOF() is called on
36   - // the tokenizer. tt_eof was introduced in QPDF version 4.1.
  36 + // the tokenizer. tt_eof was introduced in QPDF version 4.1.
  37 + // tt_space and tt_comment were added in QPDF version 8.
37 38 enum token_type_e
38 39 {
39 40 tt_bad,
... ... @@ -51,6 +52,8 @@ class QPDFTokenizer
51 52 tt_bool,
52 53 tt_word,
53 54 tt_eof,
  55 + tt_space,
  56 + tt_comment,
54 57 };
55 58  
56 59 class Token
... ... @@ -120,6 +123,11 @@ class QPDFTokenizer
120 123 QPDF_DLL
121 124 void allowEOF();
122 125  
  126 + // If called, readToken will return "ignorable" tokens for space
  127 + // and comments. This was added in QPDF 8.
  128 + QPDF_DLL
  129 + void includeIgnorable();
  130 +
123 131 // Mode of operation:
124 132  
125 133 // Keep presenting characters and calling getToken() until
... ... @@ -159,13 +167,15 @@ class QPDFTokenizer
159 167 private:
160 168 void reset();
161 169 void resolveLiteral();
  170 + bool isSpace(char);
162 171  
163 172 // Lexer state
164   - enum { st_top, st_in_comment, st_in_string, st_lt, st_gt,
  173 + enum { st_top, st_in_space, st_in_comment, st_in_string, st_lt, st_gt,
165 174 st_literal, st_in_hexstring, st_token_ready } state;
166 175  
167 176 bool pound_special_in_name;
168 177 bool allow_eof;
  178 + bool include_ignorable;
169 179  
170 180 // Current token accumulation
171 181 token_type_e type;
... ...
libqpdf/FileInputSource.cc
... ... @@ -120,15 +120,23 @@ FileInputSource::rewind()
120 120 size_t
121 121 FileInputSource::read(char* buffer, size_t length)
122 122 {
123   - this->last_offset = QUtil::tell(this->file);
  123 + this->last_offset = this->tell();
124 124 size_t len = fread(buffer, 1, length, this->file);
125   - if ((len == 0) && ferror(this->file))
  125 + if (len == 0)
126 126 {
127   - throw QPDFExc(qpdf_e_system,
128   - this->filename, "",
129   - this->last_offset,
130   - std::string("read ") +
131   - QUtil::int_to_string(length) + " bytes");
  127 + if (ferror(this->file))
  128 + {
  129 + throw QPDFExc(qpdf_e_system,
  130 + this->filename, "",
  131 + this->last_offset,
  132 + std::string("read ") +
  133 + QUtil::int_to_string(length) + " bytes");
  134 + }
  135 + else if (length > 0)
  136 + {
  137 + this->seek(0, SEEK_END);
  138 + this->last_offset = this->tell();
  139 + }
132 140 }
133 141 return len;
134 142 }
... ...
libqpdf/QPDFTokenizer.cc
... ... @@ -14,7 +14,8 @@
14 14  
15 15 QPDFTokenizer::QPDFTokenizer() :
16 16 pound_special_in_name(true),
17   - allow_eof(false)
  17 + allow_eof(false),
  18 + include_ignorable(false)
18 19 {
19 20 reset();
20 21 }
... ... @@ -33,6 +34,18 @@ QPDFTokenizer::allowEOF()
33 34 }
34 35  
35 36 void
  37 +QPDFTokenizer::includeIgnorable()
  38 +{
  39 + this->include_ignorable = true;
  40 +}
  41 +
  42 +bool
  43 +QPDFTokenizer::isSpace(char ch)
  44 +{
  45 + return ((ch == '\0') || QUtil::is_space(ch));
  46 +}
  47 +
  48 +void
36 49 QPDFTokenizer::reset()
37 50 {
38 51 state = st_top;
... ... @@ -148,14 +161,21 @@ QPDFTokenizer::presentCharacter(char ch)
148 161 {
149 162 // Note: we specifically do not use ctype here. It is
150 163 // locale-dependent.
151   - if (strchr(" \t\n\v\f\r", ch))
  164 + if (isSpace(ch))
152 165 {
153   - // ignore
  166 + if (this->include_ignorable)
  167 + {
  168 + state = st_in_space;
  169 + val += ch;
  170 + }
154 171 }
155 172 else if (ch == '%')
156 173 {
157   - // Discard comments
158 174 state = st_in_comment;
  175 + if (this->include_ignorable)
  176 + {
  177 + val += ch;
  178 + }
159 179 }
160 180 else if (ch == '(')
161 181 {
... ... @@ -209,12 +229,41 @@ QPDFTokenizer::presentCharacter(char ch)
209 229 }
210 230 }
211 231 }
  232 + else if (state == st_in_space)
  233 + {
  234 + // We only enter this state if include_ignorable is true.
  235 + if (! isSpace(ch))
  236 + {
  237 + type = tt_space;
  238 + unread_char = true;
  239 + char_to_unread = ch;
  240 + state = st_token_ready;
  241 + }
  242 + else
  243 + {
  244 + val += ch;
  245 + }
  246 + }
212 247 else if (state == st_in_comment)
213 248 {
214 249 if ((ch == '\r') || (ch == '\n'))
215   - {
216   - state = st_top;
217   - }
  250 + {
  251 + if (this->include_ignorable)
  252 + {
  253 + type = tt_comment;
  254 + unread_char = true;
  255 + char_to_unread = ch;
  256 + state = st_token_ready;
  257 + }
  258 + else
  259 + {
  260 + state = st_top;
  261 + }
  262 + }
  263 + else if (this->include_ignorable)
  264 + {
  265 + val += ch;
  266 + }
218 267 }
219 268 else if (state == st_lt)
220 269 {
... ... @@ -397,7 +446,7 @@ QPDFTokenizer::presentCharacter(char ch)
397 446 {
398 447 val += ch;
399 448 }
400   - else if (strchr(" \t\n\v\f\r", ch))
  449 + else if (isSpace(ch))
401 450 {
402 451 // ignore
403 452 }
... ... @@ -435,19 +484,23 @@ QPDFTokenizer::presentEOF()
435 484 QTC::TC("qpdf", "QPDF_Tokenizer EOF reading appendable token");
436 485 resolveLiteral();
437 486 }
  487 + else if ((this->include_ignorable) && (state == st_in_space))
  488 + {
  489 + type = tt_space;
  490 + }
  491 + else if ((this->include_ignorable) && (state == st_in_comment))
  492 + {
  493 + type = tt_comment;
  494 + }
  495 + else if (betweenTokens())
  496 + {
  497 + type = tt_eof;
  498 + }
438 499 else if (state != st_token_ready)
439 500 {
440   - QTC::TC("qpdf", "QPDF_Tokenizer EOF reading token",
441   - this->allow_eof ? 1 : 0);
442   - if ((this->allow_eof) && (state == st_top))
443   - {
444   - type = tt_eof;
445   - }
446   - else
447   - {
448   - type = tt_bad;
449   - error_message = "EOF while reading token";
450   - }
  501 + QTC::TC("qpdf", "QPDF_Tokenizer EOF reading token");
  502 + type = tt_bad;
  503 + error_message = "EOF while reading token";
451 504 }
452 505  
453 506 state = st_token_ready;
... ... @@ -461,6 +514,10 @@ QPDFTokenizer::getToken(Token&amp; token, bool&amp; unread_char, char&amp; ch)
461 514 ch = this->char_to_unread;
462 515 if (ready)
463 516 {
  517 + if (type == tt_bad)
  518 + {
  519 + val = raw_val;
  520 + }
464 521 token = Token(type, val, raw_val, error_message);
465 522 reset();
466 523 }
... ... @@ -470,7 +527,10 @@ QPDFTokenizer::getToken(Token&amp; token, bool&amp; unread_char, char&amp; ch)
470 527 bool
471 528 QPDFTokenizer::betweenTokens()
472 529 {
473   - return ((state == st_top) || (state == st_in_comment));
  530 + return ((state == st_top) ||
  531 + ((! this->include_ignorable) &&
  532 + ((state == st_in_comment) ||
  533 + (state == st_in_space))));
474 534 }
475 535  
476 536 QPDFTokenizer::Token
... ... @@ -493,6 +553,13 @@ QPDFTokenizer::readToken(PointerHolder&lt;InputSource&gt; input,
493 553 {
494 554 presentEOF();
495 555 presented_eof = true;
  556 + if ((type == tt_eof) && (! this->allow_eof))
  557 + {
  558 + QTC::TC("qpdf", "QPDF_Tokenizer EOF when not allowed");
  559 + type = tt_bad;
  560 + error_message = "unexpected EOF";
  561 + offset = input->getLastOffset();
  562 + }
496 563 }
497 564 else
498 565 {
... ... @@ -502,12 +569,11 @@ QPDFTokenizer::readToken(PointerHolder&lt;InputSource&gt; input,
502 569 }
503 570 else
504 571 {
505   - if (QUtil::is_space(static_cast<unsigned char>(ch)) &&
506   - (input->getLastOffset() == offset))
  572 + presentCharacter(ch);
  573 + if (betweenTokens() && (input->getLastOffset() == offset))
507 574 {
508 575 ++offset;
509 576 }
510   - presentCharacter(ch);
511 577 if (max_len && (raw_val.length() >= max_len) &&
512 578 (this->state != st_token_ready))
513 579 {
... ... @@ -515,6 +581,8 @@ QPDFTokenizer::readToken(PointerHolder&lt;InputSource&gt; input,
515 581 QTC::TC("qpdf", "QPDFTokenizer block long token");
516 582 this->type = tt_bad;
517 583 this->state = st_token_ready;
  584 + error_message =
  585 + "exceeded allowable length while reading token";
518 586 }
519 587 }
520 588 }
... ...
qpdf/qpdf.testcov
... ... @@ -233,7 +233,7 @@ QPDFWriter copy use_aes 1
233 233 QPDFObjectHandle indirect without context 0
234 234 QPDFObjectHandle trailing data in parse 0
235 235 qpdf pages encryption password 0
236   -QPDF_Tokenizer EOF reading token 1
  236 +QPDF_Tokenizer EOF reading token 0
237 237 QPDF_Tokenizer EOF reading appendable token 0
238 238 QPDFWriter extra header text no newline 0
239 239 QPDFWriter extra header text add newline 0
... ... @@ -302,3 +302,4 @@ qpdf-c called qpdf_set_compress_streams 0
302 302 qpdf-c called qpdf_set_preserve_unreferenced_objects 0
303 303 qpdf-c called qpdf_set_newline_before_endstream 0
304 304 QPDF_Stream TIFF predictor 0
  305 +QPDF_Tokenizer EOF when not allowed 0
... ...
qpdf/qtest/qpdf.test
... ... @@ -240,7 +240,7 @@ foreach my $d (@bug_tests)
240 240 show_ntests();
241 241 # ----------
242 242 $td->notify("--- Miscellaneous Tests ---");
243   -$n_tests += 97;
  243 +$n_tests += 99;
244 244  
245 245 $td->runtest("qpdf version",
246 246 {$td->COMMAND => "qpdf --version"},
... ... @@ -263,11 +263,21 @@ $td-&gt;runtest(&quot;check pass1 file&quot;,
263 263 {$td->FILE => "b.pdf"},
264 264 {$td->FILE => "minimal-linearize-pass1.pdf"});
265 265  
  266 +$td->runtest("tokenizer with no ignorable",
  267 + {$td->COMMAND => "test_tokenizer -no-ignorable tokens.pdf"},
  268 + {$td->FILE => "tokens-no-ignorable.out", $td->EXIT_STATUS => 0},
  269 + $td->NORMALIZE_NEWLINES);
  270 +
266 271 $td->runtest("tokenizer",
267 272 {$td->COMMAND => "test_tokenizer tokens.pdf"},
268 273 {$td->FILE => "tokens.out", $td->EXIT_STATUS => 0},
269 274 $td->NORMALIZE_NEWLINES);
270 275  
  276 +$td->runtest("tokenizer with max_len",
  277 + {$td->COMMAND => "test_tokenizer -maxlen 50 tokens.pdf"},
  278 + {$td->FILE => "tokens-maxlen.out", $td->EXIT_STATUS => 0},
  279 + $td->NORMALIZE_NEWLINES);
  280 +
271 281 foreach (my $i = 1; $i <= 3; ++$i)
272 282 {
273 283 $td->runtest("misc tests",
... ...
qpdf/qtest/qpdf/bad16-recover.out
... ... @@ -2,9 +2,9 @@ WARNING: bad16.pdf (trailer, file position 753): unexpected dictionary close tok
2 2 WARNING: bad16.pdf (trailer, file position 756): unexpected dictionary close token
3 3 WARNING: bad16.pdf (trailer, file position 759): unknown token while reading object; treating as string
4 4 WARNING: bad16.pdf: file is damaged
5   -WARNING: bad16.pdf (trailer, file position 773): EOF while reading token
  5 +WARNING: bad16.pdf (trailer, file position 779): unexpected EOF
6 6 WARNING: bad16.pdf: Attempting to reconstruct cross-reference table
7 7 WARNING: bad16.pdf (trailer, file position 753): unexpected dictionary close token
8 8 WARNING: bad16.pdf (trailer, file position 756): unexpected dictionary close token
9 9 WARNING: bad16.pdf (trailer, file position 759): unknown token while reading object; treating as string
10   -bad16.pdf (trailer, file position 773): EOF while reading token
  10 +bad16.pdf (trailer, file position 779): unexpected EOF
... ...
qpdf/qtest/qpdf/bad16.out
1 1 WARNING: bad16.pdf (trailer, file position 753): unexpected dictionary close token
2 2 WARNING: bad16.pdf (trailer, file position 756): unexpected dictionary close token
3 3 WARNING: bad16.pdf (trailer, file position 759): unknown token while reading object; treating as string
4   -bad16.pdf (trailer, file position 773): EOF while reading token
  4 +bad16.pdf (trailer, file position 779): unexpected EOF
... ...
qpdf/qtest/qpdf/good14.out
... ... @@ -39,4 +39,12 @@ This stream does end with a newline.
39 39 -- stream 4 --
40 40 (ends with a name)
41 41 /ThisMustBeLast
  42 +-- stream 5 --
  43 +% This stream has an inline image marker that is not terminated
  44 +(Potato)
  45 +
  46 +BI
  47 +ID
  48 +<506f7
  49 +461746f>
42 50 test 3 done
... ...
qpdf/qtest/qpdf/good14.pdf
No preview for this file type
qpdf/qtest/qpdf/good14.qdf
No preview for this file type
qpdf/qtest/qpdf/issue-100.out
... ... @@ -13,4 +13,4 @@ WARNING: issue-100.pdf (object 5 0, file position 489): attempting to recover st
13 13 WARNING: issue-100.pdf (object 5 0, file position 489): recovered stream length: 12
14 14 WARNING: issue-100.pdf (trailer, file position 953): expected dictionary key but found non-name object; inserting key /QPDFFake1
15 15 WARNING: issue-100.pdf (trailer, file position 953): dictionary ended prematurely; using null as value for last key
16   -issue-100.pdf (file position 1138): unable to find /Root dictionary
  16 +issue-100.pdf (file position 1144): unable to find /Root dictionary
... ...
qpdf/qtest/qpdf/issue-101.out
... ... @@ -16,7 +16,7 @@ WARNING: issue-101.pdf (trailer, file position 2613): /Length key in stream dict
16 16 WARNING: issue-101.pdf (trailer, file position 2684): attempting to recover stream length
17 17 WARNING: issue-101.pdf (trailer, file position 2684): recovered stream length: 74
18 18 WARNING: issue-101.pdf (trailer, file position 2928): unknown token while reading object; treating as string
19   -WARNING: issue-101.pdf (trailer, file position 2929): unknown token while reading object; treating as string
  19 +WARNING: issue-101.pdf (trailer, file position 2930): unknown token while reading object; treating as string
20 20 WARNING: issue-101.pdf (trailer, file position 2928): expected dictionary key but found non-name object; inserting key /QPDFFake1
21 21 WARNING: issue-101.pdf (trailer, file position 2928): expected dictionary key but found non-name object; inserting key /QPDFFake2
22 22 WARNING: issue-101.pdf (trailer, file position 2928): expected dictionary key but found non-name object; inserting key /QPDFFake3
... ... @@ -45,7 +45,7 @@ WARNING: issue-101.pdf (file position 696): unknown token while reading object;
45 45 WARNING: issue-101.pdf (file position 698): unknown token while reading object; treating as string
46 46 WARNING: issue-101.pdf (file position 701): unknown token while reading object; treating as string
47 47 WARNING: issue-101.pdf (file position 711): unknown token while reading object; treating as string
48   -WARNING: issue-101.pdf (file position 742): unknown token while reading object; treating as string
  48 +WARNING: issue-101.pdf (file position 743): unknown token while reading object; treating as string
49 49 WARNING: issue-101.pdf (file position 745): unknown token while reading object; treating as string
50 50 WARNING: issue-101.pdf (file position 747): unknown token while reading object; treating as string
51 51 WARNING: issue-101.pdf (file position 777): unknown token while reading object; treating as string
... ...
qpdf/qtest/qpdf/issue-146.out
... ... @@ -2,4 +2,4 @@ WARNING: issue-146.pdf: file is damaged
2 2 WARNING: issue-146.pdf: can't find startxref
3 3 WARNING: issue-146.pdf: Attempting to reconstruct cross-reference table
4 4 WARNING: issue-146.pdf (trailer, file position 20728): unknown token while reading object; treating as string
5   -issue-146.pdf (trailer, file position 20732): EOF while reading token
  5 +issue-146.pdf (trailer, file position 20732): unexpected EOF
... ...
qpdf/qtest/qpdf/issue-51.out
... ... @@ -6,5 +6,5 @@ WARNING: issue-51.pdf (file position 70): loop detected resolving object 2 0
6 6 WARNING: issue-51.pdf (object 2 0, file position 26): /Length key in stream dictionary is not an integer
7 7 WARNING: issue-51.pdf (object 2 0, file position 71): attempting to recover stream length
8 8 WARNING: issue-51.pdf (object 2 0, file position 71): unable to recover stream data; treating stream as empty
9   -WARNING: issue-51.pdf (object 2 0, file position 977): EOF while reading token
  9 +WARNING: issue-51.pdf (object 2 0, file position 977): unexpected EOF
10 10 qpdf: operation succeeded with warnings; resulting file may have some problems
... ...
qpdf/qtest/qpdf/issue-99.out
1 1 WARNING: issue-99.pdf: file is damaged
2 2 WARNING: issue-99.pdf (file position 3526): xref not found
3 3 WARNING: issue-99.pdf: Attempting to reconstruct cross-reference table
4   -issue-99.pdf (file position 4793): unable to find /Root dictionary
  4 +issue-99.pdf (file position 4798): unable to find /Root dictionary
... ...
qpdf/qtest/qpdf/issue-99b.out
... ... @@ -2,4 +2,4 @@ WARNING: issue-99b.pdf: file is damaged
2 2 WARNING: issue-99b.pdf (object 1 0, file position 9): object with ID 0
3 3 WARNING: issue-99b.pdf: Attempting to reconstruct cross-reference table
4 4 WARNING: issue-99b.pdf: object 1 0 not found in file after regenerating cross reference table
5   -issue-99b.pdf (file position 757): unable to find /Root dictionary
  5 +issue-99b.pdf (file position 763): unable to find /Root dictionary
... ...
qpdf/qtest/qpdf/linearization-bounds-1.out
... ... @@ -2,7 +2,7 @@ checking linearization-bounds-1.pdf
2 2 PDF Version: 1.3
3 3 File is not encrypted
4 4 File is linearized
5   -WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 1001182): EOF while reading token
  5 +WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 12302): unexpected EOF
6 6 WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 1183): attempting to recover stream length
7 7 WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 1183): recovered stream length: 106
8 8 linearization-bounds-1.pdf (linearization hint table, file position 1183): /S (shared object) offset is out of bounds
... ...
qpdf/qtest/qpdf/tokens-maxlen.out 0 โ†’ 100644
  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 +7404: word: endstream
  185 +7413: space: \x0a
  186 +7414: word: endobj
  187 +7420: space: \x0a\x0a
  188 +7422: integer: 44
  189 +7424: space:
  190 +7425: integer: 0
  191 +7426: space:
  192 +7427: word: obj
  193 +7430: space: \x0a
  194 +7431: integer: 275
  195 +7434: space: \x0a
  196 +7435: word: endobj
  197 +7441: space: \x0a\x0a
  198 +7443: comment: %% Contents for page 5
  199 +7465: space: \x0a
  200 +7466: comment: %% Original object ID: 41 0
  201 +7493: space: \x0a
  202 +7494: integer: 45
  203 +7496: space:
  204 +7497: integer: 0
  205 +7498: space:
  206 +7499: word: obj
  207 +7502: space: \x0a
  208 +7503: dict_open: <<
  209 +7505: space: \x0a
  210 +7508: name: /Length
  211 +7515: space:
  212 +7516: integer: 46
  213 +7518: space:
  214 +7519: integer: 0
  215 +7520: space:
  216 +7521: word: R
  217 +7522: space: \x0a
  218 +7523: dict_close: >>
  219 +7525: space: \x0a
  220 +7526: word: stream
  221 +skipping to endstream
  222 +7601: word: endstream
  223 +7610: space: \x0a
  224 +7611: word: endobj
  225 +7617: space: \x0a\x0a
  226 +7619: integer: 46
  227 +7621: space:
  228 +7622: integer: 0
  229 +7623: space:
  230 +7624: word: obj
  231 +7627: space: \x0a
  232 +7628: integer: 68
  233 +7630: space: \x0a
  234 +7631: word: endobj
  235 +7637: space: \x0a\x0a
  236 +7639: comment: %% Contents for page 6
  237 +7661: space: \x0a
  238 +7662: comment: %% Original object ID: 42 0
  239 +7689: space: \x0a
  240 +7690: integer: 47
  241 +7692: space:
  242 +7693: integer: 0
  243 +7694: space:
  244 +7695: word: obj
  245 +7698: space: \x0a
  246 +7699: dict_open: <<
  247 +7701: space: \x0a
  248 +7704: name: /Length
  249 +7711: space:
  250 +7712: integer: 48
  251 +7714: space:
  252 +7715: integer: 0
  253 +7716: space:
  254 +7717: word: R
  255 +7718: space: \x0a
  256 +7719: dict_close: >>
  257 +7721: space: \x0a
  258 +7722: word: stream
  259 +skipping to endstream
  260 +7773: word: endstream
  261 +7782: space: \x0a
  262 +7783: word: endobj
  263 +7789: space: \x0a\x0a
  264 +7791: integer: 48
  265 +7793: space:
  266 +7794: integer: 0
  267 +7795: space:
  268 +7796: word: obj
  269 +7799: space: \x0a
  270 +7800: integer: 44
  271 +7802: space: \x0a
  272 +7803: word: endobj
  273 +7809: space: \x0a\x0a
  274 +7811: comment: %% Contents for page 7
  275 +7833: space: \x0a
  276 +7834: comment: %% Original object ID: 43 0
  277 +7861: space: \x0a
  278 +7862: integer: 49
  279 +7864: space:
  280 +7865: integer: 0
  281 +7866: space:
  282 +7867: word: obj
  283 +7870: space: \x0a
  284 +7871: dict_open: <<
  285 +7873: space: \x0a
  286 +7876: name: /Length
  287 +7883: space:
  288 +7884: integer: 50
  289 +7886: space:
  290 +7887: integer: 0
  291 +7888: space:
  292 +7889: word: R
  293 +7890: space: \x0a
  294 +7891: dict_close: >>
  295 +7893: space: \x0a
  296 +7894: word: stream
  297 +skipping to endstream
  298 +7945: word: endstream
  299 +7954: space: \x0a
  300 +7955: word: endobj
  301 +7961: space: \x0a\x0a
  302 +7963: integer: 50
  303 +7965: space:
  304 +7966: integer: 0
  305 +7967: space:
  306 +7968: word: obj
  307 +7971: space: \x0a
  308 +7972: integer: 44
  309 +7974: space: \x0a
  310 +7975: word: endobj
  311 +7981: space: \x0a\x0a
  312 +7983: comment: %% Contents for page 8
  313 +8005: space: \x0a
  314 +8006: comment: %% Original object ID: 44 0
  315 +8033: space: \x0a
  316 +8034: integer: 51
  317 +8036: space:
  318 +8037: integer: 0
  319 +8038: space:
  320 +8039: word: obj
  321 +8042: space: \x0a
  322 +8043: dict_open: <<
  323 +8045: space: \x0a
  324 +8048: name: /Length
  325 +8055: space:
  326 +8056: integer: 52
  327 +8058: space:
  328 +8059: integer: 0
  329 +8060: space:
  330 +8061: word: R
  331 +8062: space: \x0a
  332 +8063: dict_close: >>
  333 +8065: space: \x0a
  334 +8066: word: stream
  335 +skipping to endstream
  336 +8117: word: endstream
  337 +8126: space: \x0a
  338 +8127: word: endobj
  339 +8133: space: \x0a\x0a
  340 +8135: integer: 52
  341 +8137: space:
  342 +8138: integer: 0
  343 +8139: space:
  344 +8140: word: obj
  345 +8143: space: \x0a
  346 +8144: integer: 44
  347 +8146: space: \x0a
  348 +8147: word: endobj
  349 +8153: space: \x0a\x0a
  350 +8155: comment: %% Contents for page 9
  351 +8177: space: \x0a
  352 +8178: comment: %% Original object ID: 45 0
  353 +8205: space: \x0a
  354 +8206: integer: 53
  355 +8208: space:
  356 +8209: integer: 0
  357 +8210: space:
  358 +8211: word: obj
  359 +8214: space: \x0a
  360 +8215: dict_open: <<
  361 +8217: space: \x0a
  362 +8220: name: /Length
  363 +8227: space:
  364 +8228: integer: 54
  365 +8230: space:
  366 +8231: integer: 0
  367 +8232: space:
  368 +8233: word: R
  369 +8234: space: \x0a
  370 +8235: dict_close: >>
  371 +8237: space: \x0a
  372 +8238: word: stream
  373 +skipping to endstream
  374 +8289: word: endstream
  375 +8298: space: \x0a
  376 +8299: word: endobj
  377 +8305: space: \x0a\x0a
  378 +8307: integer: 54
  379 +8309: space:
  380 +8310: integer: 0
  381 +8311: space:
  382 +8312: word: obj
  383 +8315: space: \x0a
  384 +8316: integer: 44
  385 +8318: space: \x0a
  386 +8319: word: endobj
  387 +8325: space: \x0a\x0a
  388 +8327: comment: %% Contents for page 10
  389 +8350: space: \x0a
  390 +8351: comment: %% Original object ID: 46 0
  391 +8378: space: \x0a
  392 +8379: integer: 55
  393 +8381: space:
  394 +8382: integer: 0
  395 +8383: space:
  396 +8384: word: obj
  397 +8387: space: \x0a
  398 +8388: dict_open: <<
  399 +8390: space: \x0a
  400 +8393: name: /Length
  401 +8400: space:
  402 +8401: integer: 56
  403 +8403: space:
  404 +8404: integer: 0
  405 +8405: space:
  406 +8406: word: R
  407 +8407: space: \x0a
  408 +8408: dict_close: >>
  409 +8410: space: \x0a
  410 +8411: word: stream
  411 +skipping to endstream
  412 +8462: word: endstream
  413 +8471: space: \x0a
  414 +8472: word: endobj
  415 +8478: space: \x0a\x0a
  416 +8480: integer: 56
  417 +8482: space:
  418 +8483: integer: 0
  419 +8484: space:
  420 +8485: word: obj
  421 +8488: space: \x0a
  422 +8489: integer: 44
  423 +8491: space: \x0a
  424 +8492: word: endobj
  425 +8498: space: \x0a\x0a
  426 +8500: comment: %% Contents for page 11
  427 +8523: space: \x0a
  428 +8524: comment: %% Original object ID: 47 0
  429 +8551: space: \x0a
  430 +8552: integer: 57
  431 +8554: space:
  432 +8555: integer: 0
  433 +8556: space:
  434 +8557: word: obj
  435 +8560: space: \x0a
  436 +8561: dict_open: <<
  437 +8563: space: \x0a
  438 +8566: name: /Length
  439 +8573: space:
  440 +8574: integer: 58
  441 +8576: space:
  442 +8577: integer: 0
  443 +8578: space:
  444 +8579: word: R
  445 +8580: space: \x0a
  446 +8581: dict_close: >>
  447 +8583: space: \x0a
  448 +8584: word: stream
  449 +skipping to endstream
  450 +8635: word: endstream
  451 +8644: space: \x0a
  452 +8645: word: endobj
  453 +8651: space: \x0a\x0a
  454 +8653: integer: 58
  455 +8655: space:
  456 +8656: integer: 0
  457 +8657: space:
  458 +8658: word: obj
  459 +8661: space: \x0a
  460 +8662: integer: 44
  461 +8664: space: \x0a
  462 +8665: word: endobj
  463 +8671: space: \x0a\x0a
  464 +8673: integer: 59
  465 +8675: space:
  466 +8676: integer: 0
  467 +8677: space:
  468 +8678: word: obj
  469 +8681: space: \x0a
  470 +8682: dict_open: <<
  471 +8684: space: \x0a
  472 +8687: name: /Type
  473 +8692: space:
  474 +8693: name: /XRef
  475 +8698: space: \x0a
  476 +8701: name: /Length
  477 +8708: space:
  478 +8709: integer: 240
  479 +8712: space: \x0a
  480 +8715: name: /W
  481 +8717: space:
  482 +8718: array_open: [
  483 +8719: space:
  484 +8720: integer: 1
  485 +8721: space:
  486 +8722: integer: 2
  487 +8723: space:
  488 +8724: integer: 1
  489 +8725: space:
  490 +8726: array_close: ]
  491 +8727: space: \x0a
  492 +8730: name: /Root
  493 +8735: space:
  494 +8736: integer: 2
  495 +8737: space:
  496 +8738: integer: 0
  497 +8739: space:
  498 +8740: word: R
  499 +8741: space: \x0a
  500 +8744: name: /Size
  501 +8749: space:
  502 +8750: integer: 60
  503 +8752: space: \x0a
  504 +8755: name: /ID
  505 +8758: space:
  506 +8759: array_open: [
  507 +8760: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>)
  508 +8794: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>)
  509 +8828: array_close: ]
  510 +8829: space: \x0a
  511 +8830: dict_close: >>
  512 +8832: space: \x0a
  513 +8833: word: stream
  514 +skipping to endstream
  515 +9081: word: endstream
  516 +9090: space: \x0a
  517 +9091: word: endobj
  518 +9097: space: \x0a\x0a
  519 +9099: word: startxref
  520 +9108: space: \x0a
  521 +9109: integer: 8673
  522 +9113: space: \x0a
  523 +9114: comment: %%EOF
  524 +9119: space: \x0a
  525 +9120: eof
  526 +--- END FILE ---
  527 +--- BEGIN PAGE 1 ---
  528 +0: word: BT
  529 +2: space: \x0a
  530 +5: name: /F1
  531 +8: space:
  532 +9: integer: 24
  533 +11: space:
  534 +12: word: Tf
  535 +14: space: \x0a
  536 +17: integer: 72
  537 +19: space:
  538 +20: integer: 720
  539 +23: space:
  540 +24: word: Td
  541 +26: space: \x0a
  542 +29: string: Potato (raw: (Potato))
  543 +37: space:
  544 +38: word: Tj
  545 +40: space: \x0a
  546 +41: word: ET
  547 +43: space: \x0a
  548 +44: eof
  549 +--- END PAGE 1 ---
  550 +--- BEGIN PAGE 2 ---
  551 +0: word: BT
  552 +2: space: \x0a
  553 +5: name: /F1
  554 +8: space:
  555 +9: integer: 24
  556 +11: space:
  557 +12: word: Tf
  558 +14: space: \x0a
  559 +17: integer: 72
  560 +19: space:
  561 +20: integer: 720
  562 +23: space:
  563 +24: word: Td
  564 +26: space: \x0a
  565 +29: string: Potato (raw: (Potato))
  566 +37: space:
  567 +38: word: Tj
  568 +40: space: \x0a
  569 +41: word: ET
  570 +43: space: \x0a
  571 +44: word: BI
  572 +46: space: \x0a
  573 +47: name: /CS
  574 +50: space:
  575 +51: name: /G
  576 +53: name: /W
  577 +55: space:
  578 +56: integer: 66
  579 +58: name: /H
  580 +60: space:
  581 +61: integer: 47
  582 +63: name: /BPC
  583 +67: space:
  584 +68: integer: 8
  585 +69: name: /F
  586 +71: name: /Fl
  587 +74: name: /DP
  588 +77: dict_open: <<
  589 +79: name: /Predictor
  590 +89: space:
  591 +90: integer: 15
  592 +92: name: /Columns
  593 +100: space:
  594 +101: integer: 66
  595 +103: dict_close: >>
  596 +105: space: \x0a
  597 +106: word: ID
  598 +skipping to EI
  599 +352: word: EI
  600 +354: space: \x0a
  601 +355: word: BT
  602 +357: space: \x0a
  603 +360: name: /F1
  604 +363: space:
  605 +364: integer: 24
  606 +366: space:
  607 +367: word: Tf
  608 +369: space: \x0a
  609 +372: integer: 72
  610 +374: space:
  611 +375: integer: 720
  612 +378: space:
  613 +379: word: Td
  614 +381: space: \x0a
  615 +384: string: Potato (raw: (Potato))
  616 +392: space:
  617 +393: word: Tj
  618 +395: space: \x0a
  619 +396: word: ET
  620 +398: space: \x0a
  621 +399: eof
  622 +--- END PAGE 2 ---
  623 +--- BEGIN PAGE 3 ---
  624 +0: word: BT
  625 +2: space: \x0a
  626 +5: name: /F1
  627 +8: space:
  628 +9: integer: 24
  629 +11: space:
  630 +12: word: Tf
  631 +14: space: \x0a
  632 +17: integer: 72
  633 +19: space:
  634 +20: integer: 720
  635 +23: space:
  636 +24: word: Td
  637 +26: space: \x0a
  638 +29: bad: (Potato\x0aET\x0a (EOF while reading token)
  639 +40: eof
  640 +--- END PAGE 3 ---
  641 +--- BEGIN PAGE 4 ---
  642 +0: word: BT
  643 +2: space: \x0a
  644 +5: name: /F1
  645 +8: space:
  646 +9: integer: 24
  647 +11: space:
  648 +12: word: Tf
  649 +14: space: \x0a
  650 +17: string: \xfe\xeb (raw: <feeb>)
  651 +23: space: \x0a
  652 +26: string: \xab\xcd (raw: <ab\x0aCD>)
  653 +33: space: \x0a
  654 +36: string: quack (raw: (qu\\x0d\x0aack))
  655 +46: space: \x0a
  656 +49: string: quack (raw: (qu\\x0aack))
  657 +58: space: \x0a
  658 +61: string: quack (raw: (qu\\x0dack))
  659 +70: space: \x0a
  660 +73: integer: 72
  661 +75: space:
  662 +76: integer: 720
  663 +79: space:
  664 +80: word: Td
  665 +82: space: \x0a
  666 +85: real: 3.14
  667 +89: space: \x0a
  668 +92: real: 3.
  669 +94: space: \x0a
  670 +97: real: .14
  671 +100: space: \x0a
  672 +103: real: +3.14
  673 +108: space: \x0a
  674 +111: real: +3.
  675 +114: space: \x0a
  676 +117: real: +.14
  677 +121: space: \x0a
  678 +124: real: -3.14
  679 +129: space: \x0a
  680 +132: real: -3.
  681 +135: space: \x0a
  682 +138: real: -.14
  683 +142: space: \x0a
  684 +145: integer: +16059
  685 +151: space: \x0a
  686 +154: integer: -16059
  687 +160: space: \x0a
  688 +163: word: +.
  689 +165: space: \x0a
  690 +168: bad: <fade\x0aET (invalid character (T) in hexstring)
  691 +176: space: \x0a
  692 +177: bad: ) (unexpected ))
  693 +178: bad: > (unexpected >)
  694 +179: word: quack
  695 +184: space:
  696 +185: bad: /name#oops (invalid name token)
  697 +195: space:
  698 +196: name: /name (raw: /n#61me)
  699 +203: space:
  700 +204: word: one
  701 +207: space:
  702 +208: bool: true
  703 +212: space:
  704 +213: word: two
  705 +216: space:
  706 +217: bool: false
  707 +222: space:
  708 +223: word: three
  709 +228: space:
  710 +229: null: null
  711 +233: space:
  712 +234: word: four
  713 +238: space: \x0a
  714 +239: word: !@#$^&
  715 +245: brace_open: {
  716 +246: brace_close: }
  717 +247: word: *-_+=
  718 +252: space: \x0a
  719 +253: word: abc123def3.14true
  720 +270: space: \x0a
  721 +271: bad: <ff\x0a (EOF while reading token)
  722 +275: eof
  723 +--- END PAGE 4 ---
  724 +--- BEGIN PAGE 5 ---
  725 +0: word: BT
  726 +2: space: \x0a
  727 +5: bad: /F#00x (null character not allowed in name token)
  728 +11: space:
  729 +12: integer: 24
  730 +14: space:
  731 +15: word: Tf
  732 +17: space: \x0a
  733 +20: integer: 72
  734 +22: space:
  735 +23: integer: 720
  736 +26: space:
  737 +27: word: Td
  738 +29: space: \x0a
  739 +32: string: P\x00tat\x00 (raw: (P\x00tat\000))
  740 +43: space:
  741 +44: word: Tj
  742 +46: space: \x0a
  743 +47: word: ET
  744 +49: space: \x0a\x00\x0a
  745 +52: name: /ThisMustBeLast
  746 +67: space: \x0a
  747 +68: eof
  748 +--- END PAGE 5 ---
  749 +--- BEGIN PAGE 6 ---
  750 +0: word: ID
  751 +skipping to EI
  752 +EI not found
  753 +2: space: \x0a
  754 +5: name: /F1
  755 +8: space:
  756 +9: integer: 24
  757 +11: space:
  758 +12: word: Tf
  759 +14: space: \x0a
  760 +17: integer: 72
  761 +19: space:
  762 +20: integer: 720
  763 +23: space:
  764 +24: word: Td
  765 +26: space: \x0a
  766 +29: string: Potato (raw: (Potato))
  767 +37: space:
  768 +38: word: Tj
  769 +40: space: \x0a
  770 +41: word: ET
  771 +43: space: \x0a
  772 +44: eof
  773 +--- END PAGE 6 ---
  774 +--- BEGIN PAGE 7 ---
  775 +0: word: BT
  776 +2: space: \x0a
  777 +5: name: /F1
  778 +8: space:
  779 +9: integer: 24
  780 +11: space:
  781 +12: word: Tf
  782 +14: space: \x0a
  783 +17: integer: 72
  784 +19: space:
  785 +20: integer: 720
  786 +23: space:
  787 +24: word: Td
  788 +26: space: \x0a
  789 +29: string: Potato (raw: (Potato))
  790 +37: space:
  791 +38: word: Tj
  792 +40: space: \x0a
  793 +41: word: ET
  794 +43: space: \x0a
  795 +44: eof
  796 +--- END PAGE 7 ---
  797 +--- BEGIN PAGE 8 ---
  798 +0: word: BT
  799 +2: space: \x0a
  800 +5: name: /F1
  801 +8: space:
  802 +9: integer: 24
  803 +11: space:
  804 +12: word: Tf
  805 +14: space: \x0a
  806 +17: integer: 72
  807 +19: space:
  808 +20: integer: 720
  809 +23: space:
  810 +24: word: Td
  811 +26: space: \x0a
  812 +29: string: Potato (raw: (Potato))
  813 +37: space:
  814 +38: word: Tj
  815 +40: space: \x0a
  816 +41: word: ET
  817 +43: space: \x0a
  818 +44: eof
  819 +--- END PAGE 8 ---
  820 +--- BEGIN PAGE 9 ---
  821 +0: word: BT
  822 +2: space: \x0a
  823 +5: name: /F1
  824 +8: space:
  825 +9: integer: 24
  826 +11: space:
  827 +12: word: Tf
  828 +14: space: \x0a
  829 +17: integer: 72
  830 +19: space:
  831 +20: integer: 720
  832 +23: space:
  833 +24: word: Td
  834 +26: space: \x0a
  835 +29: string: Potato (raw: (Potato))
  836 +37: space:
  837 +38: word: Tj
  838 +40: space: \x0a
  839 +41: word: ET
  840 +43: space: \x0a
  841 +44: eof
  842 +--- END PAGE 9 ---
  843 +--- BEGIN PAGE 10 ---
  844 +0: word: BT
  845 +2: space: \x0a
  846 +5: name: /F1
  847 +8: space:
  848 +9: integer: 24
  849 +11: space:
  850 +12: word: Tf
  851 +14: space: \x0a
  852 +17: integer: 72
  853 +19: space:
  854 +20: integer: 720
  855 +23: space:
  856 +24: word: Td
  857 +26: space: \x0a
  858 +29: string: Potato (raw: (Potato))
  859 +37: space:
  860 +38: word: Tj
  861 +40: space: \x0a
  862 +41: word: ET
  863 +43: space: \x0a
  864 +44: eof
  865 +--- END PAGE 10 ---
  866 +--- BEGIN PAGE 11 ---
  867 +0: word: BT
  868 +2: space: \x0a
  869 +5: name: /F1
  870 +8: space:
  871 +9: integer: 24
  872 +11: space:
  873 +12: word: Tf
  874 +14: space: \x0a
  875 +17: integer: 72
  876 +19: space:
  877 +20: integer: 720
  878 +23: space:
  879 +24: word: Td
  880 +26: space: \x0a
  881 +29: string: Potato (raw: (Potato))
  882 +37: space:
  883 +38: word: Tj
  884 +40: space: \x0a
  885 +41: word: ET
  886 +43: space: \x0a
  887 +44: eof
  888 +--- END PAGE 11 ---
  889 +--- BEGIN OBJECT STREAM 1 ---
  890 +0: integer: 2
  891 +1: space:
  892 +2: integer: 0
  893 +3: space: \x0a
  894 +4: integer: 3
  895 +5: space:
  896 +6: integer: 97
  897 +8: space: \x0a
  898 +9: integer: 4
  899 +10: space:
  900 +11: integer: 318
  901 +14: space: \x0a
  902 +15: integer: 5
  903 +16: space:
  904 +17: integer: 566
  905 +20: space: \x0a
  906 +21: integer: 6
  907 +22: space:
  908 +23: integer: 814
  909 +26: space: \x0a
  910 +27: integer: 7
  911 +28: space:
  912 +29: integer: 1062
  913 +33: space: \x0a
  914 +34: integer: 8
  915 +35: space:
  916 +36: integer: 1310
  917 +40: space: \x0a
  918 +41: integer: 9
  919 +42: space:
  920 +43: integer: 1558
  921 +47: space: \x0a
  922 +48: integer: 10
  923 +50: space:
  924 +51: integer: 1808
  925 +55: space: \x0a
  926 +56: integer: 11
  927 +58: space:
  928 +59: integer: 2058
  929 +63: space: \x0a
  930 +64: integer: 12
  931 +66: space:
  932 +67: integer: 2309
  933 +71: space: \x0a
  934 +72: integer: 13
  935 +74: space:
  936 +75: integer: 2560
  937 +79: space: \x0a
  938 +80: integer: 14
  939 +82: space:
  940 +83: integer: 2812
  941 +87: space: \x0a
  942 +88: integer: 15
  943 +90: space:
  944 +91: integer: 3064
  945 +95: space: \x0a
  946 +96: integer: 16
  947 +98: space:
  948 +99: integer: 3228
  949 +103: space: \x0a
  950 +104: integer: 17
  951 +106: space:
  952 +107: integer: 3309
  953 +111: space: \x0a
  954 +112: integer: 18
  955 +114: space:
  956 +115: integer: 3473
  957 +119: space: \x0a
  958 +120: integer: 19
  959 +122: space:
  960 +123: integer: 3554
  961 +127: space: \x0a
  962 +128: integer: 20
  963 +130: space:
  964 +131: integer: 3718
  965 +135: space: \x0a
  966 +136: integer: 21
  967 +138: space:
  968 +139: integer: 3799
  969 +143: space: \x0a
  970 +144: integer: 22
  971 +146: space:
  972 +147: integer: 3963
  973 +151: space: \x0a
  974 +152: integer: 23
  975 +154: space:
  976 +155: integer: 4044
  977 +159: space: \x0a
  978 +160: integer: 24
  979 +162: space:
  980 +163: integer: 4208
  981 +167: space: \x0a
  982 +168: integer: 25
  983 +170: space:
  984 +171: integer: 4289
  985 +175: space: \x0a
  986 +176: integer: 26
  987 +178: space:
  988 +179: integer: 4453
  989 +183: space: \x0a
  990 +184: integer: 27
  991 +186: space:
  992 +187: integer: 4534
  993 +191: space: \x0a
  994 +192: integer: 28
  995 +194: space:
  996 +195: integer: 4698
  997 +199: space: \x0a
  998 +200: integer: 29
  999 +202: space:
  1000 +203: integer: 4779
  1001 +207: space: \x0a
  1002 +208: integer: 30
  1003 +210: space:
  1004 +211: integer: 4943
  1005 +215: space: \x0a
  1006 +216: integer: 31
  1007 +218: space:
  1008 +219: integer: 5024
  1009 +223: space: \x0a
  1010 +224: integer: 32
  1011 +226: space:
  1012 +227: integer: 5188
  1013 +231: space: \x0a
  1014 +232: integer: 33
  1015 +234: space:
  1016 +235: integer: 5269
  1017 +239: space: \x0a
  1018 +240: integer: 34
  1019 +242: space:
  1020 +243: integer: 5433
  1021 +247: space: \x0a
  1022 +248: integer: 35
  1023 +250: space:
  1024 +251: integer: 5514
  1025 +255: space: \x0a
  1026 +256: integer: 36
  1027 +258: space:
  1028 +259: integer: 5678
  1029 +263: space: \x0a
  1030 +264: bad: %% Object stream: object 2, index 0; original obje (exceeded allowable length while reading token)
  1031 +314: word: ct
  1032 +316: space:
  1033 +317: word: ID:
  1034 +320: space:
  1035 +321: integer: 2
  1036 +322: space: \x0a
  1037 +323: dict_open: <<
  1038 +325: space: \x0a
  1039 +328: name: /Pages
  1040 +334: space:
  1041 +335: integer: 3
  1042 +336: space:
  1043 +337: integer: 0
  1044 +338: space:
  1045 +339: word: R
  1046 +340: space: \x0a
  1047 +343: name: /Type
  1048 +348: space:
  1049 +349: name: /Catalog
  1050 +357: space: \x0a
  1051 +358: dict_close: >>
  1052 +360: space: \x0a
  1053 +361: bad: %% Object stream: object 3, index 1; original obje (exceeded allowable length while reading token)
  1054 +411: word: ct
  1055 +413: space:
  1056 +414: word: ID:
  1057 +417: space:
  1058 +418: integer: 3
  1059 +419: space: \x0a
  1060 +420: dict_open: <<
  1061 +422: space: \x0a
  1062 +425: name: /Count
  1063 +431: space:
  1064 +432: integer: 11
  1065 +434: space: \x0a
  1066 +437: name: /Kids
  1067 +442: space:
  1068 +443: array_open: [
  1069 +444: space: \x0a
  1070 +449: integer: 4
  1071 +450: space:
  1072 +451: integer: 0
  1073 +452: space:
  1074 +453: word: R
  1075 +454: space: \x0a
  1076 +459: integer: 5
  1077 +460: space:
  1078 +461: integer: 0
  1079 +462: space:
  1080 +463: word: R
  1081 +464: space: \x0a
  1082 +469: integer: 6
  1083 +470: space:
  1084 +471: integer: 0
  1085 +472: space:
  1086 +473: word: R
  1087 +474: space: \x0a
  1088 +479: integer: 7
  1089 +480: space:
  1090 +481: integer: 0
  1091 +482: space:
  1092 +483: word: R
  1093 +484: space: \x0a
  1094 +489: integer: 8
  1095 +490: space:
  1096 +491: integer: 0
  1097 +492: space:
  1098 +493: word: R
  1099 +494: space: \x0a
  1100 +499: integer: 9
  1101 +500: space:
  1102 +501: integer: 0
  1103 +502: space:
  1104 +503: word: R
  1105 +504: space: \x0a
  1106 +509: integer: 10
  1107 +511: space:
  1108 +512: integer: 0
  1109 +513: space:
  1110 +514: word: R
  1111 +515: space: \x0a
  1112 +520: integer: 11
  1113 +522: space:
  1114 +523: integer: 0
  1115 +524: space:
  1116 +525: word: R
  1117 +526: space: \x0a
  1118 +531: integer: 12
  1119 +533: space:
  1120 +534: integer: 0
  1121 +535: space:
  1122 +536: word: R
  1123 +537: space: \x0a
  1124 +542: integer: 13
  1125 +544: space:
  1126 +545: integer: 0
  1127 +546: space:
  1128 +547: word: R
  1129 +548: space: \x0a
  1130 +553: integer: 14
  1131 +555: space:
  1132 +556: integer: 0
  1133 +557: space:
  1134 +558: word: R
  1135 +559: space: \x0a
  1136 +562: array_close: ]
  1137 +563: space: \x0a
  1138 +566: name: /Type
  1139 +571: space:
  1140 +572: name: /Pages
  1141 +578: space: \x0a
  1142 +579: dict_close: >>
  1143 +581: space: \x0a
  1144 +582: bad: %% Object stream: object 4, index 2; original obje (exceeded allowable length while reading token)
  1145 +632: word: ct
  1146 +634: space:
  1147 +635: word: ID:
  1148 +638: space:
  1149 +639: integer: 4
  1150 +640: space: \x0a
  1151 +641: comment: %% Page 1
  1152 +650: space: \x0a
  1153 +651: dict_open: <<
  1154 +653: space: \x0a
  1155 +656: name: /Contents
  1156 +665: space:
  1157 +666: integer: 37
  1158 +668: space:
  1159 +669: integer: 0
  1160 +670: space:
  1161 +671: word: R
  1162 +672: space: \x0a
  1163 +675: name: /MediaBox
  1164 +684: space:
  1165 +685: array_open: [
  1166 +686: space: \x0a
  1167 +691: integer: 0
  1168 +692: space: \x0a
  1169 +697: integer: 0
  1170 +698: space: \x0a
  1171 +703: integer: 612
  1172 +706: space: \x0a
  1173 +711: integer: 792
  1174 +714: space: \x0a
  1175 +717: array_close: ]
  1176 +718: space: \x0a
  1177 +721: name: /Parent
  1178 +728: space:
  1179 +729: integer: 3
  1180 +730: space:
  1181 +731: integer: 0
  1182 +732: space:
  1183 +733: word: R
  1184 +734: space: \x0a
  1185 +737: name: /Resources
  1186 +747: space:
  1187 +748: dict_open: <<
  1188 +750: space: \x0a
  1189 +755: name: /Font
  1190 +760: space:
  1191 +761: dict_open: <<
  1192 +763: space: \x0a
  1193 +770: name: /F1
  1194 +773: space:
  1195 +774: integer: 15
  1196 +776: space:
  1197 +777: integer: 0
  1198 +778: space:
  1199 +779: word: R
  1200 +780: space: \x0a
  1201 +785: dict_close: >>
  1202 +787: space: \x0a
  1203 +792: name: /ProcSet
  1204 +800: space:
  1205 +801: integer: 16
  1206 +803: space:
  1207 +804: integer: 0
  1208 +805: space:
  1209 +806: word: R
  1210 +807: space: \x0a
  1211 +810: dict_close: >>
  1212 +812: space: \x0a
  1213 +815: name: /Type
  1214 +820: space:
  1215 +821: name: /Page
  1216 +826: space: \x0a
  1217 +827: dict_close: >>
  1218 +829: space: \x0a
  1219 +830: bad: %% Object stream: object 5, index 3; original obje (exceeded allowable length while reading token)
  1220 +880: word: ct
  1221 +882: space:
  1222 +883: word: ID:
  1223 +886: space:
  1224 +887: integer: 5
  1225 +888: space: \x0a
  1226 +889: comment: %% Page 2
  1227 +898: space: \x0a
  1228 +899: dict_open: <<
  1229 +901: space: \x0a
  1230 +904: name: /Contents
  1231 +913: space:
  1232 +914: integer: 39
  1233 +916: space:
  1234 +917: integer: 0
  1235 +918: space:
  1236 +919: word: R
  1237 +920: space: \x0a
  1238 +923: name: /MediaBox
  1239 +932: space:
  1240 +933: array_open: [
  1241 +934: space: \x0a
  1242 +939: integer: 0
  1243 +940: space: \x0a
  1244 +945: integer: 0
  1245 +946: space: \x0a
  1246 +951: integer: 612
  1247 +954: space: \x0a
  1248 +959: integer: 792
  1249 +962: space: \x0a
  1250 +965: array_close: ]
  1251 +966: space: \x0a
  1252 +969: name: /Parent
  1253 +976: space:
  1254 +977: integer: 3
  1255 +978: space:
  1256 +979: integer: 0
  1257 +980: space:
  1258 +981: word: R
  1259 +982: space: \x0a
  1260 +985: name: /Resources
  1261 +995: space:
  1262 +996: dict_open: <<
  1263 +998: space: \x0a
  1264 +1003: name: /Font
  1265 +1008: space:
  1266 +1009: dict_open: <<
  1267 +1011: space: \x0a
  1268 +1018: name: /F1
  1269 +1021: space:
  1270 +1022: integer: 17
  1271 +1024: space:
  1272 +1025: integer: 0
  1273 +1026: space:
  1274 +1027: word: R
  1275 +1028: space: \x0a
  1276 +1033: dict_close: >>
  1277 +1035: space: \x0a
  1278 +1040: name: /ProcSet
  1279 +1048: space:
  1280 +1049: integer: 18
  1281 +1051: space:
  1282 +1052: integer: 0
  1283 +1053: space:
  1284 +1054: word: R
  1285 +1055: space: \x0a
  1286 +1058: dict_close: >>
  1287 +1060: space: \x0a
  1288 +1063: name: /Type
  1289 +1068: space:
  1290 +1069: name: /Page
  1291 +1074: space: \x0a
  1292 +1075: dict_close: >>
  1293 +1077: space: \x0a
  1294 +1078: bad: %% Object stream: object 6, index 4; original obje (exceeded allowable length while reading token)
  1295 +1128: word: ct
  1296 +1130: space:
  1297 +1131: word: ID:
  1298 +1134: space:
  1299 +1135: integer: 6
  1300 +1136: space: \x0a
  1301 +1137: comment: %% Page 3
  1302 +1146: space: \x0a
  1303 +1147: dict_open: <<
  1304 +1149: space: \x0a
  1305 +1152: name: /Contents
  1306 +1161: space:
  1307 +1162: integer: 41
  1308 +1164: space:
  1309 +1165: integer: 0
  1310 +1166: space:
  1311 +1167: word: R
  1312 +1168: space: \x0a
  1313 +1171: name: /MediaBox
  1314 +1180: space:
  1315 +1181: array_open: [
  1316 +1182: space: \x0a
  1317 +1187: integer: 0
  1318 +1188: space: \x0a
  1319 +1193: integer: 0
  1320 +1194: space: \x0a
  1321 +1199: integer: 612
  1322 +1202: space: \x0a
  1323 +1207: integer: 792
  1324 +1210: space: \x0a
  1325 +1213: array_close: ]
  1326 +1214: space: \x0a
  1327 +1217: name: /Parent
  1328 +1224: space:
  1329 +1225: integer: 3
  1330 +1226: space:
  1331 +1227: integer: 0
  1332 +1228: space:
  1333 +1229: word: R
  1334 +1230: space: \x0a
  1335 +1233: name: /Resources
  1336 +1243: space:
  1337 +1244: dict_open: <<
  1338 +1246: space: \x0a
  1339 +1251: name: /Font
  1340 +1256: space:
  1341 +1257: dict_open: <<
  1342 +1259: space: \x0a
  1343 +1266: name: /F1
  1344 +1269: space:
  1345 +1270: integer: 19
  1346 +1272: space:
  1347 +1273: integer: 0
  1348 +1274: space:
  1349 +1275: word: R
  1350 +1276: space: \x0a
  1351 +1281: dict_close: >>
  1352 +1283: space: \x0a
  1353 +1288: name: /ProcSet
  1354 +1296: space:
  1355 +1297: integer: 20
  1356 +1299: space:
  1357 +1300: integer: 0
  1358 +1301: space:
  1359 +1302: word: R
  1360 +1303: space: \x0a
  1361 +1306: dict_close: >>
  1362 +1308: space: \x0a
  1363 +1311: name: /Type
  1364 +1316: space:
  1365 +1317: name: /Page
  1366 +1322: space: \x0a
  1367 +1323: dict_close: >>
  1368 +1325: space: \x0a
  1369 +1326: bad: %% Object stream: object 7, index 5; original obje (exceeded allowable length while reading token)
  1370 +1376: word: ct
  1371 +1378: space:
  1372 +1379: word: ID:
  1373 +1382: space:
  1374 +1383: integer: 7
  1375 +1384: space: \x0a
  1376 +1385: comment: %% Page 4
  1377 +1394: space: \x0a
  1378 +1395: dict_open: <<
  1379 +1397: space: \x0a
  1380 +1400: name: /Contents
  1381 +1409: space:
  1382 +1410: integer: 43
  1383 +1412: space:
  1384 +1413: integer: 0
  1385 +1414: space:
  1386 +1415: word: R
  1387 +1416: space: \x0a
  1388 +1419: name: /MediaBox
  1389 +1428: space:
  1390 +1429: array_open: [
  1391 +1430: space: \x0a
  1392 +1435: integer: 0
  1393 +1436: space: \x0a
  1394 +1441: integer: 0
  1395 +1442: space: \x0a
  1396 +1447: integer: 612
  1397 +1450: space: \x0a
  1398 +1455: integer: 792
  1399 +1458: space: \x0a
  1400 +1461: array_close: ]
  1401 +1462: space: \x0a
  1402 +1465: name: /Parent
  1403 +1472: space:
  1404 +1473: integer: 3
  1405 +1474: space:
  1406 +1475: integer: 0
  1407 +1476: space:
  1408 +1477: word: R
  1409 +1478: space: \x0a
  1410 +1481: name: /Resources
  1411 +1491: space:
  1412 +1492: dict_open: <<
  1413 +1494: space: \x0a
  1414 +1499: name: /Font
  1415 +1504: space:
  1416 +1505: dict_open: <<
  1417 +1507: space: \x0a
  1418 +1514: name: /F1
  1419 +1517: space:
  1420 +1518: integer: 21
  1421 +1520: space:
  1422 +1521: integer: 0
  1423 +1522: space:
  1424 +1523: word: R
  1425 +1524: space: \x0a
  1426 +1529: dict_close: >>
  1427 +1531: space: \x0a
  1428 +1536: name: /ProcSet
  1429 +1544: space:
  1430 +1545: integer: 22
  1431 +1547: space:
  1432 +1548: integer: 0
  1433 +1549: space:
  1434 +1550: word: R
  1435 +1551: space: \x0a
  1436 +1554: dict_close: >>
  1437 +1556: space: \x0a
  1438 +1559: name: /Type
  1439 +1564: space:
  1440 +1565: name: /Page
  1441 +1570: space: \x0a
  1442 +1571: dict_close: >>
  1443 +1573: space: \x0a
  1444 +1574: bad: %% Object stream: object 8, index 6; original obje (exceeded allowable length while reading token)
  1445 +1624: word: ct
  1446 +1626: space:
  1447 +1627: word: ID:
  1448 +1630: space:
  1449 +1631: integer: 8
  1450 +1632: space: \x0a
  1451 +1633: comment: %% Page 5
  1452 +1642: space: \x0a
  1453 +1643: dict_open: <<
  1454 +1645: space: \x0a
  1455 +1648: name: /Contents
  1456 +1657: space:
  1457 +1658: integer: 45
  1458 +1660: space:
  1459 +1661: integer: 0
  1460 +1662: space:
  1461 +1663: word: R
  1462 +1664: space: \x0a
  1463 +1667: name: /MediaBox
  1464 +1676: space:
  1465 +1677: array_open: [
  1466 +1678: space: \x0a
  1467 +1683: integer: 0
  1468 +1684: space: \x0a
  1469 +1689: integer: 0
  1470 +1690: space: \x0a
  1471 +1695: integer: 612
  1472 +1698: space: \x0a
  1473 +1703: integer: 792
  1474 +1706: space: \x0a
  1475 +1709: array_close: ]
  1476 +1710: space: \x0a
  1477 +1713: name: /Parent
  1478 +1720: space:
  1479 +1721: integer: 3
  1480 +1722: space:
  1481 +1723: integer: 0
  1482 +1724: space:
  1483 +1725: word: R
  1484 +1726: space: \x0a
  1485 +1729: name: /Resources
  1486 +1739: space:
  1487 +1740: dict_open: <<
  1488 +1742: space: \x0a
  1489 +1747: name: /Font
  1490 +1752: space:
  1491 +1753: dict_open: <<
  1492 +1755: space: \x0a
  1493 +1762: name: /F1
  1494 +1765: space:
  1495 +1766: integer: 23
  1496 +1768: space:
  1497 +1769: integer: 0
  1498 +1770: space:
  1499 +1771: word: R
  1500 +1772: space: \x0a
  1501 +1777: dict_close: >>
  1502 +1779: space: \x0a
  1503 +1784: name: /ProcSet
  1504 +1792: space:
  1505 +1793: integer: 24
  1506 +1795: space:
  1507 +1796: integer: 0
  1508 +1797: space:
  1509 +1798: word: R
  1510 +1799: space: \x0a
  1511 +1802: dict_close: >>
  1512 +1804: space: \x0a
  1513 +1807: name: /Type
  1514 +1812: space:
  1515 +1813: name: /Page
  1516 +1818: space: \x0a
  1517 +1819: dict_close: >>
  1518 +1821: space: \x0a
  1519 +1822: bad: %% Object stream: object 9, index 7; original obje (exceeded allowable length while reading token)
  1520 +1872: word: ct
  1521 +1874: space:
  1522 +1875: word: ID:
  1523 +1878: space:
  1524 +1879: integer: 9
  1525 +1880: space: \x0a
  1526 +1881: comment: %% Page 6
  1527 +1890: space: \x0a
  1528 +1891: dict_open: <<
  1529 +1893: space: \x0a
  1530 +1896: name: /Contents
  1531 +1905: space:
  1532 +1906: integer: 47
  1533 +1908: space:
  1534 +1909: integer: 0
  1535 +1910: space:
  1536 +1911: word: R
  1537 +1912: space: \x0a
  1538 +1915: name: /MediaBox
  1539 +1924: space:
  1540 +1925: array_open: [
  1541 +1926: space: \x0a
  1542 +1931: integer: 0
  1543 +1932: space: \x0a
  1544 +1937: integer: 0
  1545 +1938: space: \x0a
  1546 +1943: integer: 612
  1547 +1946: space: \x0a
  1548 +1951: integer: 792
  1549 +1954: space: \x0a
  1550 +1957: array_close: ]
  1551 +1958: space: \x0a
  1552 +1961: name: /Parent
  1553 +1968: space:
  1554 +1969: integer: 3
  1555 +1970: space:
  1556 +1971: integer: 0
  1557 +1972: space:
  1558 +1973: word: R
  1559 +1974: space: \x0a
  1560 +1977: name: /Resources
  1561 +1987: space:
  1562 +1988: dict_open: <<
  1563 +1990: space: \x0a
  1564 +1995: name: /Font
  1565 +2000: space:
  1566 +2001: dict_open: <<
  1567 +2003: space: \x0a
  1568 +2010: name: /F1
  1569 +2013: space:
  1570 +2014: integer: 25
  1571 +2016: space:
  1572 +2017: integer: 0
  1573 +2018: space:
  1574 +2019: word: R
  1575 +2020: space: \x0a
  1576 +2025: dict_close: >>
  1577 +2027: space: \x0a
  1578 +2032: name: /ProcSet
  1579 +2040: space:
  1580 +2041: integer: 26
  1581 +2043: space:
  1582 +2044: integer: 0
  1583 +2045: space:
  1584 +2046: word: R
  1585 +2047: space: \x0a
  1586 +2050: dict_close: >>
  1587 +2052: space: \x0a
  1588 +2055: name: /Type
  1589 +2060: space:
  1590 +2061: name: /Page
  1591 +2066: space: \x0a
  1592 +2067: dict_close: >>
  1593 +2069: space: \x0a
  1594 +2070: bad: %% Object stream: object 10, index 8; original obj (exceeded allowable length while reading token)
  1595 +2120: word: ect
  1596 +2123: space:
  1597 +2124: word: ID:
  1598 +2127: space:
  1599 +2128: integer: 10
  1600 +2130: space: \x0a
  1601 +2131: comment: %% Page 7
  1602 +2140: space: \x0a
  1603 +2141: dict_open: <<
  1604 +2143: space: \x0a
  1605 +2146: name: /Contents
  1606 +2155: space:
  1607 +2156: integer: 49
  1608 +2158: space:
  1609 +2159: integer: 0
  1610 +2160: space:
  1611 +2161: word: R
  1612 +2162: space: \x0a
  1613 +2165: name: /MediaBox
  1614 +2174: space:
  1615 +2175: array_open: [
  1616 +2176: space: \x0a
  1617 +2181: integer: 0
  1618 +2182: space: \x0a
  1619 +2187: integer: 0
  1620 +2188: space: \x0a
  1621 +2193: integer: 612
  1622 +2196: space: \x0a
  1623 +2201: integer: 792
  1624 +2204: space: \x0a
  1625 +2207: array_close: ]
  1626 +2208: space: \x0a
  1627 +2211: name: /Parent
  1628 +2218: space:
  1629 +2219: integer: 3
  1630 +2220: space:
  1631 +2221: integer: 0
  1632 +2222: space:
  1633 +2223: word: R
  1634 +2224: space: \x0a
  1635 +2227: name: /Resources
  1636 +2237: space:
  1637 +2238: dict_open: <<
  1638 +2240: space: \x0a
  1639 +2245: name: /Font
  1640 +2250: space:
  1641 +2251: dict_open: <<
  1642 +2253: space: \x0a
  1643 +2260: name: /F1
  1644 +2263: space:
  1645 +2264: integer: 27
  1646 +2266: space:
  1647 +2267: integer: 0
  1648 +2268: space:
  1649 +2269: word: R
  1650 +2270: space: \x0a
  1651 +2275: dict_close: >>
  1652 +2277: space: \x0a
  1653 +2282: name: /ProcSet
  1654 +2290: space:
  1655 +2291: integer: 28
  1656 +2293: space:
  1657 +2294: integer: 0
  1658 +2295: space:
  1659 +2296: word: R
  1660 +2297: space: \x0a
  1661 +2300: dict_close: >>
  1662 +2302: space: \x0a
  1663 +2305: name: /Type
  1664 +2310: space:
  1665 +2311: name: /Page
  1666 +2316: space: \x0a
  1667 +2317: dict_close: >>
  1668 +2319: space: \x0a
  1669 +2320: bad: %% Object stream: object 11, index 9; original obj (exceeded allowable length while reading token)
  1670 +2370: word: ect
  1671 +2373: space:
  1672 +2374: word: ID:
  1673 +2377: space:
  1674 +2378: integer: 11
  1675 +2380: space: \x0a
  1676 +2381: comment: %% Page 8
  1677 +2390: space: \x0a
  1678 +2391: dict_open: <<
  1679 +2393: space: \x0a
  1680 +2396: name: /Contents
  1681 +2405: space:
  1682 +2406: integer: 51
  1683 +2408: space:
  1684 +2409: integer: 0
  1685 +2410: space:
  1686 +2411: word: R
  1687 +2412: space: \x0a
  1688 +2415: name: /MediaBox
  1689 +2424: space:
  1690 +2425: array_open: [
  1691 +2426: space: \x0a
  1692 +2431: integer: 0
  1693 +2432: space: \x0a
  1694 +2437: integer: 0
  1695 +2438: space: \x0a
  1696 +2443: integer: 612
  1697 +2446: space: \x0a
  1698 +2451: integer: 792
  1699 +2454: space: \x0a
  1700 +2457: array_close: ]
  1701 +2458: space: \x0a
  1702 +2461: name: /Parent
  1703 +2468: space:
  1704 +2469: integer: 3
  1705 +2470: space:
  1706 +2471: integer: 0
  1707 +2472: space:
  1708 +2473: word: R
  1709 +2474: space: \x0a
  1710 +2477: name: /Resources
  1711 +2487: space:
  1712 +2488: dict_open: <<
  1713 +2490: space: \x0a
  1714 +2495: name: /Font
  1715 +2500: space:
  1716 +2501: dict_open: <<
  1717 +2503: space: \x0a
  1718 +2510: name: /F1
  1719 +2513: space:
  1720 +2514: integer: 29
  1721 +2516: space:
  1722 +2517: integer: 0
  1723 +2518: space:
  1724 +2519: word: R
  1725 +2520: space: \x0a
  1726 +2525: dict_close: >>
  1727 +2527: space: \x0a
  1728 +2532: name: /ProcSet
  1729 +2540: space:
  1730 +2541: integer: 30
  1731 +2543: space:
  1732 +2544: integer: 0
  1733 +2545: space:
  1734 +2546: word: R
  1735 +2547: space: \x0a
  1736 +2550: dict_close: >>
  1737 +2552: space: \x0a
  1738 +2555: name: /Type
  1739 +2560: space:
  1740 +2561: name: /Page
  1741 +2566: space: \x0a
  1742 +2567: dict_close: >>
  1743 +2569: space: \x0a
  1744 +2570: bad: %% Object stream: object 12, index 10; original ob (exceeded allowable length while reading token)
  1745 +2620: word: ject
  1746 +2624: space:
  1747 +2625: word: ID:
  1748 +2628: space:
  1749 +2629: integer: 12
  1750 +2631: space: \x0a
  1751 +2632: comment: %% Page 9
  1752 +2641: space: \x0a
  1753 +2642: dict_open: <<
  1754 +2644: space: \x0a
  1755 +2647: name: /Contents
  1756 +2656: space:
  1757 +2657: integer: 53
  1758 +2659: space:
  1759 +2660: integer: 0
  1760 +2661: space:
  1761 +2662: word: R
  1762 +2663: space: \x0a
  1763 +2666: name: /MediaBox
  1764 +2675: space:
  1765 +2676: array_open: [
  1766 +2677: space: \x0a
  1767 +2682: integer: 0
  1768 +2683: space: \x0a
  1769 +2688: integer: 0
  1770 +2689: space: \x0a
  1771 +2694: integer: 612
  1772 +2697: space: \x0a
  1773 +2702: integer: 792
  1774 +2705: space: \x0a
  1775 +2708: array_close: ]
  1776 +2709: space: \x0a
  1777 +2712: name: /Parent
  1778 +2719: space:
  1779 +2720: integer: 3
  1780 +2721: space:
  1781 +2722: integer: 0
  1782 +2723: space:
  1783 +2724: word: R
  1784 +2725: space: \x0a
  1785 +2728: name: /Resources
  1786 +2738: space:
  1787 +2739: dict_open: <<
  1788 +2741: space: \x0a
  1789 +2746: name: /Font
  1790 +2751: space:
  1791 +2752: dict_open: <<
  1792 +2754: space: \x0a
  1793 +2761: name: /F1
  1794 +2764: space:
  1795 +2765: integer: 31
  1796 +2767: space:
  1797 +2768: integer: 0
  1798 +2769: space:
  1799 +2770: word: R
  1800 +2771: space: \x0a
  1801 +2776: dict_close: >>
  1802 +2778: space: \x0a
  1803 +2783: name: /ProcSet
  1804 +2791: space:
  1805 +2792: integer: 32
  1806 +2794: space:
  1807 +2795: integer: 0
  1808 +2796: space:
  1809 +2797: word: R
  1810 +2798: space: \x0a
  1811 +2801: dict_close: >>
  1812 +2803: space: \x0a
  1813 +2806: name: /Type
  1814 +2811: space:
  1815 +2812: name: /Page
  1816 +2817: space: \x0a
  1817 +2818: dict_close: >>
  1818 +2820: space: \x0a
  1819 +2821: bad: %% Object stream: object 13, index 11; original ob (exceeded allowable length while reading token)
  1820 +2871: word: ject
  1821 +2875: space:
  1822 +2876: word: ID:
  1823 +2879: space:
  1824 +2880: integer: 13
  1825 +2882: space: \x0a
  1826 +2883: comment: %% Page 10
  1827 +2893: space: \x0a
  1828 +2894: dict_open: <<
  1829 +2896: space: \x0a
  1830 +2899: name: /Contents
  1831 +2908: space:
  1832 +2909: integer: 55
  1833 +2911: space:
  1834 +2912: integer: 0
  1835 +2913: space:
  1836 +2914: word: R
  1837 +2915: space: \x0a
  1838 +2918: name: /MediaBox
  1839 +2927: space:
  1840 +2928: array_open: [
  1841 +2929: space: \x0a
  1842 +2934: integer: 0
  1843 +2935: space: \x0a
  1844 +2940: integer: 0
  1845 +2941: space: \x0a
  1846 +2946: integer: 612
  1847 +2949: space: \x0a
  1848 +2954: integer: 792
  1849 +2957: space: \x0a
  1850 +2960: array_close: ]
  1851 +2961: space: \x0a
  1852 +2964: name: /Parent
  1853 +2971: space:
  1854 +2972: integer: 3
  1855 +2973: space:
  1856 +2974: integer: 0
  1857 +2975: space:
  1858 +2976: word: R
  1859 +2977: space: \x0a
  1860 +2980: name: /Resources
  1861 +2990: space:
  1862 +2991: dict_open: <<
  1863 +2993: space: \x0a
  1864 +2998: name: /Font
  1865 +3003: space:
  1866 +3004: dict_open: <<
  1867 +3006: space: \x0a
  1868 +3013: name: /F1
  1869 +3016: space:
  1870 +3017: integer: 33
  1871 +3019: space:
  1872 +3020: integer: 0
  1873 +3021: space:
  1874 +3022: word: R
  1875 +3023: space: \x0a
  1876 +3028: dict_close: >>
  1877 +3030: space: \x0a
  1878 +3035: name: /ProcSet
  1879 +3043: space:
  1880 +3044: integer: 34
  1881 +3046: space:
  1882 +3047: integer: 0
  1883 +3048: space:
  1884 +3049: word: R
  1885 +3050: space: \x0a
  1886 +3053: dict_close: >>
  1887 +3055: space: \x0a
  1888 +3058: name: /Type
  1889 +3063: space:
  1890 +3064: name: /Page
  1891 +3069: space: \x0a
  1892 +3070: dict_close: >>
  1893 +3072: space: \x0a
  1894 +3073: bad: %% Object stream: object 14, index 12; original ob (exceeded allowable length while reading token)
  1895 +3123: word: ject
  1896 +3127: space:
  1897 +3128: word: ID:
  1898 +3131: space:
  1899 +3132: integer: 14
  1900 +3134: space: \x0a
  1901 +3135: comment: %% Page 11
  1902 +3145: space: \x0a
  1903 +3146: dict_open: <<
  1904 +3148: space: \x0a
  1905 +3151: name: /Contents
  1906 +3160: space:
  1907 +3161: integer: 57
  1908 +3163: space:
  1909 +3164: integer: 0
  1910 +3165: space:
  1911 +3166: word: R
  1912 +3167: space: \x0a
  1913 +3170: name: /MediaBox
  1914 +3179: space:
  1915 +3180: array_open: [
  1916 +3181: space: \x0a
  1917 +3186: integer: 0
  1918 +3187: space: \x0a
  1919 +3192: integer: 0
  1920 +3193: space: \x0a
  1921 +3198: integer: 612
  1922 +3201: space: \x0a
  1923 +3206: integer: 792
  1924 +3209: space: \x0a
  1925 +3212: array_close: ]
  1926 +3213: space: \x0a
  1927 +3216: name: /Parent
  1928 +3223: space:
  1929 +3224: integer: 3
  1930 +3225: space:
  1931 +3226: integer: 0
  1932 +3227: space:
  1933 +3228: word: R
  1934 +3229: space: \x0a
  1935 +3232: name: /Resources
  1936 +3242: space:
  1937 +3243: dict_open: <<
  1938 +3245: space: \x0a
  1939 +3250: name: /Font
  1940 +3255: space:
  1941 +3256: dict_open: <<
  1942 +3258: space: \x0a
  1943 +3265: name: /F1
  1944 +3268: space:
  1945 +3269: integer: 35
  1946 +3271: space:
  1947 +3272: integer: 0
  1948 +3273: space:
  1949 +3274: word: R
  1950 +3275: space: \x0a
  1951 +3280: dict_close: >>
  1952 +3282: space: \x0a
  1953 +3287: name: /ProcSet
  1954 +3295: space:
  1955 +3296: integer: 36
  1956 +3298: space:
  1957 +3299: integer: 0
  1958 +3300: space:
  1959 +3301: word: R
  1960 +3302: space: \x0a
  1961 +3305: dict_close: >>
  1962 +3307: space: \x0a
  1963 +3310: name: /Type
  1964 +3315: space:
  1965 +3316: name: /Page
  1966 +3321: space: \x0a
  1967 +3322: dict_close: >>
  1968 +3324: space: \x0a
  1969 +3325: bad: %% Object stream: object 15, index 13; original ob (exceeded allowable length while reading token)
  1970 +3375: word: ject
  1971 +3379: space:
  1972 +3380: word: ID:
  1973 +3383: space:
  1974 +3384: integer: 15
  1975 +3386: space: \x0a
  1976 +3387: dict_open: <<
  1977 +3389: space: \x0a
  1978 +3392: name: /BaseFont
  1979 +3401: space:
  1980 +3402: name: /Helvetica
  1981 +3412: space: \x0a
  1982 +3415: name: /Encoding
  1983 +3424: space:
  1984 +3425: name: /WinAnsiEncoding
  1985 +3441: space: \x0a
  1986 +3444: name: /Name
  1987 +3449: space:
  1988 +3450: name: /F1
  1989 +3453: space: \x0a
  1990 +3456: name: /Subtype
  1991 +3464: space:
  1992 +3465: name: /Type1
  1993 +3471: space: \x0a
  1994 +3474: name: /Type
  1995 +3479: space:
  1996 +3480: name: /Font
  1997 +3485: space: \x0a
  1998 +3486: dict_close: >>
  1999 +3488: space: \x0a
  2000 +3489: bad: %% Object stream: object 16, index 14; original ob (exceeded allowable length while reading token)
  2001 +3539: word: ject
  2002 +3543: space:
  2003 +3544: word: ID:
  2004 +3547: space:
  2005 +3548: integer: 16
  2006 +3550: space: \x0a
  2007 +3551: array_open: [
  2008 +3552: space: \x0a
  2009 +3555: name: /PDF
  2010 +3559: space: \x0a
  2011 +3562: name: /Text
  2012 +3567: space: \x0a
  2013 +3568: array_close: ]
  2014 +3569: space: \x0a
  2015 +3570: bad: %% Object stream: object 17, index 15; original ob (exceeded allowable length while reading token)
  2016 +3620: word: ject
  2017 +3624: space:
  2018 +3625: word: ID:
  2019 +3628: space:
  2020 +3629: integer: 17
  2021 +3631: space: \x0a
  2022 +3632: dict_open: <<
  2023 +3634: space: \x0a
  2024 +3637: name: /BaseFont
  2025 +3646: space:
  2026 +3647: name: /Helvetica
  2027 +3657: space: \x0a
  2028 +3660: name: /Encoding
  2029 +3669: space:
  2030 +3670: name: /WinAnsiEncoding
  2031 +3686: space: \x0a
  2032 +3689: name: /Name
  2033 +3694: space:
  2034 +3695: name: /F1
  2035 +3698: space: \x0a
  2036 +3701: name: /Subtype
  2037 +3709: space:
  2038 +3710: name: /Type1
  2039 +3716: space: \x0a
  2040 +3719: name: /Type
  2041 +3724: space:
  2042 +3725: name: /Font
  2043 +3730: space: \x0a
  2044 +3731: dict_close: >>
  2045 +3733: space: \x0a
  2046 +3734: bad: %% Object stream: object 18, index 16; original ob (exceeded allowable length while reading token)
  2047 +3784: word: ject
  2048 +3788: space:
  2049 +3789: word: ID:
  2050 +3792: space:
  2051 +3793: integer: 18
  2052 +3795: space: \x0a
  2053 +3796: array_open: [
  2054 +3797: space: \x0a
  2055 +3800: name: /PDF
  2056 +3804: space: \x0a
  2057 +3807: name: /Text
  2058 +3812: space: \x0a
  2059 +3813: array_close: ]
  2060 +3814: space: \x0a
  2061 +3815: bad: %% Object stream: object 19, index 17; original ob (exceeded allowable length while reading token)
  2062 +3865: word: ject
  2063 +3869: space:
  2064 +3870: word: ID:
  2065 +3873: space:
  2066 +3874: integer: 19
  2067 +3876: space: \x0a
  2068 +3877: dict_open: <<
  2069 +3879: space: \x0a
  2070 +3882: name: /BaseFont
  2071 +3891: space:
  2072 +3892: name: /Helvetica
  2073 +3902: space: \x0a
  2074 +3905: name: /Encoding
  2075 +3914: space:
  2076 +3915: name: /WinAnsiEncoding
  2077 +3931: space: \x0a
  2078 +3934: name: /Name
  2079 +3939: space:
  2080 +3940: name: /F1
  2081 +3943: space: \x0a
  2082 +3946: name: /Subtype
  2083 +3954: space:
  2084 +3955: name: /Type1
  2085 +3961: space: \x0a
  2086 +3964: name: /Type
  2087 +3969: space:
  2088 +3970: name: /Font
  2089 +3975: space: \x0a
  2090 +3976: dict_close: >>
  2091 +3978: space: \x0a
  2092 +3979: bad: %% Object stream: object 20, index 18; original ob (exceeded allowable length while reading token)
  2093 +4029: word: ject
  2094 +4033: space:
  2095 +4034: word: ID:
  2096 +4037: space:
  2097 +4038: integer: 20
  2098 +4040: space: \x0a
  2099 +4041: array_open: [
  2100 +4042: space: \x0a
  2101 +4045: name: /PDF
  2102 +4049: space: \x0a
  2103 +4052: name: /Text
  2104 +4057: space: \x0a
  2105 +4058: array_close: ]
  2106 +4059: space: \x0a
  2107 +4060: bad: %% Object stream: object 21, index 19; original ob (exceeded allowable length while reading token)
  2108 +4110: word: ject
  2109 +4114: space:
  2110 +4115: word: ID:
  2111 +4118: space:
  2112 +4119: integer: 21
  2113 +4121: space: \x0a
  2114 +4122: dict_open: <<
  2115 +4124: space: \x0a
  2116 +4127: name: /BaseFont
  2117 +4136: space:
  2118 +4137: name: /Helvetica
  2119 +4147: space: \x0a
  2120 +4150: name: /Encoding
  2121 +4159: space:
  2122 +4160: name: /WinAnsiEncoding
  2123 +4176: space: \x0a
  2124 +4179: name: /Name
  2125 +4184: space:
  2126 +4185: name: /F1
  2127 +4188: space: \x0a
  2128 +4191: name: /Subtype
  2129 +4199: space:
  2130 +4200: name: /Type1
  2131 +4206: space: \x0a
  2132 +4209: name: /Type
  2133 +4214: space:
  2134 +4215: name: /Font
  2135 +4220: space: \x0a
  2136 +4221: dict_close: >>
  2137 +4223: space: \x0a
  2138 +4224: bad: %% Object stream: object 22, index 20; original ob (exceeded allowable length while reading token)
  2139 +4274: word: ject
  2140 +4278: space:
  2141 +4279: word: ID:
  2142 +4282: space:
  2143 +4283: integer: 22
  2144 +4285: space: \x0a
  2145 +4286: array_open: [
  2146 +4287: space: \x0a
  2147 +4290: name: /PDF
  2148 +4294: space: \x0a
  2149 +4297: name: /Text
  2150 +4302: space: \x0a
  2151 +4303: array_close: ]
  2152 +4304: space: \x0a
  2153 +4305: bad: %% Object stream: object 23, index 21; original ob (exceeded allowable length while reading token)
  2154 +4355: word: ject
  2155 +4359: space:
  2156 +4360: word: ID:
  2157 +4363: space:
  2158 +4364: integer: 23
  2159 +4366: space: \x0a
  2160 +4367: dict_open: <<
  2161 +4369: space: \x0a
  2162 +4372: name: /BaseFont
  2163 +4381: space:
  2164 +4382: name: /Helvetica
  2165 +4392: space: \x0a
  2166 +4395: name: /Encoding
  2167 +4404: space:
  2168 +4405: name: /WinAnsiEncoding
  2169 +4421: space: \x0a
  2170 +4424: name: /Name
  2171 +4429: space:
  2172 +4430: name: /F1
  2173 +4433: space: \x0a
  2174 +4436: name: /Subtype
  2175 +4444: space:
  2176 +4445: name: /Type1
  2177 +4451: space: \x0a
  2178 +4454: name: /Type
  2179 +4459: space:
  2180 +4460: name: /Font
  2181 +4465: space: \x0a
  2182 +4466: dict_close: >>
  2183 +4468: space: \x0a
  2184 +4469: bad: %% Object stream: object 24, index 22; original ob (exceeded allowable length while reading token)
  2185 +4519: word: ject
  2186 +4523: space:
  2187 +4524: word: ID:
  2188 +4527: space:
  2189 +4528: integer: 24
  2190 +4530: space: \x0a
  2191 +4531: array_open: [
  2192 +4532: space: \x0a
  2193 +4535: name: /PDF
  2194 +4539: space: \x0a
  2195 +4542: name: /Text
  2196 +4547: space: \x0a
  2197 +4548: array_close: ]
  2198 +4549: space: \x0a
  2199 +4550: bad: %% Object stream: object 25, index 23; original ob (exceeded allowable length while reading token)
  2200 +4600: word: ject
  2201 +4604: space:
  2202 +4605: word: ID:
  2203 +4608: space:
  2204 +4609: integer: 25
  2205 +4611: space: \x0a
  2206 +4612: dict_open: <<
  2207 +4614: space: \x0a
  2208 +4617: name: /BaseFont
  2209 +4626: space:
  2210 +4627: name: /Helvetica
  2211 +4637: space: \x0a
  2212 +4640: name: /Encoding
  2213 +4649: space:
  2214 +4650: name: /WinAnsiEncoding
  2215 +4666: space: \x0a
  2216 +4669: name: /Name
  2217 +4674: space:
  2218 +4675: name: /F1
  2219 +4678: space: \x0a
  2220 +4681: name: /Subtype
  2221 +4689: space:
  2222 +4690: name: /Type1
  2223 +4696: space: \x0a
  2224 +4699: name: /Type
  2225 +4704: space:
  2226 +4705: name: /Font
  2227 +4710: space: \x0a
  2228 +4711: dict_close: >>
  2229 +4713: space: \x0a
  2230 +4714: bad: %% Object stream: object 26, index 24; original ob (exceeded allowable length while reading token)
  2231 +4764: word: ject
  2232 +4768: space:
  2233 +4769: word: ID:
  2234 +4772: space:
  2235 +4773: integer: 26
  2236 +4775: space: \x0a
  2237 +4776: array_open: [
  2238 +4777: space: \x0a
  2239 +4780: name: /PDF
  2240 +4784: space: \x0a
  2241 +4787: name: /Text
  2242 +4792: space: \x0a
  2243 +4793: array_close: ]
  2244 +4794: space: \x0a
  2245 +4795: bad: %% Object stream: object 27, index 25; original ob (exceeded allowable length while reading token)
  2246 +4845: word: ject
  2247 +4849: space:
  2248 +4850: word: ID:
  2249 +4853: space:
  2250 +4854: integer: 27
  2251 +4856: space: \x0a
  2252 +4857: dict_open: <<
  2253 +4859: space: \x0a
  2254 +4862: name: /BaseFont
  2255 +4871: space:
  2256 +4872: name: /Helvetica
  2257 +4882: space: \x0a
  2258 +4885: name: /Encoding
  2259 +4894: space:
  2260 +4895: name: /WinAnsiEncoding
  2261 +4911: space: \x0a
  2262 +4914: name: /Name
  2263 +4919: space:
  2264 +4920: name: /F1
  2265 +4923: space: \x0a
  2266 +4926: name: /Subtype
  2267 +4934: space:
  2268 +4935: name: /Type1
  2269 +4941: space: \x0a
  2270 +4944: name: /Type
  2271 +4949: space:
  2272 +4950: name: /Font
  2273 +4955: space: \x0a
  2274 +4956: dict_close: >>
  2275 +4958: space: \x0a
  2276 +4959: bad: %% Object stream: object 28, index 26; original ob (exceeded allowable length while reading token)
  2277 +5009: word: ject
  2278 +5013: space:
  2279 +5014: word: ID:
  2280 +5017: space:
  2281 +5018: integer: 28
  2282 +5020: space: \x0a
  2283 +5021: array_open: [
  2284 +5022: space: \x0a
  2285 +5025: name: /PDF
  2286 +5029: space: \x0a
  2287 +5032: name: /Text
  2288 +5037: space: \x0a
  2289 +5038: array_close: ]
  2290 +5039: space: \x0a
  2291 +5040: bad: %% Object stream: object 29, index 27; original ob (exceeded allowable length while reading token)
  2292 +5090: word: ject
  2293 +5094: space:
  2294 +5095: word: ID:
  2295 +5098: space:
  2296 +5099: integer: 29
  2297 +5101: space: \x0a
  2298 +5102: dict_open: <<
  2299 +5104: space: \x0a
  2300 +5107: name: /BaseFont
  2301 +5116: space:
  2302 +5117: name: /Helvetica
  2303 +5127: space: \x0a
  2304 +5130: name: /Encoding
  2305 +5139: space:
  2306 +5140: name: /WinAnsiEncoding
  2307 +5156: space: \x0a
  2308 +5159: name: /Name
  2309 +5164: space:
  2310 +5165: name: /F1
  2311 +5168: space: \x0a
  2312 +5171: name: /Subtype
  2313 +5179: space:
  2314 +5180: name: /Type1
  2315 +5186: space: \x0a
  2316 +5189: name: /Type
  2317 +5194: space:
  2318 +5195: name: /Font
  2319 +5200: space: \x0a
  2320 +5201: dict_close: >>
  2321 +5203: space: \x0a
  2322 +5204: bad: %% Object stream: object 30, index 28; original ob (exceeded allowable length while reading token)
  2323 +5254: word: ject
  2324 +5258: space:
  2325 +5259: word: ID:
  2326 +5262: space:
  2327 +5263: integer: 30
  2328 +5265: space: \x0a
  2329 +5266: array_open: [
  2330 +5267: space: \x0a
  2331 +5270: name: /PDF
  2332 +5274: space: \x0a
  2333 +5277: name: /Text
  2334 +5282: space: \x0a
  2335 +5283: array_close: ]
  2336 +5284: space: \x0a
  2337 +5285: bad: %% Object stream: object 31, index 29; original ob (exceeded allowable length while reading token)
  2338 +5335: word: ject
  2339 +5339: space:
  2340 +5340: word: ID:
  2341 +5343: space:
  2342 +5344: integer: 31
  2343 +5346: space: \x0a
  2344 +5347: dict_open: <<
  2345 +5349: space: \x0a
  2346 +5352: name: /BaseFont
  2347 +5361: space:
  2348 +5362: name: /Helvetica
  2349 +5372: space: \x0a
  2350 +5375: name: /Encoding
  2351 +5384: space:
  2352 +5385: name: /WinAnsiEncoding
  2353 +5401: space: \x0a
  2354 +5404: name: /Name
  2355 +5409: space:
  2356 +5410: name: /F1
  2357 +5413: space: \x0a
  2358 +5416: name: /Subtype
  2359 +5424: space:
  2360 +5425: name: /Type1
  2361 +5431: space: \x0a
  2362 +5434: name: /Type
  2363 +5439: space:
  2364 +5440: name: /Font
  2365 +5445: space: \x0a
  2366 +5446: dict_close: >>
  2367 +5448: space: \x0a
  2368 +5449: bad: %% Object stream: object 32, index 30; original ob (exceeded allowable length while reading token)
  2369 +5499: word: ject
  2370 +5503: space:
  2371 +5504: word: ID:
  2372 +5507: space:
  2373 +5508: integer: 32
  2374 +5510: space: \x0a
  2375 +5511: array_open: [
  2376 +5512: space: \x0a
  2377 +5515: name: /PDF
  2378 +5519: space: \x0a
  2379 +5522: name: /Text
  2380 +5527: space: \x0a
  2381 +5528: array_close: ]
  2382 +5529: space: \x0a
  2383 +5530: bad: %% Object stream: object 33, index 31; original ob (exceeded allowable length while reading token)
  2384 +5580: word: ject
  2385 +5584: space:
  2386 +5585: word: ID:
  2387 +5588: space:
  2388 +5589: integer: 33
  2389 +5591: space: \x0a
  2390 +5592: dict_open: <<
  2391 +5594: space: \x0a
  2392 +5597: name: /BaseFont
  2393 +5606: space:
  2394 +5607: name: /Helvetica
  2395 +5617: space: \x0a
  2396 +5620: name: /Encoding
  2397 +5629: space:
  2398 +5630: name: /WinAnsiEncoding
  2399 +5646: space: \x0a
  2400 +5649: name: /Name
  2401 +5654: space:
  2402 +5655: name: /F1
  2403 +5658: space: \x0a
  2404 +5661: name: /Subtype
  2405 +5669: space:
  2406 +5670: name: /Type1
  2407 +5676: space: \x0a
  2408 +5679: name: /Type
  2409 +5684: space:
  2410 +5685: name: /Font
  2411 +5690: space: \x0a
  2412 +5691: dict_close: >>
  2413 +5693: space: \x0a
  2414 +5694: bad: %% Object stream: object 34, index 32; original ob (exceeded allowable length while reading token)
  2415 +5744: word: ject
  2416 +5748: space:
  2417 +5749: word: ID:
  2418 +5752: space:
  2419 +5753: integer: 34
  2420 +5755: space: \x0a
  2421 +5756: array_open: [
  2422 +5757: space: \x0a
  2423 +5760: name: /PDF
  2424 +5764: space: \x0a
  2425 +5767: name: /Text
  2426 +5772: space: \x0a
  2427 +5773: array_close: ]
  2428 +5774: space: \x0a
  2429 +5775: bad: %% Object stream: object 35, index 33; original ob (exceeded allowable length while reading token)
  2430 +5825: word: ject
  2431 +5829: space:
  2432 +5830: word: ID:
  2433 +5833: space:
  2434 +5834: integer: 35
  2435 +5836: space: \x0a
  2436 +5837: dict_open: <<
  2437 +5839: space: \x0a
  2438 +5842: name: /BaseFont
  2439 +5851: space:
  2440 +5852: name: /Helvetica
  2441 +5862: space: \x0a
  2442 +5865: name: /Encoding
  2443 +5874: space:
  2444 +5875: name: /WinAnsiEncoding
  2445 +5891: space: \x0a
  2446 +5894: name: /Name
  2447 +5899: space:
  2448 +5900: name: /F1
  2449 +5903: space: \x0a
  2450 +5906: name: /Subtype
  2451 +5914: space:
  2452 +5915: name: /Type1
  2453 +5921: space: \x0a
  2454 +5924: name: /Type
  2455 +5929: space:
  2456 +5930: name: /Font
  2457 +5935: space: \x0a
  2458 +5936: dict_close: >>
  2459 +5938: space: \x0a
  2460 +5939: bad: %% Object stream: object 36, index 34; original ob (exceeded allowable length while reading token)
  2461 +5989: word: ject
  2462 +5993: space:
  2463 +5994: word: ID:
  2464 +5997: space:
  2465 +5998: integer: 36
  2466 +6000: space: \x0a
  2467 +6001: array_open: [
  2468 +6002: space: \x0a
  2469 +6005: name: /PDF
  2470 +6009: space: \x0a
  2471 +6012: name: /Text
  2472 +6017: space: \x0a
  2473 +6018: array_close: ]
  2474 +6019: space: \x0a
  2475 +6020: eof
  2476 +--- END OBJECT STREAM 1 ---
... ...
qpdf/qtest/qpdf/tokens-no-ignorable.out 0 โ†’ 100644
  1 +--- BEGIN FILE ---
  2 +60: integer: 1
  3 +62: integer: 0
  4 +64: word: obj
  5 +68: dict_open: <<
  6 +73: name: /Type
  7 +79: name: /ObjStm
  8 +89: name: /Length
  9 +97: integer: 6020
  10 +104: name: /N
  11 +107: integer: 35
  12 +112: name: /First
  13 +119: integer: 323
  14 +123: dict_close: >>
  15 +126: word: stream
  16 +skipping to endstream
  17 +6153: word: endstream
  18 +6163: word: endobj
  19 +6222: integer: 37
  20 +6225: integer: 0
  21 +6227: word: obj
  22 +6231: dict_open: <<
  23 +6236: name: /Length
  24 +6244: integer: 38
  25 +6247: integer: 0
  26 +6249: word: R
  27 +6251: dict_close: >>
  28 +6254: word: stream
  29 +skipping to endstream
  30 +6305: word: endstream
  31 +6315: word: endobj
  32 +6323: integer: 38
  33 +6326: integer: 0
  34 +6328: word: obj
  35 +6332: integer: 44
  36 +6335: word: endobj
  37 +6394: integer: 39
  38 +6397: integer: 0
  39 +6399: word: obj
  40 +6403: dict_open: <<
  41 +6408: name: /Length
  42 +6416: integer: 40
  43 +6419: integer: 0
  44 +6421: word: R
  45 +6423: dict_close: >>
  46 +6426: word: stream
  47 +skipping to endstream
  48 +6832: word: endstream
  49 +6842: word: endobj
  50 +6850: integer: 40
  51 +6853: integer: 0
  52 +6855: word: obj
  53 +6859: integer: 399
  54 +6863: word: endobj
  55 +6922: integer: 41
  56 +6925: integer: 0
  57 +6927: word: obj
  58 +6931: dict_open: <<
  59 +6936: name: /Length
  60 +6944: integer: 42
  61 +6947: integer: 0
  62 +6949: word: R
  63 +6951: dict_close: >>
  64 +6954: word: stream
  65 +skipping to endstream
  66 +7001: word: endstream
  67 +7011: word: endobj
  68 +7019: integer: 42
  69 +7022: integer: 0
  70 +7024: word: obj
  71 +7028: integer: 40
  72 +7031: word: endobj
  73 +7090: integer: 43
  74 +7093: integer: 0
  75 +7095: word: obj
  76 +7099: dict_open: <<
  77 +7104: name: /Length
  78 +7112: integer: 44
  79 +7115: integer: 0
  80 +7117: word: R
  81 +7119: dict_close: >>
  82 +7122: word: stream
  83 +skipping to endstream
  84 +7404: word: endstream
  85 +7414: word: endobj
  86 +7422: integer: 44
  87 +7425: integer: 0
  88 +7427: word: obj
  89 +7431: integer: 275
  90 +7435: word: endobj
  91 +7494: integer: 45
  92 +7497: integer: 0
  93 +7499: word: obj
  94 +7503: dict_open: <<
  95 +7508: name: /Length
  96 +7516: integer: 46
  97 +7519: integer: 0
  98 +7521: word: R
  99 +7523: dict_close: >>
  100 +7526: word: stream
  101 +skipping to endstream
  102 +7601: word: endstream
  103 +7611: word: endobj
  104 +7619: integer: 46
  105 +7622: integer: 0
  106 +7624: word: obj
  107 +7628: integer: 68
  108 +7631: word: endobj
  109 +7690: integer: 47
  110 +7693: integer: 0
  111 +7695: word: obj
  112 +7699: dict_open: <<
  113 +7704: name: /Length
  114 +7712: integer: 48
  115 +7715: integer: 0
  116 +7717: word: R
  117 +7719: dict_close: >>
  118 +7722: word: stream
  119 +skipping to endstream
  120 +7773: word: endstream
  121 +7783: word: endobj
  122 +7791: integer: 48
  123 +7794: integer: 0
  124 +7796: word: obj
  125 +7800: integer: 44
  126 +7803: word: endobj
  127 +7862: integer: 49
  128 +7865: integer: 0
  129 +7867: word: obj
  130 +7871: dict_open: <<
  131 +7876: name: /Length
  132 +7884: integer: 50
  133 +7887: integer: 0
  134 +7889: word: R
  135 +7891: dict_close: >>
  136 +7894: word: stream
  137 +skipping to endstream
  138 +7945: word: endstream
  139 +7955: word: endobj
  140 +7963: integer: 50
  141 +7966: integer: 0
  142 +7968: word: obj
  143 +7972: integer: 44
  144 +7975: word: endobj
  145 +8034: integer: 51
  146 +8037: integer: 0
  147 +8039: word: obj
  148 +8043: dict_open: <<
  149 +8048: name: /Length
  150 +8056: integer: 52
  151 +8059: integer: 0
  152 +8061: word: R
  153 +8063: dict_close: >>
  154 +8066: word: stream
  155 +skipping to endstream
  156 +8117: word: endstream
  157 +8127: word: endobj
  158 +8135: integer: 52
  159 +8138: integer: 0
  160 +8140: word: obj
  161 +8144: integer: 44
  162 +8147: word: endobj
  163 +8206: integer: 53
  164 +8209: integer: 0
  165 +8211: word: obj
  166 +8215: dict_open: <<
  167 +8220: name: /Length
  168 +8228: integer: 54
  169 +8231: integer: 0
  170 +8233: word: R
  171 +8235: dict_close: >>
  172 +8238: word: stream
  173 +skipping to endstream
  174 +8289: word: endstream
  175 +8299: word: endobj
  176 +8307: integer: 54
  177 +8310: integer: 0
  178 +8312: word: obj
  179 +8316: integer: 44
  180 +8319: word: endobj
  181 +8379: integer: 55
  182 +8382: integer: 0
  183 +8384: word: obj
  184 +8388: dict_open: <<
  185 +8393: name: /Length
  186 +8401: integer: 56
  187 +8404: integer: 0
  188 +8406: word: R
  189 +8408: dict_close: >>
  190 +8411: word: stream
  191 +skipping to endstream
  192 +8462: word: endstream
  193 +8472: word: endobj
  194 +8480: integer: 56
  195 +8483: integer: 0
  196 +8485: word: obj
  197 +8489: integer: 44
  198 +8492: word: endobj
  199 +8552: integer: 57
  200 +8555: integer: 0
  201 +8557: word: obj
  202 +8561: dict_open: <<
  203 +8566: name: /Length
  204 +8574: integer: 58
  205 +8577: integer: 0
  206 +8579: word: R
  207 +8581: dict_close: >>
  208 +8584: word: stream
  209 +skipping to endstream
  210 +8635: word: endstream
  211 +8645: word: endobj
  212 +8653: integer: 58
  213 +8656: integer: 0
  214 +8658: word: obj
  215 +8662: integer: 44
  216 +8665: word: endobj
  217 +8673: integer: 59
  218 +8676: integer: 0
  219 +8678: word: obj
  220 +8682: dict_open: <<
  221 +8687: name: /Type
  222 +8693: name: /XRef
  223 +8701: name: /Length
  224 +8709: integer: 240
  225 +8715: name: /W
  226 +8718: array_open: [
  227 +8720: integer: 1
  228 +8722: integer: 2
  229 +8724: integer: 1
  230 +8726: array_close: ]
  231 +8730: name: /Root
  232 +8736: integer: 2
  233 +8738: integer: 0
  234 +8740: word: R
  235 +8744: name: /Size
  236 +8750: integer: 60
  237 +8755: name: /ID
  238 +8759: array_open: [
  239 +8760: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>)
  240 +8794: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>)
  241 +8828: array_close: ]
  242 +8830: dict_close: >>
  243 +8833: word: stream
  244 +skipping to endstream
  245 +9081: word: endstream
  246 +9091: word: endobj
  247 +9099: word: startxref
  248 +9109: integer: 8673
  249 +9120: eof
  250 +--- END FILE ---
  251 +--- BEGIN PAGE 1 ---
  252 +0: word: BT
  253 +5: name: /F1
  254 +9: integer: 24
  255 +12: word: Tf
  256 +17: integer: 72
  257 +20: integer: 720
  258 +24: word: Td
  259 +29: string: Potato (raw: (Potato))
  260 +38: word: Tj
  261 +41: word: ET
  262 +44: eof
  263 +--- END PAGE 1 ---
  264 +--- BEGIN PAGE 2 ---
  265 +0: word: BT
  266 +5: name: /F1
  267 +9: integer: 24
  268 +12: word: Tf
  269 +17: integer: 72
  270 +20: integer: 720
  271 +24: word: Td
  272 +29: string: Potato (raw: (Potato))
  273 +38: word: Tj
  274 +41: word: ET
  275 +44: word: BI
  276 +47: name: /CS
  277 +51: name: /G
  278 +53: name: /W
  279 +56: integer: 66
  280 +58: name: /H
  281 +61: integer: 47
  282 +63: name: /BPC
  283 +68: integer: 8
  284 +69: name: /F
  285 +71: name: /Fl
  286 +74: name: /DP
  287 +77: dict_open: <<
  288 +79: name: /Predictor
  289 +90: integer: 15
  290 +92: name: /Columns
  291 +101: integer: 66
  292 +103: dict_close: >>
  293 +106: word: ID
  294 +skipping to EI
  295 +352: word: EI
  296 +355: word: BT
  297 +360: name: /F1
  298 +364: integer: 24
  299 +367: word: Tf
  300 +372: integer: 72
  301 +375: integer: 720
  302 +379: word: Td
  303 +384: string: Potato (raw: (Potato))
  304 +393: word: Tj
  305 +396: word: ET
  306 +399: eof
  307 +--- END PAGE 2 ---
  308 +--- BEGIN PAGE 3 ---
  309 +0: word: BT
  310 +5: name: /F1
  311 +9: integer: 24
  312 +12: word: Tf
  313 +17: integer: 72
  314 +20: integer: 720
  315 +24: word: Td
  316 +29: bad: (Potato\x0aET\x0a (EOF while reading token)
  317 +40: eof
  318 +--- END PAGE 3 ---
  319 +--- BEGIN PAGE 4 ---
  320 +0: word: BT
  321 +5: name: /F1
  322 +9: integer: 24
  323 +12: word: Tf
  324 +17: string: \xfe\xeb (raw: <feeb>)
  325 +26: string: \xab\xcd (raw: <ab\x0aCD>)
  326 +36: string: quack (raw: (qu\\x0d\x0aack))
  327 +49: string: quack (raw: (qu\\x0aack))
  328 +61: string: quack (raw: (qu\\x0dack))
  329 +73: integer: 72
  330 +76: integer: 720
  331 +80: word: Td
  332 +85: real: 3.14
  333 +92: real: 3.
  334 +97: real: .14
  335 +103: real: +3.14
  336 +111: real: +3.
  337 +117: real: +.14
  338 +124: real: -3.14
  339 +132: real: -3.
  340 +138: real: -.14
  341 +145: integer: +16059
  342 +154: integer: -16059
  343 +163: word: +.
  344 +168: bad: <fade\x0aET (invalid character (T) in hexstring)
  345 +177: bad: ) (unexpected ))
  346 +178: bad: > (unexpected >)
  347 +179: word: quack
  348 +185: bad: /name#oops (invalid name token)
  349 +196: name: /name (raw: /n#61me)
  350 +204: word: one
  351 +208: bool: true
  352 +213: word: two
  353 +217: bool: false
  354 +223: word: three
  355 +229: null: null
  356 +234: word: four
  357 +239: word: !@#$^&
  358 +245: brace_open: {
  359 +246: brace_close: }
  360 +247: word: *-_+=
  361 +253: word: abc123def3.14true
  362 +271: bad: <ff\x0a (EOF while reading token)
  363 +275: eof
  364 +--- END PAGE 4 ---
  365 +--- BEGIN PAGE 5 ---
  366 +0: word: BT
  367 +5: bad: /F#00x (null character not allowed in name token)
  368 +12: integer: 24
  369 +15: word: Tf
  370 +20: integer: 72
  371 +23: integer: 720
  372 +27: word: Td
  373 +32: string: P\x00tat\x00 (raw: (P\x00tat\000))
  374 +44: word: Tj
  375 +47: word: ET
  376 +52: name: /ThisMustBeLast
  377 +68: eof
  378 +--- END PAGE 5 ---
  379 +--- BEGIN PAGE 6 ---
  380 +0: word: ID
  381 +skipping to EI
  382 +EI not found
  383 +5: name: /F1
  384 +9: integer: 24
  385 +12: word: Tf
  386 +17: integer: 72
  387 +20: integer: 720
  388 +24: word: Td
  389 +29: string: Potato (raw: (Potato))
  390 +38: word: Tj
  391 +41: word: ET
  392 +44: eof
  393 +--- END PAGE 6 ---
  394 +--- BEGIN PAGE 7 ---
  395 +0: word: BT
  396 +5: name: /F1
  397 +9: integer: 24
  398 +12: word: Tf
  399 +17: integer: 72
  400 +20: integer: 720
  401 +24: word: Td
  402 +29: string: Potato (raw: (Potato))
  403 +38: word: Tj
  404 +41: word: ET
  405 +44: eof
  406 +--- END PAGE 7 ---
  407 +--- BEGIN PAGE 8 ---
  408 +0: word: BT
  409 +5: name: /F1
  410 +9: integer: 24
  411 +12: word: Tf
  412 +17: integer: 72
  413 +20: integer: 720
  414 +24: word: Td
  415 +29: string: Potato (raw: (Potato))
  416 +38: word: Tj
  417 +41: word: ET
  418 +44: eof
  419 +--- END PAGE 8 ---
  420 +--- BEGIN PAGE 9 ---
  421 +0: word: BT
  422 +5: name: /F1
  423 +9: integer: 24
  424 +12: word: Tf
  425 +17: integer: 72
  426 +20: integer: 720
  427 +24: word: Td
  428 +29: string: Potato (raw: (Potato))
  429 +38: word: Tj
  430 +41: word: ET
  431 +44: eof
  432 +--- END PAGE 9 ---
  433 +--- BEGIN PAGE 10 ---
  434 +0: word: BT
  435 +5: name: /F1
  436 +9: integer: 24
  437 +12: word: Tf
  438 +17: integer: 72
  439 +20: integer: 720
  440 +24: word: Td
  441 +29: string: Potato (raw: (Potato))
  442 +38: word: Tj
  443 +41: word: ET
  444 +44: eof
  445 +--- END PAGE 10 ---
  446 +--- BEGIN PAGE 11 ---
  447 +0: word: BT
  448 +5: name: /F1
  449 +9: integer: 24
  450 +12: word: Tf
  451 +17: integer: 72
  452 +20: integer: 720
  453 +24: word: Td
  454 +29: string: Potato (raw: (Potato))
  455 +38: word: Tj
  456 +41: word: ET
  457 +44: eof
  458 +--- END PAGE 11 ---
  459 +--- BEGIN OBJECT STREAM 1 ---
  460 +0: integer: 2
  461 +2: integer: 0
  462 +4: integer: 3
  463 +6: integer: 97
  464 +9: integer: 4
  465 +11: integer: 318
  466 +15: integer: 5
  467 +17: integer: 566
  468 +21: integer: 6
  469 +23: integer: 814
  470 +27: integer: 7
  471 +29: integer: 1062
  472 +34: integer: 8
  473 +36: integer: 1310
  474 +41: integer: 9
  475 +43: integer: 1558
  476 +48: integer: 10
  477 +51: integer: 1808
  478 +56: integer: 11
  479 +59: integer: 2058
  480 +64: integer: 12
  481 +67: integer: 2309
  482 +72: integer: 13
  483 +75: integer: 2560
  484 +80: integer: 14
  485 +83: integer: 2812
  486 +88: integer: 15
  487 +91: integer: 3064
  488 +96: integer: 16
  489 +99: integer: 3228
  490 +104: integer: 17
  491 +107: integer: 3309
  492 +112: integer: 18
  493 +115: integer: 3473
  494 +120: integer: 19
  495 +123: integer: 3554
  496 +128: integer: 20
  497 +131: integer: 3718
  498 +136: integer: 21
  499 +139: integer: 3799
  500 +144: integer: 22
  501 +147: integer: 3963
  502 +152: integer: 23
  503 +155: integer: 4044
  504 +160: integer: 24
  505 +163: integer: 4208
  506 +168: integer: 25
  507 +171: integer: 4289
  508 +176: integer: 26
  509 +179: integer: 4453
  510 +184: integer: 27
  511 +187: integer: 4534
  512 +192: integer: 28
  513 +195: integer: 4698
  514 +200: integer: 29
  515 +203: integer: 4779
  516 +208: integer: 30
  517 +211: integer: 4943
  518 +216: integer: 31
  519 +219: integer: 5024
  520 +224: integer: 32
  521 +227: integer: 5188
  522 +232: integer: 33
  523 +235: integer: 5269
  524 +240: integer: 34
  525 +243: integer: 5433
  526 +248: integer: 35
  527 +251: integer: 5514
  528 +256: integer: 36
  529 +259: integer: 5678
  530 +323: dict_open: <<
  531 +328: name: /Pages
  532 +335: integer: 3
  533 +337: integer: 0
  534 +339: word: R
  535 +343: name: /Type
  536 +349: name: /Catalog
  537 +358: dict_close: >>
  538 +420: dict_open: <<
  539 +425: name: /Count
  540 +432: integer: 11
  541 +437: name: /Kids
  542 +443: array_open: [
  543 +449: integer: 4
  544 +451: integer: 0
  545 +453: word: R
  546 +459: integer: 5
  547 +461: integer: 0
  548 +463: word: R
  549 +469: integer: 6
  550 +471: integer: 0
  551 +473: word: R
  552 +479: integer: 7
  553 +481: integer: 0
  554 +483: word: R
  555 +489: integer: 8
  556 +491: integer: 0
  557 +493: word: R
  558 +499: integer: 9
  559 +501: integer: 0
  560 +503: word: R
  561 +509: integer: 10
  562 +512: integer: 0
  563 +514: word: R
  564 +520: integer: 11
  565 +523: integer: 0
  566 +525: word: R
  567 +531: integer: 12
  568 +534: integer: 0
  569 +536: word: R
  570 +542: integer: 13
  571 +545: integer: 0
  572 +547: word: R
  573 +553: integer: 14
  574 +556: integer: 0
  575 +558: word: R
  576 +562: array_close: ]
  577 +566: name: /Type
  578 +572: name: /Pages
  579 +579: dict_close: >>
  580 +651: dict_open: <<
  581 +656: name: /Contents
  582 +666: integer: 37
  583 +669: integer: 0
  584 +671: word: R
  585 +675: name: /MediaBox
  586 +685: array_open: [
  587 +691: integer: 0
  588 +697: integer: 0
  589 +703: integer: 612
  590 +711: integer: 792
  591 +717: array_close: ]
  592 +721: name: /Parent
  593 +729: integer: 3
  594 +731: integer: 0
  595 +733: word: R
  596 +737: name: /Resources
  597 +748: dict_open: <<
  598 +755: name: /Font
  599 +761: dict_open: <<
  600 +770: name: /F1
  601 +774: integer: 15
  602 +777: integer: 0
  603 +779: word: R
  604 +785: dict_close: >>
  605 +792: name: /ProcSet
  606 +801: integer: 16
  607 +804: integer: 0
  608 +806: word: R
  609 +810: dict_close: >>
  610 +815: name: /Type
  611 +821: name: /Page
  612 +827: dict_close: >>
  613 +899: dict_open: <<
  614 +904: name: /Contents
  615 +914: integer: 39
  616 +917: integer: 0
  617 +919: word: R
  618 +923: name: /MediaBox
  619 +933: array_open: [
  620 +939: integer: 0
  621 +945: integer: 0
  622 +951: integer: 612
  623 +959: integer: 792
  624 +965: array_close: ]
  625 +969: name: /Parent
  626 +977: integer: 3
  627 +979: integer: 0
  628 +981: word: R
  629 +985: name: /Resources
  630 +996: dict_open: <<
  631 +1003: name: /Font
  632 +1009: dict_open: <<
  633 +1018: name: /F1
  634 +1022: integer: 17
  635 +1025: integer: 0
  636 +1027: word: R
  637 +1033: dict_close: >>
  638 +1040: name: /ProcSet
  639 +1049: integer: 18
  640 +1052: integer: 0
  641 +1054: word: R
  642 +1058: dict_close: >>
  643 +1063: name: /Type
  644 +1069: name: /Page
  645 +1075: dict_close: >>
  646 +1147: dict_open: <<
  647 +1152: name: /Contents
  648 +1162: integer: 41
  649 +1165: integer: 0
  650 +1167: word: R
  651 +1171: name: /MediaBox
  652 +1181: array_open: [
  653 +1187: integer: 0
  654 +1193: integer: 0
  655 +1199: integer: 612
  656 +1207: integer: 792
  657 +1213: array_close: ]
  658 +1217: name: /Parent
  659 +1225: integer: 3
  660 +1227: integer: 0
  661 +1229: word: R
  662 +1233: name: /Resources
  663 +1244: dict_open: <<
  664 +1251: name: /Font
  665 +1257: dict_open: <<
  666 +1266: name: /F1
  667 +1270: integer: 19
  668 +1273: integer: 0
  669 +1275: word: R
  670 +1281: dict_close: >>
  671 +1288: name: /ProcSet
  672 +1297: integer: 20
  673 +1300: integer: 0
  674 +1302: word: R
  675 +1306: dict_close: >>
  676 +1311: name: /Type
  677 +1317: name: /Page
  678 +1323: dict_close: >>
  679 +1395: dict_open: <<
  680 +1400: name: /Contents
  681 +1410: integer: 43
  682 +1413: integer: 0
  683 +1415: word: R
  684 +1419: name: /MediaBox
  685 +1429: array_open: [
  686 +1435: integer: 0
  687 +1441: integer: 0
  688 +1447: integer: 612
  689 +1455: integer: 792
  690 +1461: array_close: ]
  691 +1465: name: /Parent
  692 +1473: integer: 3
  693 +1475: integer: 0
  694 +1477: word: R
  695 +1481: name: /Resources
  696 +1492: dict_open: <<
  697 +1499: name: /Font
  698 +1505: dict_open: <<
  699 +1514: name: /F1
  700 +1518: integer: 21
  701 +1521: integer: 0
  702 +1523: word: R
  703 +1529: dict_close: >>
  704 +1536: name: /ProcSet
  705 +1545: integer: 22
  706 +1548: integer: 0
  707 +1550: word: R
  708 +1554: dict_close: >>
  709 +1559: name: /Type
  710 +1565: name: /Page
  711 +1571: dict_close: >>
  712 +1643: dict_open: <<
  713 +1648: name: /Contents
  714 +1658: integer: 45
  715 +1661: integer: 0
  716 +1663: word: R
  717 +1667: name: /MediaBox
  718 +1677: array_open: [
  719 +1683: integer: 0
  720 +1689: integer: 0
  721 +1695: integer: 612
  722 +1703: integer: 792
  723 +1709: array_close: ]
  724 +1713: name: /Parent
  725 +1721: integer: 3
  726 +1723: integer: 0
  727 +1725: word: R
  728 +1729: name: /Resources
  729 +1740: dict_open: <<
  730 +1747: name: /Font
  731 +1753: dict_open: <<
  732 +1762: name: /F1
  733 +1766: integer: 23
  734 +1769: integer: 0
  735 +1771: word: R
  736 +1777: dict_close: >>
  737 +1784: name: /ProcSet
  738 +1793: integer: 24
  739 +1796: integer: 0
  740 +1798: word: R
  741 +1802: dict_close: >>
  742 +1807: name: /Type
  743 +1813: name: /Page
  744 +1819: dict_close: >>
  745 +1891: dict_open: <<
  746 +1896: name: /Contents
  747 +1906: integer: 47
  748 +1909: integer: 0
  749 +1911: word: R
  750 +1915: name: /MediaBox
  751 +1925: array_open: [
  752 +1931: integer: 0
  753 +1937: integer: 0
  754 +1943: integer: 612
  755 +1951: integer: 792
  756 +1957: array_close: ]
  757 +1961: name: /Parent
  758 +1969: integer: 3
  759 +1971: integer: 0
  760 +1973: word: R
  761 +1977: name: /Resources
  762 +1988: dict_open: <<
  763 +1995: name: /Font
  764 +2001: dict_open: <<
  765 +2010: name: /F1
  766 +2014: integer: 25
  767 +2017: integer: 0
  768 +2019: word: R
  769 +2025: dict_close: >>
  770 +2032: name: /ProcSet
  771 +2041: integer: 26
  772 +2044: integer: 0
  773 +2046: word: R
  774 +2050: dict_close: >>
  775 +2055: name: /Type
  776 +2061: name: /Page
  777 +2067: dict_close: >>
  778 +2141: dict_open: <<
  779 +2146: name: /Contents
  780 +2156: integer: 49
  781 +2159: integer: 0
  782 +2161: word: R
  783 +2165: name: /MediaBox
  784 +2175: array_open: [
  785 +2181: integer: 0
  786 +2187: integer: 0
  787 +2193: integer: 612
  788 +2201: integer: 792
  789 +2207: array_close: ]
  790 +2211: name: /Parent
  791 +2219: integer: 3
  792 +2221: integer: 0
  793 +2223: word: R
  794 +2227: name: /Resources
  795 +2238: dict_open: <<
  796 +2245: name: /Font
  797 +2251: dict_open: <<
  798 +2260: name: /F1
  799 +2264: integer: 27
  800 +2267: integer: 0
  801 +2269: word: R
  802 +2275: dict_close: >>
  803 +2282: name: /ProcSet
  804 +2291: integer: 28
  805 +2294: integer: 0
  806 +2296: word: R
  807 +2300: dict_close: >>
  808 +2305: name: /Type
  809 +2311: name: /Page
  810 +2317: dict_close: >>
  811 +2391: dict_open: <<
  812 +2396: name: /Contents
  813 +2406: integer: 51
  814 +2409: integer: 0
  815 +2411: word: R
  816 +2415: name: /MediaBox
  817 +2425: array_open: [
  818 +2431: integer: 0
  819 +2437: integer: 0
  820 +2443: integer: 612
  821 +2451: integer: 792
  822 +2457: array_close: ]
  823 +2461: name: /Parent
  824 +2469: integer: 3
  825 +2471: integer: 0
  826 +2473: word: R
  827 +2477: name: /Resources
  828 +2488: dict_open: <<
  829 +2495: name: /Font
  830 +2501: dict_open: <<
  831 +2510: name: /F1
  832 +2514: integer: 29
  833 +2517: integer: 0
  834 +2519: word: R
  835 +2525: dict_close: >>
  836 +2532: name: /ProcSet
  837 +2541: integer: 30
  838 +2544: integer: 0
  839 +2546: word: R
  840 +2550: dict_close: >>
  841 +2555: name: /Type
  842 +2561: name: /Page
  843 +2567: dict_close: >>
  844 +2642: dict_open: <<
  845 +2647: name: /Contents
  846 +2657: integer: 53
  847 +2660: integer: 0
  848 +2662: word: R
  849 +2666: name: /MediaBox
  850 +2676: array_open: [
  851 +2682: integer: 0
  852 +2688: integer: 0
  853 +2694: integer: 612
  854 +2702: integer: 792
  855 +2708: array_close: ]
  856 +2712: name: /Parent
  857 +2720: integer: 3
  858 +2722: integer: 0
  859 +2724: word: R
  860 +2728: name: /Resources
  861 +2739: dict_open: <<
  862 +2746: name: /Font
  863 +2752: dict_open: <<
  864 +2761: name: /F1
  865 +2765: integer: 31
  866 +2768: integer: 0
  867 +2770: word: R
  868 +2776: dict_close: >>
  869 +2783: name: /ProcSet
  870 +2792: integer: 32
  871 +2795: integer: 0
  872 +2797: word: R
  873 +2801: dict_close: >>
  874 +2806: name: /Type
  875 +2812: name: /Page
  876 +2818: dict_close: >>
  877 +2894: dict_open: <<
  878 +2899: name: /Contents
  879 +2909: integer: 55
  880 +2912: integer: 0
  881 +2914: word: R
  882 +2918: name: /MediaBox
  883 +2928: array_open: [
  884 +2934: integer: 0
  885 +2940: integer: 0
  886 +2946: integer: 612
  887 +2954: integer: 792
  888 +2960: array_close: ]
  889 +2964: name: /Parent
  890 +2972: integer: 3
  891 +2974: integer: 0
  892 +2976: word: R
  893 +2980: name: /Resources
  894 +2991: dict_open: <<
  895 +2998: name: /Font
  896 +3004: dict_open: <<
  897 +3013: name: /F1
  898 +3017: integer: 33
  899 +3020: integer: 0
  900 +3022: word: R
  901 +3028: dict_close: >>
  902 +3035: name: /ProcSet
  903 +3044: integer: 34
  904 +3047: integer: 0
  905 +3049: word: R
  906 +3053: dict_close: >>
  907 +3058: name: /Type
  908 +3064: name: /Page
  909 +3070: dict_close: >>
  910 +3146: dict_open: <<
  911 +3151: name: /Contents
  912 +3161: integer: 57
  913 +3164: integer: 0
  914 +3166: word: R
  915 +3170: name: /MediaBox
  916 +3180: array_open: [
  917 +3186: integer: 0
  918 +3192: integer: 0
  919 +3198: integer: 612
  920 +3206: integer: 792
  921 +3212: array_close: ]
  922 +3216: name: /Parent
  923 +3224: integer: 3
  924 +3226: integer: 0
  925 +3228: word: R
  926 +3232: name: /Resources
  927 +3243: dict_open: <<
  928 +3250: name: /Font
  929 +3256: dict_open: <<
  930 +3265: name: /F1
  931 +3269: integer: 35
  932 +3272: integer: 0
  933 +3274: word: R
  934 +3280: dict_close: >>
  935 +3287: name: /ProcSet
  936 +3296: integer: 36
  937 +3299: integer: 0
  938 +3301: word: R
  939 +3305: dict_close: >>
  940 +3310: name: /Type
  941 +3316: name: /Page
  942 +3322: dict_close: >>
  943 +3387: dict_open: <<
  944 +3392: name: /BaseFont
  945 +3402: name: /Helvetica
  946 +3415: name: /Encoding
  947 +3425: name: /WinAnsiEncoding
  948 +3444: name: /Name
  949 +3450: name: /F1
  950 +3456: name: /Subtype
  951 +3465: name: /Type1
  952 +3474: name: /Type
  953 +3480: name: /Font
  954 +3486: dict_close: >>
  955 +3551: array_open: [
  956 +3555: name: /PDF
  957 +3562: name: /Text
  958 +3568: array_close: ]
  959 +3632: dict_open: <<
  960 +3637: name: /BaseFont
  961 +3647: name: /Helvetica
  962 +3660: name: /Encoding
  963 +3670: name: /WinAnsiEncoding
  964 +3689: name: /Name
  965 +3695: name: /F1
  966 +3701: name: /Subtype
  967 +3710: name: /Type1
  968 +3719: name: /Type
  969 +3725: name: /Font
  970 +3731: dict_close: >>
  971 +3796: array_open: [
  972 +3800: name: /PDF
  973 +3807: name: /Text
  974 +3813: array_close: ]
  975 +3877: dict_open: <<
  976 +3882: name: /BaseFont
  977 +3892: name: /Helvetica
  978 +3905: name: /Encoding
  979 +3915: name: /WinAnsiEncoding
  980 +3934: name: /Name
  981 +3940: name: /F1
  982 +3946: name: /Subtype
  983 +3955: name: /Type1
  984 +3964: name: /Type
  985 +3970: name: /Font
  986 +3976: dict_close: >>
  987 +4041: array_open: [
  988 +4045: name: /PDF
  989 +4052: name: /Text
  990 +4058: array_close: ]
  991 +4122: dict_open: <<
  992 +4127: name: /BaseFont
  993 +4137: name: /Helvetica
  994 +4150: name: /Encoding
  995 +4160: name: /WinAnsiEncoding
  996 +4179: name: /Name
  997 +4185: name: /F1
  998 +4191: name: /Subtype
  999 +4200: name: /Type1
  1000 +4209: name: /Type
  1001 +4215: name: /Font
  1002 +4221: dict_close: >>
  1003 +4286: array_open: [
  1004 +4290: name: /PDF
  1005 +4297: name: /Text
  1006 +4303: array_close: ]
  1007 +4367: dict_open: <<
  1008 +4372: name: /BaseFont
  1009 +4382: name: /Helvetica
  1010 +4395: name: /Encoding
  1011 +4405: name: /WinAnsiEncoding
  1012 +4424: name: /Name
  1013 +4430: name: /F1
  1014 +4436: name: /Subtype
  1015 +4445: name: /Type1
  1016 +4454: name: /Type
  1017 +4460: name: /Font
  1018 +4466: dict_close: >>
  1019 +4531: array_open: [
  1020 +4535: name: /PDF
  1021 +4542: name: /Text
  1022 +4548: array_close: ]
  1023 +4612: dict_open: <<
  1024 +4617: name: /BaseFont
  1025 +4627: name: /Helvetica
  1026 +4640: name: /Encoding
  1027 +4650: name: /WinAnsiEncoding
  1028 +4669: name: /Name
  1029 +4675: name: /F1
  1030 +4681: name: /Subtype
  1031 +4690: name: /Type1
  1032 +4699: name: /Type
  1033 +4705: name: /Font
  1034 +4711: dict_close: >>
  1035 +4776: array_open: [
  1036 +4780: name: /PDF
  1037 +4787: name: /Text
  1038 +4793: array_close: ]
  1039 +4857: dict_open: <<
  1040 +4862: name: /BaseFont
  1041 +4872: name: /Helvetica
  1042 +4885: name: /Encoding
  1043 +4895: name: /WinAnsiEncoding
  1044 +4914: name: /Name
  1045 +4920: name: /F1
  1046 +4926: name: /Subtype
  1047 +4935: name: /Type1
  1048 +4944: name: /Type
  1049 +4950: name: /Font
  1050 +4956: dict_close: >>
  1051 +5021: array_open: [
  1052 +5025: name: /PDF
  1053 +5032: name: /Text
  1054 +5038: array_close: ]
  1055 +5102: dict_open: <<
  1056 +5107: name: /BaseFont
  1057 +5117: name: /Helvetica
  1058 +5130: name: /Encoding
  1059 +5140: name: /WinAnsiEncoding
  1060 +5159: name: /Name
  1061 +5165: name: /F1
  1062 +5171: name: /Subtype
  1063 +5180: name: /Type1
  1064 +5189: name: /Type
  1065 +5195: name: /Font
  1066 +5201: dict_close: >>
  1067 +5266: array_open: [
  1068 +5270: name: /PDF
  1069 +5277: name: /Text
  1070 +5283: array_close: ]
  1071 +5347: dict_open: <<
  1072 +5352: name: /BaseFont
  1073 +5362: name: /Helvetica
  1074 +5375: name: /Encoding
  1075 +5385: name: /WinAnsiEncoding
  1076 +5404: name: /Name
  1077 +5410: name: /F1
  1078 +5416: name: /Subtype
  1079 +5425: name: /Type1
  1080 +5434: name: /Type
  1081 +5440: name: /Font
  1082 +5446: dict_close: >>
  1083 +5511: array_open: [
  1084 +5515: name: /PDF
  1085 +5522: name: /Text
  1086 +5528: array_close: ]
  1087 +5592: dict_open: <<
  1088 +5597: name: /BaseFont
  1089 +5607: name: /Helvetica
  1090 +5620: name: /Encoding
  1091 +5630: name: /WinAnsiEncoding
  1092 +5649: name: /Name
  1093 +5655: name: /F1
  1094 +5661: name: /Subtype
  1095 +5670: name: /Type1
  1096 +5679: name: /Type
  1097 +5685: name: /Font
  1098 +5691: dict_close: >>
  1099 +5756: array_open: [
  1100 +5760: name: /PDF
  1101 +5767: name: /Text
  1102 +5773: array_close: ]
  1103 +5837: dict_open: <<
  1104 +5842: name: /BaseFont
  1105 +5852: name: /Helvetica
  1106 +5865: name: /Encoding
  1107 +5875: name: /WinAnsiEncoding
  1108 +5894: name: /Name
  1109 +5900: name: /F1
  1110 +5906: name: /Subtype
  1111 +5915: name: /Type1
  1112 +5924: name: /Type
  1113 +5930: name: /Font
  1114 +5936: dict_close: >>
  1115 +6001: array_open: [
  1116 +6005: name: /PDF
  1117 +6012: name: /Text
  1118 +6018: array_close: ]
  1119 +6020: eof
  1120 +--- END OBJECT STREAM 1 ---
... ...
qpdf/qtest/qpdf/tokens.out
1 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
2 14 60: integer: 1
  15 +61: space:
3 16 62: integer: 0
  17 +63: space:
4 18 64: word: obj
  19 +67: space: \x0a
5 20 68: dict_open: <<
  21 +70: space: \x0a
6 22 73: name: /Type
  23 +78: space:
7 24 79: name: /ObjStm
  25 +86: space: \x0a
8 26 89: name: /Length
  27 +96: space:
9 28 97: integer: 6020
  29 +101: space: \x0a
10 30 104: name: /N
  31 +106: space:
11 32 107: integer: 35
  33 +109: space: \x0a
12 34 112: name: /First
  35 +118: space:
13 36 119: integer: 323
  37 +122: space: \x0a
14 38 123: dict_close: >>
  39 +125: space: \x0a
15 40 126: word: stream
16 41 skipping to endstream
17 42 6153: word: endstream
  43 +6162: space: \x0a
18 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
19 50 6222: integer: 37
  51 +6224: space:
20 52 6225: integer: 0
  53 +6226: space:
21 54 6227: word: obj
  55 +6230: space: \x0a
22 56 6231: dict_open: <<
  57 +6233: space: \x0a
23 58 6236: name: /Length
  59 +6243: space:
24 60 6244: integer: 38
  61 +6246: space:
25 62 6247: integer: 0
  63 +6248: space:
26 64 6249: word: R
  65 +6250: space: \x0a
27 66 6251: dict_close: >>
  67 +6253: space: \x0a
28 68 6254: word: stream
29 69 skipping to endstream
30 70 6305: word: endstream
  71 +6314: space: \x0a
31 72 6315: word: endobj
  73 +6321: space: \x0a\x0a
32 74 6323: integer: 38
  75 +6325: space:
33 76 6326: integer: 0
  77 +6327: space:
34 78 6328: word: obj
  79 +6331: space: \x0a
35 80 6332: integer: 44
  81 +6334: space: \x0a
36 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
37 88 6394: integer: 39
  89 +6396: space:
38 90 6397: integer: 0
  91 +6398: space:
39 92 6399: word: obj
  93 +6402: space: \x0a
40 94 6403: dict_open: <<
  95 +6405: space: \x0a
41 96 6408: name: /Length
  97 +6415: space:
42 98 6416: integer: 40
  99 +6418: space:
43 100 6419: integer: 0
  101 +6420: space:
44 102 6421: word: R
  103 +6422: space: \x0a
45 104 6423: dict_close: >>
  105 +6425: space: \x0a
46 106 6426: word: stream
47 107 skipping to endstream
48 108 6832: word: endstream
  109 +6841: space: \x0a
49 110 6842: word: endobj
  111 +6848: space: \x0a\x0a
50 112 6850: integer: 40
  113 +6852: space:
51 114 6853: integer: 0
  115 +6854: space:
52 116 6855: word: obj
  117 +6858: space: \x0a
53 118 6859: integer: 399
  119 +6862: space: \x0a
54 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
55 126 6922: integer: 41
  127 +6924: space:
56 128 6925: integer: 0
  129 +6926: space:
57 130 6927: word: obj
  131 +6930: space: \x0a
58 132 6931: dict_open: <<
  133 +6933: space: \x0a
59 134 6936: name: /Length
  135 +6943: space:
60 136 6944: integer: 42
  137 +6946: space:
61 138 6947: integer: 0
  139 +6948: space:
62 140 6949: word: R
  141 +6950: space: \x0a
63 142 6951: dict_close: >>
  143 +6953: space: \x0a
64 144 6954: word: stream
65 145 skipping to endstream
66 146 7001: word: endstream
  147 +7010: space: \x0a
67 148 7011: word: endobj
  149 +7017: space: \x0a\x0a
68 150 7019: integer: 42
  151 +7021: space:
69 152 7022: integer: 0
  153 +7023: space:
70 154 7024: word: obj
  155 +7027: space: \x0a
71 156 7028: integer: 40
  157 +7030: space: \x0a
72 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
73 164 7090: integer: 43
  165 +7092: space:
74 166 7093: integer: 0
  167 +7094: space:
75 168 7095: word: obj
  169 +7098: space: \x0a
76 170 7099: dict_open: <<
  171 +7101: space: \x0a
77 172 7104: name: /Length
  173 +7111: space:
78 174 7112: integer: 44
  175 +7114: space:
79 176 7115: integer: 0
  177 +7116: space:
80 178 7117: word: R
  179 +7118: space: \x0a
81 180 7119: dict_close: >>
  181 +7121: space: \x0a
82 182 7122: word: stream
83 183 skipping to endstream
84 184 7404: word: endstream
  185 +7413: space: \x0a
85 186 7414: word: endobj
  187 +7420: space: \x0a\x0a
86 188 7422: integer: 44
  189 +7424: space:
87 190 7425: integer: 0
  191 +7426: space:
88 192 7427: word: obj
  193 +7430: space: \x0a
89 194 7431: integer: 275
  195 +7434: space: \x0a
90 196 7435: word: endobj
  197 +7441: space: \x0a\x0a
  198 +7443: comment: %% Contents for page 5
  199 +7465: space: \x0a
  200 +7466: comment: %% Original object ID: 41 0
  201 +7493: space: \x0a
91 202 7494: integer: 45
  203 +7496: space:
92 204 7497: integer: 0
  205 +7498: space:
93 206 7499: word: obj
  207 +7502: space: \x0a
94 208 7503: dict_open: <<
  209 +7505: space: \x0a
95 210 7508: name: /Length
  211 +7515: space:
96 212 7516: integer: 46
  213 +7518: space:
97 214 7519: integer: 0
  215 +7520: space:
98 216 7521: word: R
  217 +7522: space: \x0a
99 218 7523: dict_close: >>
  219 +7525: space: \x0a
100 220 7526: word: stream
101 221 skipping to endstream
102 222 7601: word: endstream
  223 +7610: space: \x0a
103 224 7611: word: endobj
  225 +7617: space: \x0a\x0a
104 226 7619: integer: 46
  227 +7621: space:
105 228 7622: integer: 0
  229 +7623: space:
106 230 7624: word: obj
  231 +7627: space: \x0a
107 232 7628: integer: 68
  233 +7630: space: \x0a
108 234 7631: word: endobj
  235 +7637: space: \x0a\x0a
  236 +7639: comment: %% Contents for page 6
  237 +7661: space: \x0a
  238 +7662: comment: %% Original object ID: 42 0
  239 +7689: space: \x0a
109 240 7690: integer: 47
  241 +7692: space:
110 242 7693: integer: 0
  243 +7694: space:
111 244 7695: word: obj
  245 +7698: space: \x0a
112 246 7699: dict_open: <<
  247 +7701: space: \x0a
113 248 7704: name: /Length
  249 +7711: space:
114 250 7712: integer: 48
  251 +7714: space:
115 252 7715: integer: 0
  253 +7716: space:
116 254 7717: word: R
  255 +7718: space: \x0a
117 256 7719: dict_close: >>
  257 +7721: space: \x0a
118 258 7722: word: stream
119 259 skipping to endstream
120 260 7773: word: endstream
  261 +7782: space: \x0a
121 262 7783: word: endobj
  263 +7789: space: \x0a\x0a
122 264 7791: integer: 48
  265 +7793: space:
123 266 7794: integer: 0
  267 +7795: space:
124 268 7796: word: obj
  269 +7799: space: \x0a
125 270 7800: integer: 44
  271 +7802: space: \x0a
126 272 7803: word: endobj
  273 +7809: space: \x0a\x0a
  274 +7811: comment: %% Contents for page 7
  275 +7833: space: \x0a
  276 +7834: comment: %% Original object ID: 43 0
  277 +7861: space: \x0a
127 278 7862: integer: 49
  279 +7864: space:
128 280 7865: integer: 0
  281 +7866: space:
129 282 7867: word: obj
  283 +7870: space: \x0a
130 284 7871: dict_open: <<
  285 +7873: space: \x0a
131 286 7876: name: /Length
  287 +7883: space:
132 288 7884: integer: 50
  289 +7886: space:
133 290 7887: integer: 0
  291 +7888: space:
134 292 7889: word: R
  293 +7890: space: \x0a
135 294 7891: dict_close: >>
  295 +7893: space: \x0a
136 296 7894: word: stream
137 297 skipping to endstream
138 298 7945: word: endstream
  299 +7954: space: \x0a
139 300 7955: word: endobj
  301 +7961: space: \x0a\x0a
140 302 7963: integer: 50
  303 +7965: space:
141 304 7966: integer: 0
  305 +7967: space:
142 306 7968: word: obj
  307 +7971: space: \x0a
143 308 7972: integer: 44
  309 +7974: space: \x0a
144 310 7975: word: endobj
  311 +7981: space: \x0a\x0a
  312 +7983: comment: %% Contents for page 8
  313 +8005: space: \x0a
  314 +8006: comment: %% Original object ID: 44 0
  315 +8033: space: \x0a
145 316 8034: integer: 51
  317 +8036: space:
146 318 8037: integer: 0
  319 +8038: space:
147 320 8039: word: obj
  321 +8042: space: \x0a
148 322 8043: dict_open: <<
  323 +8045: space: \x0a
149 324 8048: name: /Length
  325 +8055: space:
150 326 8056: integer: 52
  327 +8058: space:
151 328 8059: integer: 0
  329 +8060: space:
152 330 8061: word: R
  331 +8062: space: \x0a
153 332 8063: dict_close: >>
  333 +8065: space: \x0a
154 334 8066: word: stream
155 335 skipping to endstream
156 336 8117: word: endstream
  337 +8126: space: \x0a
157 338 8127: word: endobj
  339 +8133: space: \x0a\x0a
158 340 8135: integer: 52
  341 +8137: space:
159 342 8138: integer: 0
  343 +8139: space:
160 344 8140: word: obj
  345 +8143: space: \x0a
161 346 8144: integer: 44
  347 +8146: space: \x0a
162 348 8147: word: endobj
  349 +8153: space: \x0a\x0a
  350 +8155: comment: %% Contents for page 9
  351 +8177: space: \x0a
  352 +8178: comment: %% Original object ID: 45 0
  353 +8205: space: \x0a
163 354 8206: integer: 53
  355 +8208: space:
164 356 8209: integer: 0
  357 +8210: space:
165 358 8211: word: obj
  359 +8214: space: \x0a
166 360 8215: dict_open: <<
  361 +8217: space: \x0a
167 362 8220: name: /Length
  363 +8227: space:
168 364 8228: integer: 54
  365 +8230: space:
169 366 8231: integer: 0
  367 +8232: space:
170 368 8233: word: R
  369 +8234: space: \x0a
171 370 8235: dict_close: >>
  371 +8237: space: \x0a
172 372 8238: word: stream
173 373 skipping to endstream
174 374 8289: word: endstream
  375 +8298: space: \x0a
175 376 8299: word: endobj
  377 +8305: space: \x0a\x0a
176 378 8307: integer: 54
  379 +8309: space:
177 380 8310: integer: 0
  381 +8311: space:
178 382 8312: word: obj
  383 +8315: space: \x0a
179 384 8316: integer: 44
  385 +8318: space: \x0a
180 386 8319: word: endobj
  387 +8325: space: \x0a\x0a
  388 +8327: comment: %% Contents for page 10
  389 +8350: space: \x0a
  390 +8351: comment: %% Original object ID: 46 0
  391 +8378: space: \x0a
181 392 8379: integer: 55
  393 +8381: space:
182 394 8382: integer: 0
  395 +8383: space:
183 396 8384: word: obj
  397 +8387: space: \x0a
184 398 8388: dict_open: <<
  399 +8390: space: \x0a
185 400 8393: name: /Length
  401 +8400: space:
186 402 8401: integer: 56
  403 +8403: space:
187 404 8404: integer: 0
  405 +8405: space:
188 406 8406: word: R
  407 +8407: space: \x0a
189 408 8408: dict_close: >>
  409 +8410: space: \x0a
190 410 8411: word: stream
191 411 skipping to endstream
192 412 8462: word: endstream
  413 +8471: space: \x0a
193 414 8472: word: endobj
  415 +8478: space: \x0a\x0a
194 416 8480: integer: 56
  417 +8482: space:
195 418 8483: integer: 0
  419 +8484: space:
196 420 8485: word: obj
  421 +8488: space: \x0a
197 422 8489: integer: 44
  423 +8491: space: \x0a
198 424 8492: word: endobj
  425 +8498: space: \x0a\x0a
  426 +8500: comment: %% Contents for page 11
  427 +8523: space: \x0a
  428 +8524: comment: %% Original object ID: 47 0
  429 +8551: space: \x0a
199 430 8552: integer: 57
  431 +8554: space:
200 432 8555: integer: 0
  433 +8556: space:
201 434 8557: word: obj
  435 +8560: space: \x0a
202 436 8561: dict_open: <<
  437 +8563: space: \x0a
203 438 8566: name: /Length
  439 +8573: space:
204 440 8574: integer: 58
  441 +8576: space:
205 442 8577: integer: 0
  443 +8578: space:
206 444 8579: word: R
  445 +8580: space: \x0a
207 446 8581: dict_close: >>
  447 +8583: space: \x0a
208 448 8584: word: stream
209 449 skipping to endstream
210 450 8635: word: endstream
  451 +8644: space: \x0a
211 452 8645: word: endobj
  453 +8651: space: \x0a\x0a
212 454 8653: integer: 58
  455 +8655: space:
213 456 8656: integer: 0
  457 +8657: space:
214 458 8658: word: obj
  459 +8661: space: \x0a
215 460 8662: integer: 44
  461 +8664: space: \x0a
216 462 8665: word: endobj
  463 +8671: space: \x0a\x0a
217 464 8673: integer: 59
  465 +8675: space:
218 466 8676: integer: 0
  467 +8677: space:
219 468 8678: word: obj
  469 +8681: space: \x0a
220 470 8682: dict_open: <<
  471 +8684: space: \x0a
221 472 8687: name: /Type
  473 +8692: space:
222 474 8693: name: /XRef
  475 +8698: space: \x0a
223 476 8701: name: /Length
  477 +8708: space:
224 478 8709: integer: 240
  479 +8712: space: \x0a
225 480 8715: name: /W
  481 +8717: space:
226 482 8718: array_open: [
  483 +8719: space:
227 484 8720: integer: 1
  485 +8721: space:
228 486 8722: integer: 2
  487 +8723: space:
229 488 8724: integer: 1
  489 +8725: space:
230 490 8726: array_close: ]
  491 +8727: space: \x0a
231 492 8730: name: /Root
  493 +8735: space:
232 494 8736: integer: 2
  495 +8737: space:
233 496 8738: integer: 0
  497 +8739: space:
234 498 8740: word: R
  499 +8741: space: \x0a
235 500 8744: name: /Size
  501 +8749: space:
236 502 8750: integer: 60
  503 +8752: space: \x0a
237 504 8755: name: /ID
  505 +8758: space:
238 506 8759: array_open: [
239 507 8760: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>)
240 508 8794: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>)
241 509 8828: array_close: ]
  510 +8829: space: \x0a
242 511 8830: dict_close: >>
  512 +8832: space: \x0a
243 513 8833: word: stream
244 514 skipping to endstream
245 515 9081: word: endstream
  516 +9090: space: \x0a
246 517 9091: word: endobj
  518 +9097: space: \x0a\x0a
247 519 9099: word: startxref
  520 +9108: space: \x0a
248 521 9109: integer: 8673
  522 +9113: space: \x0a
  523 +9114: comment: %%EOF
  524 +9119: space: \x0a
249 525 9120: eof
250 526 --- END FILE ---
251 527 --- BEGIN PAGE 1 ---
252 528 0: word: BT
  529 +2: space: \x0a
253 530 5: name: /F1
  531 +8: space:
254 532 9: integer: 24
  533 +11: space:
255 534 12: word: Tf
  535 +14: space: \x0a
256 536 17: integer: 72
  537 +19: space:
257 538 20: integer: 720
  539 +23: space:
258 540 24: word: Td
  541 +26: space: \x0a
259 542 29: string: Potato (raw: (Potato))
  543 +37: space:
260 544 38: word: Tj
  545 +40: space: \x0a
261 546 41: word: ET
  547 +43: space: \x0a
262 548 44: eof
263 549 --- END PAGE 1 ---
264 550 --- BEGIN PAGE 2 ---
265 551 0: word: BT
  552 +2: space: \x0a
266 553 5: name: /F1
  554 +8: space:
267 555 9: integer: 24
  556 +11: space:
268 557 12: word: Tf
  558 +14: space: \x0a
269 559 17: integer: 72
  560 +19: space:
270 561 20: integer: 720
  562 +23: space:
271 563 24: word: Td
  564 +26: space: \x0a
272 565 29: string: Potato (raw: (Potato))
  566 +37: space:
273 567 38: word: Tj
  568 +40: space: \x0a
274 569 41: word: ET
  570 +43: space: \x0a
275 571 44: word: BI
  572 +46: space: \x0a
276 573 47: name: /CS
  574 +50: space:
277 575 51: name: /G
278 576 53: name: /W
  577 +55: space:
279 578 56: integer: 66
280 579 58: name: /H
  580 +60: space:
281 581 61: integer: 47
282 582 63: name: /BPC
  583 +67: space:
283 584 68: integer: 8
284 585 69: name: /F
285 586 71: name: /Fl
286 587 74: name: /DP
287 588 77: dict_open: <<
288 589 79: name: /Predictor
  590 +89: space:
289 591 90: integer: 15
290 592 92: name: /Columns
  593 +100: space:
291 594 101: integer: 66
292 595 103: dict_close: >>
  596 +105: space: \x0a
293 597 106: word: ID
294 598 skipping to EI
295 599 352: word: EI
  600 +354: space: \x0a
296 601 355: word: BT
  602 +357: space: \x0a
297 603 360: name: /F1
  604 +363: space:
298 605 364: integer: 24
  606 +366: space:
299 607 367: word: Tf
  608 +369: space: \x0a
300 609 372: integer: 72
  610 +374: space:
301 611 375: integer: 720
  612 +378: space:
302 613 379: word: Td
  614 +381: space: \x0a
303 615 384: string: Potato (raw: (Potato))
  616 +392: space:
304 617 393: word: Tj
  618 +395: space: \x0a
305 619 396: word: ET
  620 +398: space: \x0a
306 621 399: eof
307 622 --- END PAGE 2 ---
308 623 --- BEGIN PAGE 3 ---
309 624 0: word: BT
  625 +2: space: \x0a
310 626 5: name: /F1
  627 +8: space:
311 628 9: integer: 24
  629 +11: space:
312 630 12: word: Tf
  631 +14: space: \x0a
313 632 17: integer: 72
  633 +19: space:
314 634 20: integer: 720
  635 +23: space:
315 636 24: word: Td
316   -29: bad: Potato\x0aET\x0a (raw: (Potato\x0aET\x0a) (EOF while reading token)
  637 +26: space: \x0a
  638 +29: bad: (Potato\x0aET\x0a (EOF while reading token)
317 639 40: eof
318 640 --- END PAGE 3 ---
319 641 --- BEGIN PAGE 4 ---
320 642 0: word: BT
  643 +2: space: \x0a
321 644 5: name: /F1
  645 +8: space:
322 646 9: integer: 24
  647 +11: space:
323 648 12: word: Tf
  649 +14: space: \x0a
324 650 17: string: \xfe\xeb (raw: <feeb>)
  651 +23: space: \x0a
325 652 26: string: \xab\xcd (raw: <ab\x0aCD>)
  653 +33: space: \x0a
326 654 36: string: quack (raw: (qu\\x0d\x0aack))
  655 +46: space: \x0a
327 656 49: string: quack (raw: (qu\\x0aack))
  657 +58: space: \x0a
328 658 61: string: quack (raw: (qu\\x0dack))
  659 +70: space: \x0a
329 660 73: integer: 72
  661 +75: space:
330 662 76: integer: 720
  663 +79: space:
331 664 80: word: Td
  665 +82: space: \x0a
332 666 85: real: 3.14
  667 +89: space: \x0a
333 668 92: real: 3.
  669 +94: space: \x0a
334 670 97: real: .14
  671 +100: space: \x0a
335 672 103: real: +3.14
  673 +108: space: \x0a
336 674 111: real: +3.
  675 +114: space: \x0a
337 676 117: real: +.14
  677 +121: space: \x0a
338 678 124: real: -3.14
  679 +129: space: \x0a
339 680 132: real: -3.
  681 +135: space: \x0a
340 682 138: real: -.14
  683 +142: space: \x0a
341 684 145: integer: +16059
  685 +151: space: \x0a
342 686 154: integer: -16059
  687 +160: space: \x0a
343 688 163: word: +.
344   -168: bad: fadeE (raw: <fade\x0aET) (invalid character (T) in hexstring)
  689 +165: space: \x0a
  690 +168: bad: <fade\x0aET (invalid character (T) in hexstring)
  691 +176: space: \x0a
345 692 177: bad: ) (unexpected ))
346 693 178: bad: > (unexpected >)
347 694 179: word: quack
  695 +184: space:
348 696 185: bad: /name#oops (invalid name token)
  697 +195: space:
349 698 196: name: /name (raw: /n#61me)
  699 +203: space:
350 700 204: word: one
  701 +207: space:
351 702 208: bool: true
  703 +212: space:
352 704 213: word: two
  705 +216: space:
353 706 217: bool: false
  707 +222: space:
354 708 223: word: three
  709 +228: space:
355 710 229: null: null
  711 +233: space:
356 712 234: word: four
  713 +238: space: \x0a
357 714 239: word: !@#$^&
358 715 245: brace_open: {
359 716 246: brace_close: }
360 717 247: word: *-_+=
  718 +252: space: \x0a
361 719 253: word: abc123def3.14true
362   -271: bad: ff (raw: <ff\x0a) (EOF while reading token)
  720 +270: space: \x0a
  721 +271: bad: <ff\x0a (EOF while reading token)
363 722 275: eof
364 723 --- END PAGE 4 ---
365 724 --- BEGIN PAGE 5 ---
366 725 0: word: BT
  726 +2: space: \x0a
367 727 5: bad: /F#00x (null character not allowed in name token)
  728 +11: space:
368 729 12: integer: 24
  730 +14: space:
369 731 15: word: Tf
  732 +17: space: \x0a
370 733 20: integer: 72
  734 +22: space:
371 735 23: integer: 720
  736 +26: space:
372 737 27: word: Td
  738 +29: space: \x0a
373 739 32: string: P\x00tat\x00 (raw: (P\x00tat\000))
  740 +43: space:
374 741 44: word: Tj
  742 +46: space: \x0a
375 743 47: word: ET
  744 +49: space: \x0a\x00\x0a
376 745 52: name: /ThisMustBeLast
  746 +67: space: \x0a
377 747 68: eof
378 748 --- END PAGE 5 ---
379 749 --- BEGIN PAGE 6 ---
380 750 0: word: ID
381 751 skipping to EI
382 752 EI not found
  753 +2: space: \x0a
383 754 5: name: /F1
  755 +8: space:
384 756 9: integer: 24
  757 +11: space:
385 758 12: word: Tf
  759 +14: space: \x0a
386 760 17: integer: 72
  761 +19: space:
387 762 20: integer: 720
  763 +23: space:
388 764 24: word: Td
  765 +26: space: \x0a
389 766 29: string: Potato (raw: (Potato))
  767 +37: space:
390 768 38: word: Tj
  769 +40: space: \x0a
391 770 41: word: ET
  771 +43: space: \x0a
392 772 44: eof
393 773 --- END PAGE 6 ---
394 774 --- BEGIN PAGE 7 ---
395 775 0: word: BT
  776 +2: space: \x0a
396 777 5: name: /F1
  778 +8: space:
397 779 9: integer: 24
  780 +11: space:
398 781 12: word: Tf
  782 +14: space: \x0a
399 783 17: integer: 72
  784 +19: space:
400 785 20: integer: 720
  786 +23: space:
401 787 24: word: Td
  788 +26: space: \x0a
402 789 29: string: Potato (raw: (Potato))
  790 +37: space:
403 791 38: word: Tj
  792 +40: space: \x0a
404 793 41: word: ET
  794 +43: space: \x0a
405 795 44: eof
406 796 --- END PAGE 7 ---
407 797 --- BEGIN PAGE 8 ---
408 798 0: word: BT
  799 +2: space: \x0a
409 800 5: name: /F1
  801 +8: space:
410 802 9: integer: 24
  803 +11: space:
411 804 12: word: Tf
  805 +14: space: \x0a
412 806 17: integer: 72
  807 +19: space:
413 808 20: integer: 720
  809 +23: space:
414 810 24: word: Td
  811 +26: space: \x0a
415 812 29: string: Potato (raw: (Potato))
  813 +37: space:
416 814 38: word: Tj
  815 +40: space: \x0a
417 816 41: word: ET
  817 +43: space: \x0a
418 818 44: eof
419 819 --- END PAGE 8 ---
420 820 --- BEGIN PAGE 9 ---
421 821 0: word: BT
  822 +2: space: \x0a
422 823 5: name: /F1
  824 +8: space:
423 825 9: integer: 24
  826 +11: space:
424 827 12: word: Tf
  828 +14: space: \x0a
425 829 17: integer: 72
  830 +19: space:
426 831 20: integer: 720
  832 +23: space:
427 833 24: word: Td
  834 +26: space: \x0a
428 835 29: string: Potato (raw: (Potato))
  836 +37: space:
429 837 38: word: Tj
  838 +40: space: \x0a
430 839 41: word: ET
  840 +43: space: \x0a
431 841 44: eof
432 842 --- END PAGE 9 ---
433 843 --- BEGIN PAGE 10 ---
434 844 0: word: BT
  845 +2: space: \x0a
435 846 5: name: /F1
  847 +8: space:
436 848 9: integer: 24
  849 +11: space:
437 850 12: word: Tf
  851 +14: space: \x0a
438 852 17: integer: 72
  853 +19: space:
439 854 20: integer: 720
  855 +23: space:
440 856 24: word: Td
  857 +26: space: \x0a
441 858 29: string: Potato (raw: (Potato))
  859 +37: space:
442 860 38: word: Tj
  861 +40: space: \x0a
443 862 41: word: ET
  863 +43: space: \x0a
444 864 44: eof
445 865 --- END PAGE 10 ---
446 866 --- BEGIN PAGE 11 ---
447 867 0: word: BT
  868 +2: space: \x0a
448 869 5: name: /F1
  870 +8: space:
449 871 9: integer: 24
  872 +11: space:
450 873 12: word: Tf
  874 +14: space: \x0a
451 875 17: integer: 72
  876 +19: space:
452 877 20: integer: 720
  878 +23: space:
453 879 24: word: Td
  880 +26: space: \x0a
454 881 29: string: Potato (raw: (Potato))
  882 +37: space:
455 883 38: word: Tj
  884 +40: space: \x0a
456 885 41: word: ET
  886 +43: space: \x0a
457 887 44: eof
458 888 --- END PAGE 11 ---
459 889 --- BEGIN OBJECT STREAM 1 ---
460 890 0: integer: 2
  891 +1: space:
461 892 2: integer: 0
  893 +3: space: \x0a
462 894 4: integer: 3
  895 +5: space:
463 896 6: integer: 97
  897 +8: space: \x0a
464 898 9: integer: 4
  899 +10: space:
465 900 11: integer: 318
  901 +14: space: \x0a
466 902 15: integer: 5
  903 +16: space:
467 904 17: integer: 566
  905 +20: space: \x0a
468 906 21: integer: 6
  907 +22: space:
469 908 23: integer: 814
  909 +26: space: \x0a
470 910 27: integer: 7
  911 +28: space:
471 912 29: integer: 1062
  913 +33: space: \x0a
472 914 34: integer: 8
  915 +35: space:
473 916 36: integer: 1310
  917 +40: space: \x0a
474 918 41: integer: 9
  919 +42: space:
475 920 43: integer: 1558
  921 +47: space: \x0a
476 922 48: integer: 10
  923 +50: space:
477 924 51: integer: 1808
  925 +55: space: \x0a
478 926 56: integer: 11
  927 +58: space:
479 928 59: integer: 2058
  929 +63: space: \x0a
480 930 64: integer: 12
  931 +66: space:
481 932 67: integer: 2309
  933 +71: space: \x0a
482 934 72: integer: 13
  935 +74: space:
483 936 75: integer: 2560
  937 +79: space: \x0a
484 938 80: integer: 14
  939 +82: space:
485 940 83: integer: 2812
  941 +87: space: \x0a
486 942 88: integer: 15
  943 +90: space:
487 944 91: integer: 3064
  945 +95: space: \x0a
488 946 96: integer: 16
  947 +98: space:
489 948 99: integer: 3228
  949 +103: space: \x0a
490 950 104: integer: 17
  951 +106: space:
491 952 107: integer: 3309
  953 +111: space: \x0a
492 954 112: integer: 18
  955 +114: space:
493 956 115: integer: 3473
  957 +119: space: \x0a
494 958 120: integer: 19
  959 +122: space:
495 960 123: integer: 3554
  961 +127: space: \x0a
496 962 128: integer: 20
  963 +130: space:
497 964 131: integer: 3718
  965 +135: space: \x0a
498 966 136: integer: 21
  967 +138: space:
499 968 139: integer: 3799
  969 +143: space: \x0a
500 970 144: integer: 22
  971 +146: space:
501 972 147: integer: 3963
  973 +151: space: \x0a
502 974 152: integer: 23
  975 +154: space:
503 976 155: integer: 4044
  977 +159: space: \x0a
504 978 160: integer: 24
  979 +162: space:
505 980 163: integer: 4208
  981 +167: space: \x0a
506 982 168: integer: 25
  983 +170: space:
507 984 171: integer: 4289
  985 +175: space: \x0a
508 986 176: integer: 26
  987 +178: space:
509 988 179: integer: 4453
  989 +183: space: \x0a
510 990 184: integer: 27
  991 +186: space:
511 992 187: integer: 4534
  993 +191: space: \x0a
512 994 192: integer: 28
  995 +194: space:
513 996 195: integer: 4698
  997 +199: space: \x0a
514 998 200: integer: 29
  999 +202: space:
515 1000 203: integer: 4779
  1001 +207: space: \x0a
516 1002 208: integer: 30
  1003 +210: space:
517 1004 211: integer: 4943
  1005 +215: space: \x0a
518 1006 216: integer: 31
  1007 +218: space:
519 1008 219: integer: 5024
  1009 +223: space: \x0a
520 1010 224: integer: 32
  1011 +226: space:
521 1012 227: integer: 5188
  1013 +231: space: \x0a
522 1014 232: integer: 33
  1015 +234: space:
523 1016 235: integer: 5269
  1017 +239: space: \x0a
524 1018 240: integer: 34
  1019 +242: space:
525 1020 243: integer: 5433
  1021 +247: space: \x0a
526 1022 248: integer: 35
  1023 +250: space:
527 1024 251: integer: 5514
  1025 +255: space: \x0a
528 1026 256: integer: 36
  1027 +258: space:
529 1028 259: integer: 5678
  1029 +263: space: \x0a
  1030 +264: comment: %% Object stream: object 2, index 0; original object ID: 2
  1031 +322: space: \x0a
530 1032 323: dict_open: <<
  1033 +325: space: \x0a
531 1034 328: name: /Pages
  1035 +334: space:
532 1036 335: integer: 3
  1037 +336: space:
533 1038 337: integer: 0
  1039 +338: space:
534 1040 339: word: R
  1041 +340: space: \x0a
535 1042 343: name: /Type
  1043 +348: space:
536 1044 349: name: /Catalog
  1045 +357: space: \x0a
537 1046 358: dict_close: >>
  1047 +360: space: \x0a
  1048 +361: comment: %% Object stream: object 3, index 1; original object ID: 3
  1049 +419: space: \x0a
538 1050 420: dict_open: <<
  1051 +422: space: \x0a
539 1052 425: name: /Count
  1053 +431: space:
540 1054 432: integer: 11
  1055 +434: space: \x0a
541 1056 437: name: /Kids
  1057 +442: space:
542 1058 443: array_open: [
  1059 +444: space: \x0a
543 1060 449: integer: 4
  1061 +450: space:
544 1062 451: integer: 0
  1063 +452: space:
545 1064 453: word: R
  1065 +454: space: \x0a
546 1066 459: integer: 5
  1067 +460: space:
547 1068 461: integer: 0
  1069 +462: space:
548 1070 463: word: R
  1071 +464: space: \x0a
549 1072 469: integer: 6
  1073 +470: space:
550 1074 471: integer: 0
  1075 +472: space:
551 1076 473: word: R
  1077 +474: space: \x0a
552 1078 479: integer: 7
  1079 +480: space:
553 1080 481: integer: 0
  1081 +482: space:
554 1082 483: word: R
  1083 +484: space: \x0a
555 1084 489: integer: 8
  1085 +490: space:
556 1086 491: integer: 0
  1087 +492: space:
557 1088 493: word: R
  1089 +494: space: \x0a
558 1090 499: integer: 9
  1091 +500: space:
559 1092 501: integer: 0
  1093 +502: space:
560 1094 503: word: R
  1095 +504: space: \x0a
561 1096 509: integer: 10
  1097 +511: space:
562 1098 512: integer: 0
  1099 +513: space:
563 1100 514: word: R
  1101 +515: space: \x0a
564 1102 520: integer: 11
  1103 +522: space:
565 1104 523: integer: 0
  1105 +524: space:
566 1106 525: word: R
  1107 +526: space: \x0a
567 1108 531: integer: 12
  1109 +533: space:
568 1110 534: integer: 0
  1111 +535: space:
569 1112 536: word: R
  1113 +537: space: \x0a
570 1114 542: integer: 13
  1115 +544: space:
571 1116 545: integer: 0
  1117 +546: space:
572 1118 547: word: R
  1119 +548: space: \x0a
573 1120 553: integer: 14
  1121 +555: space:
574 1122 556: integer: 0
  1123 +557: space:
575 1124 558: word: R
  1125 +559: space: \x0a
576 1126 562: array_close: ]
  1127 +563: space: \x0a
577 1128 566: name: /Type
  1129 +571: space:
578 1130 572: name: /Pages
  1131 +578: space: \x0a
579 1132 579: dict_close: >>
  1133 +581: space: \x0a
  1134 +582: comment: %% Object stream: object 4, index 2; original object ID: 4
  1135 +640: space: \x0a
  1136 +641: comment: %% Page 1
  1137 +650: space: \x0a
580 1138 651: dict_open: <<
  1139 +653: space: \x0a
581 1140 656: name: /Contents
  1141 +665: space:
582 1142 666: integer: 37
  1143 +668: space:
583 1144 669: integer: 0
  1145 +670: space:
584 1146 671: word: R
  1147 +672: space: \x0a
585 1148 675: name: /MediaBox
  1149 +684: space:
586 1150 685: array_open: [
  1151 +686: space: \x0a
587 1152 691: integer: 0
  1153 +692: space: \x0a
588 1154 697: integer: 0
  1155 +698: space: \x0a
589 1156 703: integer: 612
  1157 +706: space: \x0a
590 1158 711: integer: 792
  1159 +714: space: \x0a
591 1160 717: array_close: ]
  1161 +718: space: \x0a
592 1162 721: name: /Parent
  1163 +728: space:
593 1164 729: integer: 3
  1165 +730: space:
594 1166 731: integer: 0
  1167 +732: space:
595 1168 733: word: R
  1169 +734: space: \x0a
596 1170 737: name: /Resources
  1171 +747: space:
597 1172 748: dict_open: <<
  1173 +750: space: \x0a
598 1174 755: name: /Font
  1175 +760: space:
599 1176 761: dict_open: <<
  1177 +763: space: \x0a
600 1178 770: name: /F1
  1179 +773: space:
601 1180 774: integer: 15
  1181 +776: space:
602 1182 777: integer: 0
  1183 +778: space:
603 1184 779: word: R
  1185 +780: space: \x0a
604 1186 785: dict_close: >>
  1187 +787: space: \x0a
605 1188 792: name: /ProcSet
  1189 +800: space:
606 1190 801: integer: 16
  1191 +803: space:
607 1192 804: integer: 0
  1193 +805: space:
608 1194 806: word: R
  1195 +807: space: \x0a
609 1196 810: dict_close: >>
  1197 +812: space: \x0a
610 1198 815: name: /Type
  1199 +820: space:
611 1200 821: name: /Page
  1201 +826: space: \x0a
612 1202 827: dict_close: >>
  1203 +829: space: \x0a
  1204 +830: comment: %% Object stream: object 5, index 3; original object ID: 5
  1205 +888: space: \x0a
  1206 +889: comment: %% Page 2
  1207 +898: space: \x0a
613 1208 899: dict_open: <<
  1209 +901: space: \x0a
614 1210 904: name: /Contents
  1211 +913: space:
615 1212 914: integer: 39
  1213 +916: space:
616 1214 917: integer: 0
  1215 +918: space:
617 1216 919: word: R
  1217 +920: space: \x0a
618 1218 923: name: /MediaBox
  1219 +932: space:
619 1220 933: array_open: [
  1221 +934: space: \x0a
620 1222 939: integer: 0
  1223 +940: space: \x0a
621 1224 945: integer: 0
  1225 +946: space: \x0a
622 1226 951: integer: 612
  1227 +954: space: \x0a
623 1228 959: integer: 792
  1229 +962: space: \x0a
624 1230 965: array_close: ]
  1231 +966: space: \x0a
625 1232 969: name: /Parent
  1233 +976: space:
626 1234 977: integer: 3
  1235 +978: space:
627 1236 979: integer: 0
  1237 +980: space:
628 1238 981: word: R
  1239 +982: space: \x0a
629 1240 985: name: /Resources
  1241 +995: space:
630 1242 996: dict_open: <<
  1243 +998: space: \x0a
631 1244 1003: name: /Font
  1245 +1008: space:
632 1246 1009: dict_open: <<
  1247 +1011: space: \x0a
633 1248 1018: name: /F1
  1249 +1021: space:
634 1250 1022: integer: 17
  1251 +1024: space:
635 1252 1025: integer: 0
  1253 +1026: space:
636 1254 1027: word: R
  1255 +1028: space: \x0a
637 1256 1033: dict_close: >>
  1257 +1035: space: \x0a
638 1258 1040: name: /ProcSet
  1259 +1048: space:
639 1260 1049: integer: 18
  1261 +1051: space:
640 1262 1052: integer: 0
  1263 +1053: space:
641 1264 1054: word: R
  1265 +1055: space: \x0a
642 1266 1058: dict_close: >>
  1267 +1060: space: \x0a
643 1268 1063: name: /Type
  1269 +1068: space:
644 1270 1069: name: /Page
  1271 +1074: space: \x0a
645 1272 1075: dict_close: >>
  1273 +1077: space: \x0a
  1274 +1078: comment: %% Object stream: object 6, index 4; original object ID: 6
  1275 +1136: space: \x0a
  1276 +1137: comment: %% Page 3
  1277 +1146: space: \x0a
646 1278 1147: dict_open: <<
  1279 +1149: space: \x0a
647 1280 1152: name: /Contents
  1281 +1161: space:
648 1282 1162: integer: 41
  1283 +1164: space:
649 1284 1165: integer: 0
  1285 +1166: space:
650 1286 1167: word: R
  1287 +1168: space: \x0a
651 1288 1171: name: /MediaBox
  1289 +1180: space:
652 1290 1181: array_open: [
  1291 +1182: space: \x0a
653 1292 1187: integer: 0
  1293 +1188: space: \x0a
654 1294 1193: integer: 0
  1295 +1194: space: \x0a
655 1296 1199: integer: 612
  1297 +1202: space: \x0a
656 1298 1207: integer: 792
  1299 +1210: space: \x0a
657 1300 1213: array_close: ]
  1301 +1214: space: \x0a
658 1302 1217: name: /Parent
  1303 +1224: space:
659 1304 1225: integer: 3
  1305 +1226: space:
660 1306 1227: integer: 0
  1307 +1228: space:
661 1308 1229: word: R
  1309 +1230: space: \x0a
662 1310 1233: name: /Resources
  1311 +1243: space:
663 1312 1244: dict_open: <<
  1313 +1246: space: \x0a
664 1314 1251: name: /Font
  1315 +1256: space:
665 1316 1257: dict_open: <<
  1317 +1259: space: \x0a
666 1318 1266: name: /F1
  1319 +1269: space:
667 1320 1270: integer: 19
  1321 +1272: space:
668 1322 1273: integer: 0
  1323 +1274: space:
669 1324 1275: word: R
  1325 +1276: space: \x0a
670 1326 1281: dict_close: >>
  1327 +1283: space: \x0a
671 1328 1288: name: /ProcSet
  1329 +1296: space:
672 1330 1297: integer: 20
  1331 +1299: space:
673 1332 1300: integer: 0
  1333 +1301: space:
674 1334 1302: word: R
  1335 +1303: space: \x0a
675 1336 1306: dict_close: >>
  1337 +1308: space: \x0a
676 1338 1311: name: /Type
  1339 +1316: space:
677 1340 1317: name: /Page
  1341 +1322: space: \x0a
678 1342 1323: dict_close: >>
  1343 +1325: space: \x0a
  1344 +1326: comment: %% Object stream: object 7, index 5; original object ID: 7
  1345 +1384: space: \x0a
  1346 +1385: comment: %% Page 4
  1347 +1394: space: \x0a
679 1348 1395: dict_open: <<
  1349 +1397: space: \x0a
680 1350 1400: name: /Contents
  1351 +1409: space:
681 1352 1410: integer: 43
  1353 +1412: space:
682 1354 1413: integer: 0
  1355 +1414: space:
683 1356 1415: word: R
  1357 +1416: space: \x0a
684 1358 1419: name: /MediaBox
  1359 +1428: space:
685 1360 1429: array_open: [
  1361 +1430: space: \x0a
686 1362 1435: integer: 0
  1363 +1436: space: \x0a
687 1364 1441: integer: 0
  1365 +1442: space: \x0a
688 1366 1447: integer: 612
  1367 +1450: space: \x0a
689 1368 1455: integer: 792
  1369 +1458: space: \x0a
690 1370 1461: array_close: ]
  1371 +1462: space: \x0a
691 1372 1465: name: /Parent
  1373 +1472: space:
692 1374 1473: integer: 3
  1375 +1474: space:
693 1376 1475: integer: 0
  1377 +1476: space:
694 1378 1477: word: R
  1379 +1478: space: \x0a
695 1380 1481: name: /Resources
  1381 +1491: space:
696 1382 1492: dict_open: <<
  1383 +1494: space: \x0a
697 1384 1499: name: /Font
  1385 +1504: space:
698 1386 1505: dict_open: <<
  1387 +1507: space: \x0a
699 1388 1514: name: /F1
  1389 +1517: space:
700 1390 1518: integer: 21
  1391 +1520: space:
701 1392 1521: integer: 0
  1393 +1522: space:
702 1394 1523: word: R
  1395 +1524: space: \x0a
703 1396 1529: dict_close: >>
  1397 +1531: space: \x0a
704 1398 1536: name: /ProcSet
  1399 +1544: space:
705 1400 1545: integer: 22
  1401 +1547: space:
706 1402 1548: integer: 0
  1403 +1549: space:
707 1404 1550: word: R
  1405 +1551: space: \x0a
708 1406 1554: dict_close: >>
  1407 +1556: space: \x0a
709 1408 1559: name: /Type
  1409 +1564: space:
710 1410 1565: name: /Page
  1411 +1570: space: \x0a
711 1412 1571: dict_close: >>
  1413 +1573: space: \x0a
  1414 +1574: comment: %% Object stream: object 8, index 6; original object ID: 8
  1415 +1632: space: \x0a
  1416 +1633: comment: %% Page 5
  1417 +1642: space: \x0a
712 1418 1643: dict_open: <<
  1419 +1645: space: \x0a
713 1420 1648: name: /Contents
  1421 +1657: space:
714 1422 1658: integer: 45
  1423 +1660: space:
715 1424 1661: integer: 0
  1425 +1662: space:
716 1426 1663: word: R
  1427 +1664: space: \x0a
717 1428 1667: name: /MediaBox
  1429 +1676: space:
718 1430 1677: array_open: [
  1431 +1678: space: \x0a
719 1432 1683: integer: 0
  1433 +1684: space: \x0a
720 1434 1689: integer: 0
  1435 +1690: space: \x0a
721 1436 1695: integer: 612
  1437 +1698: space: \x0a
722 1438 1703: integer: 792
  1439 +1706: space: \x0a
723 1440 1709: array_close: ]
  1441 +1710: space: \x0a
724 1442 1713: name: /Parent
  1443 +1720: space:
725 1444 1721: integer: 3
  1445 +1722: space:
726 1446 1723: integer: 0
  1447 +1724: space:
727 1448 1725: word: R
  1449 +1726: space: \x0a
728 1450 1729: name: /Resources
  1451 +1739: space:
729 1452 1740: dict_open: <<
  1453 +1742: space: \x0a
730 1454 1747: name: /Font
  1455 +1752: space:
731 1456 1753: dict_open: <<
  1457 +1755: space: \x0a
732 1458 1762: name: /F1
  1459 +1765: space:
733 1460 1766: integer: 23
  1461 +1768: space:
734 1462 1769: integer: 0
  1463 +1770: space:
735 1464 1771: word: R
  1465 +1772: space: \x0a
736 1466 1777: dict_close: >>
  1467 +1779: space: \x0a
737 1468 1784: name: /ProcSet
  1469 +1792: space:
738 1470 1793: integer: 24
  1471 +1795: space:
739 1472 1796: integer: 0
  1473 +1797: space:
740 1474 1798: word: R
  1475 +1799: space: \x0a
741 1476 1802: dict_close: >>
  1477 +1804: space: \x0a
742 1478 1807: name: /Type
  1479 +1812: space:
743 1480 1813: name: /Page
  1481 +1818: space: \x0a
744 1482 1819: dict_close: >>
  1483 +1821: space: \x0a
  1484 +1822: comment: %% Object stream: object 9, index 7; original object ID: 9
  1485 +1880: space: \x0a
  1486 +1881: comment: %% Page 6
  1487 +1890: space: \x0a
745 1488 1891: dict_open: <<
  1489 +1893: space: \x0a
746 1490 1896: name: /Contents
  1491 +1905: space:
747 1492 1906: integer: 47
  1493 +1908: space:
748 1494 1909: integer: 0
  1495 +1910: space:
749 1496 1911: word: R
  1497 +1912: space: \x0a
750 1498 1915: name: /MediaBox
  1499 +1924: space:
751 1500 1925: array_open: [
  1501 +1926: space: \x0a
752 1502 1931: integer: 0
  1503 +1932: space: \x0a
753 1504 1937: integer: 0
  1505 +1938: space: \x0a
754 1506 1943: integer: 612
  1507 +1946: space: \x0a
755 1508 1951: integer: 792
  1509 +1954: space: \x0a
756 1510 1957: array_close: ]
  1511 +1958: space: \x0a
757 1512 1961: name: /Parent
  1513 +1968: space:
758 1514 1969: integer: 3
  1515 +1970: space:
759 1516 1971: integer: 0
  1517 +1972: space:
760 1518 1973: word: R
  1519 +1974: space: \x0a
761 1520 1977: name: /Resources
  1521 +1987: space:
762 1522 1988: dict_open: <<
  1523 +1990: space: \x0a
763 1524 1995: name: /Font
  1525 +2000: space:
764 1526 2001: dict_open: <<
  1527 +2003: space: \x0a
765 1528 2010: name: /F1
  1529 +2013: space:
766 1530 2014: integer: 25
  1531 +2016: space:
767 1532 2017: integer: 0
  1533 +2018: space:
768 1534 2019: word: R
  1535 +2020: space: \x0a
769 1536 2025: dict_close: >>
  1537 +2027: space: \x0a
770 1538 2032: name: /ProcSet
  1539 +2040: space:
771 1540 2041: integer: 26
  1541 +2043: space:
772 1542 2044: integer: 0
  1543 +2045: space:
773 1544 2046: word: R
  1545 +2047: space: \x0a
774 1546 2050: dict_close: >>
  1547 +2052: space: \x0a
775 1548 2055: name: /Type
  1549 +2060: space:
776 1550 2061: name: /Page
  1551 +2066: space: \x0a
777 1552 2067: dict_close: >>
  1553 +2069: space: \x0a
  1554 +2070: comment: %% Object stream: object 10, index 8; original object ID: 10
  1555 +2130: space: \x0a
  1556 +2131: comment: %% Page 7
  1557 +2140: space: \x0a
778 1558 2141: dict_open: <<
  1559 +2143: space: \x0a
779 1560 2146: name: /Contents
  1561 +2155: space:
780 1562 2156: integer: 49
  1563 +2158: space:
781 1564 2159: integer: 0
  1565 +2160: space:
782 1566 2161: word: R
  1567 +2162: space: \x0a
783 1568 2165: name: /MediaBox
  1569 +2174: space:
784 1570 2175: array_open: [
  1571 +2176: space: \x0a
785 1572 2181: integer: 0
  1573 +2182: space: \x0a
786 1574 2187: integer: 0
  1575 +2188: space: \x0a
787 1576 2193: integer: 612
  1577 +2196: space: \x0a
788 1578 2201: integer: 792
  1579 +2204: space: \x0a
789 1580 2207: array_close: ]
  1581 +2208: space: \x0a
790 1582 2211: name: /Parent
  1583 +2218: space:
791 1584 2219: integer: 3
  1585 +2220: space:
792 1586 2221: integer: 0
  1587 +2222: space:
793 1588 2223: word: R
  1589 +2224: space: \x0a
794 1590 2227: name: /Resources
  1591 +2237: space:
795 1592 2238: dict_open: <<
  1593 +2240: space: \x0a
796 1594 2245: name: /Font
  1595 +2250: space:
797 1596 2251: dict_open: <<
  1597 +2253: space: \x0a
798 1598 2260: name: /F1
  1599 +2263: space:
799 1600 2264: integer: 27
  1601 +2266: space:
800 1602 2267: integer: 0
  1603 +2268: space:
801 1604 2269: word: R
  1605 +2270: space: \x0a
802 1606 2275: dict_close: >>
  1607 +2277: space: \x0a
803 1608 2282: name: /ProcSet
  1609 +2290: space:
804 1610 2291: integer: 28
  1611 +2293: space:
805 1612 2294: integer: 0
  1613 +2295: space:
806 1614 2296: word: R
  1615 +2297: space: \x0a
807 1616 2300: dict_close: >>
  1617 +2302: space: \x0a
808 1618 2305: name: /Type
  1619 +2310: space:
809 1620 2311: name: /Page
  1621 +2316: space: \x0a
810 1622 2317: dict_close: >>
  1623 +2319: space: \x0a
  1624 +2320: comment: %% Object stream: object 11, index 9; original object ID: 11
  1625 +2380: space: \x0a
  1626 +2381: comment: %% Page 8
  1627 +2390: space: \x0a
811 1628 2391: dict_open: <<
  1629 +2393: space: \x0a
812 1630 2396: name: /Contents
  1631 +2405: space:
813 1632 2406: integer: 51
  1633 +2408: space:
814 1634 2409: integer: 0
  1635 +2410: space:
815 1636 2411: word: R
  1637 +2412: space: \x0a
816 1638 2415: name: /MediaBox
  1639 +2424: space:
817 1640 2425: array_open: [
  1641 +2426: space: \x0a
818 1642 2431: integer: 0
  1643 +2432: space: \x0a
819 1644 2437: integer: 0
  1645 +2438: space: \x0a
820 1646 2443: integer: 612
  1647 +2446: space: \x0a
821 1648 2451: integer: 792
  1649 +2454: space: \x0a
822 1650 2457: array_close: ]
  1651 +2458: space: \x0a
823 1652 2461: name: /Parent
  1653 +2468: space:
824 1654 2469: integer: 3
  1655 +2470: space:
825 1656 2471: integer: 0
  1657 +2472: space:
826 1658 2473: word: R
  1659 +2474: space: \x0a
827 1660 2477: name: /Resources
  1661 +2487: space:
828 1662 2488: dict_open: <<
  1663 +2490: space: \x0a
829 1664 2495: name: /Font
  1665 +2500: space:
830 1666 2501: dict_open: <<
  1667 +2503: space: \x0a
831 1668 2510: name: /F1
  1669 +2513: space:
832 1670 2514: integer: 29
  1671 +2516: space:
833 1672 2517: integer: 0
  1673 +2518: space:
834 1674 2519: word: R
  1675 +2520: space: \x0a
835 1676 2525: dict_close: >>
  1677 +2527: space: \x0a
836 1678 2532: name: /ProcSet
  1679 +2540: space:
837 1680 2541: integer: 30
  1681 +2543: space:
838 1682 2544: integer: 0
  1683 +2545: space:
839 1684 2546: word: R
  1685 +2547: space: \x0a
840 1686 2550: dict_close: >>
  1687 +2552: space: \x0a
841 1688 2555: name: /Type
  1689 +2560: space:
842 1690 2561: name: /Page
  1691 +2566: space: \x0a
843 1692 2567: dict_close: >>
  1693 +2569: space: \x0a
  1694 +2570: comment: %% Object stream: object 12, index 10; original object ID: 12
  1695 +2631: space: \x0a
  1696 +2632: comment: %% Page 9
  1697 +2641: space: \x0a
844 1698 2642: dict_open: <<
  1699 +2644: space: \x0a
845 1700 2647: name: /Contents
  1701 +2656: space:
846 1702 2657: integer: 53
  1703 +2659: space:
847 1704 2660: integer: 0
  1705 +2661: space:
848 1706 2662: word: R
  1707 +2663: space: \x0a
849 1708 2666: name: /MediaBox
  1709 +2675: space:
850 1710 2676: array_open: [
  1711 +2677: space: \x0a
851 1712 2682: integer: 0
  1713 +2683: space: \x0a
852 1714 2688: integer: 0
  1715 +2689: space: \x0a
853 1716 2694: integer: 612
  1717 +2697: space: \x0a
854 1718 2702: integer: 792
  1719 +2705: space: \x0a
855 1720 2708: array_close: ]
  1721 +2709: space: \x0a
856 1722 2712: name: /Parent
  1723 +2719: space:
857 1724 2720: integer: 3
  1725 +2721: space:
858 1726 2722: integer: 0
  1727 +2723: space:
859 1728 2724: word: R
  1729 +2725: space: \x0a
860 1730 2728: name: /Resources
  1731 +2738: space:
861 1732 2739: dict_open: <<
  1733 +2741: space: \x0a
862 1734 2746: name: /Font
  1735 +2751: space:
863 1736 2752: dict_open: <<
  1737 +2754: space: \x0a
864 1738 2761: name: /F1
  1739 +2764: space:
865 1740 2765: integer: 31
  1741 +2767: space:
866 1742 2768: integer: 0
  1743 +2769: space:
867 1744 2770: word: R
  1745 +2771: space: \x0a
868 1746 2776: dict_close: >>
  1747 +2778: space: \x0a
869 1748 2783: name: /ProcSet
  1749 +2791: space:
870 1750 2792: integer: 32
  1751 +2794: space:
871 1752 2795: integer: 0
  1753 +2796: space:
872 1754 2797: word: R
  1755 +2798: space: \x0a
873 1756 2801: dict_close: >>
  1757 +2803: space: \x0a
874 1758 2806: name: /Type
  1759 +2811: space:
875 1760 2812: name: /Page
  1761 +2817: space: \x0a
876 1762 2818: dict_close: >>
  1763 +2820: space: \x0a
  1764 +2821: comment: %% Object stream: object 13, index 11; original object ID: 13
  1765 +2882: space: \x0a
  1766 +2883: comment: %% Page 10
  1767 +2893: space: \x0a
877 1768 2894: dict_open: <<
  1769 +2896: space: \x0a
878 1770 2899: name: /Contents
  1771 +2908: space:
879 1772 2909: integer: 55
  1773 +2911: space:
880 1774 2912: integer: 0
  1775 +2913: space:
881 1776 2914: word: R
  1777 +2915: space: \x0a
882 1778 2918: name: /MediaBox
  1779 +2927: space:
883 1780 2928: array_open: [
  1781 +2929: space: \x0a
884 1782 2934: integer: 0
  1783 +2935: space: \x0a
885 1784 2940: integer: 0
  1785 +2941: space: \x0a
886 1786 2946: integer: 612
  1787 +2949: space: \x0a
887 1788 2954: integer: 792
  1789 +2957: space: \x0a
888 1790 2960: array_close: ]
  1791 +2961: space: \x0a
889 1792 2964: name: /Parent
  1793 +2971: space:
890 1794 2972: integer: 3
  1795 +2973: space:
891 1796 2974: integer: 0
  1797 +2975: space:
892 1798 2976: word: R
  1799 +2977: space: \x0a
893 1800 2980: name: /Resources
  1801 +2990: space:
894 1802 2991: dict_open: <<
  1803 +2993: space: \x0a
895 1804 2998: name: /Font
  1805 +3003: space:
896 1806 3004: dict_open: <<
  1807 +3006: space: \x0a
897 1808 3013: name: /F1
  1809 +3016: space:
898 1810 3017: integer: 33
  1811 +3019: space:
899 1812 3020: integer: 0
  1813 +3021: space:
900 1814 3022: word: R
  1815 +3023: space: \x0a
901 1816 3028: dict_close: >>
  1817 +3030: space: \x0a
902 1818 3035: name: /ProcSet
  1819 +3043: space:
903 1820 3044: integer: 34
  1821 +3046: space:
904 1822 3047: integer: 0
  1823 +3048: space:
905 1824 3049: word: R
  1825 +3050: space: \x0a
906 1826 3053: dict_close: >>
  1827 +3055: space: \x0a
907 1828 3058: name: /Type
  1829 +3063: space:
908 1830 3064: name: /Page
  1831 +3069: space: \x0a
909 1832 3070: dict_close: >>
  1833 +3072: space: \x0a
  1834 +3073: comment: %% Object stream: object 14, index 12; original object ID: 14
  1835 +3134: space: \x0a
  1836 +3135: comment: %% Page 11
  1837 +3145: space: \x0a
910 1838 3146: dict_open: <<
  1839 +3148: space: \x0a
911 1840 3151: name: /Contents
  1841 +3160: space:
912 1842 3161: integer: 57
  1843 +3163: space:
913 1844 3164: integer: 0
  1845 +3165: space:
914 1846 3166: word: R
  1847 +3167: space: \x0a
915 1848 3170: name: /MediaBox
  1849 +3179: space:
916 1850 3180: array_open: [
  1851 +3181: space: \x0a
917 1852 3186: integer: 0
  1853 +3187: space: \x0a
918 1854 3192: integer: 0
  1855 +3193: space: \x0a
919 1856 3198: integer: 612
  1857 +3201: space: \x0a
920 1858 3206: integer: 792
  1859 +3209: space: \x0a
921 1860 3212: array_close: ]
  1861 +3213: space: \x0a
922 1862 3216: name: /Parent
  1863 +3223: space:
923 1864 3224: integer: 3
  1865 +3225: space:
924 1866 3226: integer: 0
  1867 +3227: space:
925 1868 3228: word: R
  1869 +3229: space: \x0a
926 1870 3232: name: /Resources
  1871 +3242: space:
927 1872 3243: dict_open: <<
  1873 +3245: space: \x0a
928 1874 3250: name: /Font
  1875 +3255: space:
929 1876 3256: dict_open: <<
  1877 +3258: space: \x0a
930 1878 3265: name: /F1
  1879 +3268: space:
931 1880 3269: integer: 35
  1881 +3271: space:
932 1882 3272: integer: 0
  1883 +3273: space:
933 1884 3274: word: R
  1885 +3275: space: \x0a
934 1886 3280: dict_close: >>
  1887 +3282: space: \x0a
935 1888 3287: name: /ProcSet
  1889 +3295: space:
936 1890 3296: integer: 36
  1891 +3298: space:
937 1892 3299: integer: 0
  1893 +3300: space:
938 1894 3301: word: R
  1895 +3302: space: \x0a
939 1896 3305: dict_close: >>
  1897 +3307: space: \x0a
940 1898 3310: name: /Type
  1899 +3315: space:
941 1900 3316: name: /Page
  1901 +3321: space: \x0a
942 1902 3322: dict_close: >>
  1903 +3324: space: \x0a
  1904 +3325: comment: %% Object stream: object 15, index 13; original object ID: 15
  1905 +3386: space: \x0a
943 1906 3387: dict_open: <<
  1907 +3389: space: \x0a
944 1908 3392: name: /BaseFont
  1909 +3401: space:
945 1910 3402: name: /Helvetica
  1911 +3412: space: \x0a
946 1912 3415: name: /Encoding
  1913 +3424: space:
947 1914 3425: name: /WinAnsiEncoding
  1915 +3441: space: \x0a
948 1916 3444: name: /Name
  1917 +3449: space:
949 1918 3450: name: /F1
  1919 +3453: space: \x0a
950 1920 3456: name: /Subtype
  1921 +3464: space:
951 1922 3465: name: /Type1
  1923 +3471: space: \x0a
952 1924 3474: name: /Type
  1925 +3479: space:
953 1926 3480: name: /Font
  1927 +3485: space: \x0a
954 1928 3486: dict_close: >>
  1929 +3488: space: \x0a
  1930 +3489: comment: %% Object stream: object 16, index 14; original object ID: 16
  1931 +3550: space: \x0a
955 1932 3551: array_open: [
  1933 +3552: space: \x0a
956 1934 3555: name: /PDF
  1935 +3559: space: \x0a
957 1936 3562: name: /Text
  1937 +3567: space: \x0a
958 1938 3568: array_close: ]
  1939 +3569: space: \x0a
  1940 +3570: comment: %% Object stream: object 17, index 15; original object ID: 17
  1941 +3631: space: \x0a
959 1942 3632: dict_open: <<
  1943 +3634: space: \x0a
960 1944 3637: name: /BaseFont
  1945 +3646: space:
961 1946 3647: name: /Helvetica
  1947 +3657: space: \x0a
962 1948 3660: name: /Encoding
  1949 +3669: space:
963 1950 3670: name: /WinAnsiEncoding
  1951 +3686: space: \x0a
964 1952 3689: name: /Name
  1953 +3694: space:
965 1954 3695: name: /F1
  1955 +3698: space: \x0a
966 1956 3701: name: /Subtype
  1957 +3709: space:
967 1958 3710: name: /Type1
  1959 +3716: space: \x0a
968 1960 3719: name: /Type
  1961 +3724: space:
969 1962 3725: name: /Font
  1963 +3730: space: \x0a
970 1964 3731: dict_close: >>
  1965 +3733: space: \x0a
  1966 +3734: comment: %% Object stream: object 18, index 16; original object ID: 18
  1967 +3795: space: \x0a
971 1968 3796: array_open: [
  1969 +3797: space: \x0a
972 1970 3800: name: /PDF
  1971 +3804: space: \x0a
973 1972 3807: name: /Text
  1973 +3812: space: \x0a
974 1974 3813: array_close: ]
  1975 +3814: space: \x0a
  1976 +3815: comment: %% Object stream: object 19, index 17; original object ID: 19
  1977 +3876: space: \x0a
975 1978 3877: dict_open: <<
  1979 +3879: space: \x0a
976 1980 3882: name: /BaseFont
  1981 +3891: space:
977 1982 3892: name: /Helvetica
  1983 +3902: space: \x0a
978 1984 3905: name: /Encoding
  1985 +3914: space:
979 1986 3915: name: /WinAnsiEncoding
  1987 +3931: space: \x0a
980 1988 3934: name: /Name
  1989 +3939: space:
981 1990 3940: name: /F1
  1991 +3943: space: \x0a
982 1992 3946: name: /Subtype
  1993 +3954: space:
983 1994 3955: name: /Type1
  1995 +3961: space: \x0a
984 1996 3964: name: /Type
  1997 +3969: space:
985 1998 3970: name: /Font
  1999 +3975: space: \x0a
986 2000 3976: dict_close: >>
  2001 +3978: space: \x0a
  2002 +3979: comment: %% Object stream: object 20, index 18; original object ID: 20
  2003 +4040: space: \x0a
987 2004 4041: array_open: [
  2005 +4042: space: \x0a
988 2006 4045: name: /PDF
  2007 +4049: space: \x0a
989 2008 4052: name: /Text
  2009 +4057: space: \x0a
990 2010 4058: array_close: ]
  2011 +4059: space: \x0a
  2012 +4060: comment: %% Object stream: object 21, index 19; original object ID: 21
  2013 +4121: space: \x0a
991 2014 4122: dict_open: <<
  2015 +4124: space: \x0a
992 2016 4127: name: /BaseFont
  2017 +4136: space:
993 2018 4137: name: /Helvetica
  2019 +4147: space: \x0a
994 2020 4150: name: /Encoding
  2021 +4159: space:
995 2022 4160: name: /WinAnsiEncoding
  2023 +4176: space: \x0a
996 2024 4179: name: /Name
  2025 +4184: space:
997 2026 4185: name: /F1
  2027 +4188: space: \x0a
998 2028 4191: name: /Subtype
  2029 +4199: space:
999 2030 4200: name: /Type1
  2031 +4206: space: \x0a
1000 2032 4209: name: /Type
  2033 +4214: space:
1001 2034 4215: name: /Font
  2035 +4220: space: \x0a
1002 2036 4221: dict_close: >>
  2037 +4223: space: \x0a
  2038 +4224: comment: %% Object stream: object 22, index 20; original object ID: 22
  2039 +4285: space: \x0a
1003 2040 4286: array_open: [
  2041 +4287: space: \x0a
1004 2042 4290: name: /PDF
  2043 +4294: space: \x0a
1005 2044 4297: name: /Text
  2045 +4302: space: \x0a
1006 2046 4303: array_close: ]
  2047 +4304: space: \x0a
  2048 +4305: comment: %% Object stream: object 23, index 21; original object ID: 23
  2049 +4366: space: \x0a
1007 2050 4367: dict_open: <<
  2051 +4369: space: \x0a
1008 2052 4372: name: /BaseFont
  2053 +4381: space:
1009 2054 4382: name: /Helvetica
  2055 +4392: space: \x0a
1010 2056 4395: name: /Encoding
  2057 +4404: space:
1011 2058 4405: name: /WinAnsiEncoding
  2059 +4421: space: \x0a
1012 2060 4424: name: /Name
  2061 +4429: space:
1013 2062 4430: name: /F1
  2063 +4433: space: \x0a
1014 2064 4436: name: /Subtype
  2065 +4444: space:
1015 2066 4445: name: /Type1
  2067 +4451: space: \x0a
1016 2068 4454: name: /Type
  2069 +4459: space:
1017 2070 4460: name: /Font
  2071 +4465: space: \x0a
1018 2072 4466: dict_close: >>
  2073 +4468: space: \x0a
  2074 +4469: comment: %% Object stream: object 24, index 22; original object ID: 24
  2075 +4530: space: \x0a
1019 2076 4531: array_open: [
  2077 +4532: space: \x0a
1020 2078 4535: name: /PDF
  2079 +4539: space: \x0a
1021 2080 4542: name: /Text
  2081 +4547: space: \x0a
1022 2082 4548: array_close: ]
  2083 +4549: space: \x0a
  2084 +4550: comment: %% Object stream: object 25, index 23; original object ID: 25
  2085 +4611: space: \x0a
1023 2086 4612: dict_open: <<
  2087 +4614: space: \x0a
1024 2088 4617: name: /BaseFont
  2089 +4626: space:
1025 2090 4627: name: /Helvetica
  2091 +4637: space: \x0a
1026 2092 4640: name: /Encoding
  2093 +4649: space:
1027 2094 4650: name: /WinAnsiEncoding
  2095 +4666: space: \x0a
1028 2096 4669: name: /Name
  2097 +4674: space:
1029 2098 4675: name: /F1
  2099 +4678: space: \x0a
1030 2100 4681: name: /Subtype
  2101 +4689: space:
1031 2102 4690: name: /Type1
  2103 +4696: space: \x0a
1032 2104 4699: name: /Type
  2105 +4704: space:
1033 2106 4705: name: /Font
  2107 +4710: space: \x0a
1034 2108 4711: dict_close: >>
  2109 +4713: space: \x0a
  2110 +4714: comment: %% Object stream: object 26, index 24; original object ID: 26
  2111 +4775: space: \x0a
1035 2112 4776: array_open: [
  2113 +4777: space: \x0a
1036 2114 4780: name: /PDF
  2115 +4784: space: \x0a
1037 2116 4787: name: /Text
  2117 +4792: space: \x0a
1038 2118 4793: array_close: ]
  2119 +4794: space: \x0a
  2120 +4795: comment: %% Object stream: object 27, index 25; original object ID: 27
  2121 +4856: space: \x0a
1039 2122 4857: dict_open: <<
  2123 +4859: space: \x0a
1040 2124 4862: name: /BaseFont
  2125 +4871: space:
1041 2126 4872: name: /Helvetica
  2127 +4882: space: \x0a
1042 2128 4885: name: /Encoding
  2129 +4894: space:
1043 2130 4895: name: /WinAnsiEncoding
  2131 +4911: space: \x0a
1044 2132 4914: name: /Name
  2133 +4919: space:
1045 2134 4920: name: /F1
  2135 +4923: space: \x0a
1046 2136 4926: name: /Subtype
  2137 +4934: space:
1047 2138 4935: name: /Type1
  2139 +4941: space: \x0a
1048 2140 4944: name: /Type
  2141 +4949: space:
1049 2142 4950: name: /Font
  2143 +4955: space: \x0a
1050 2144 4956: dict_close: >>
  2145 +4958: space: \x0a
  2146 +4959: comment: %% Object stream: object 28, index 26; original object ID: 28
  2147 +5020: space: \x0a
1051 2148 5021: array_open: [
  2149 +5022: space: \x0a
1052 2150 5025: name: /PDF
  2151 +5029: space: \x0a
1053 2152 5032: name: /Text
  2153 +5037: space: \x0a
1054 2154 5038: array_close: ]
  2155 +5039: space: \x0a
  2156 +5040: comment: %% Object stream: object 29, index 27; original object ID: 29
  2157 +5101: space: \x0a
1055 2158 5102: dict_open: <<
  2159 +5104: space: \x0a
1056 2160 5107: name: /BaseFont
  2161 +5116: space:
1057 2162 5117: name: /Helvetica
  2163 +5127: space: \x0a
1058 2164 5130: name: /Encoding
  2165 +5139: space:
1059 2166 5140: name: /WinAnsiEncoding
  2167 +5156: space: \x0a
1060 2168 5159: name: /Name
  2169 +5164: space:
1061 2170 5165: name: /F1
  2171 +5168: space: \x0a
1062 2172 5171: name: /Subtype
  2173 +5179: space:
1063 2174 5180: name: /Type1
  2175 +5186: space: \x0a
1064 2176 5189: name: /Type
  2177 +5194: space:
1065 2178 5195: name: /Font
  2179 +5200: space: \x0a
1066 2180 5201: dict_close: >>
  2181 +5203: space: \x0a
  2182 +5204: comment: %% Object stream: object 30, index 28; original object ID: 30
  2183 +5265: space: \x0a
1067 2184 5266: array_open: [
  2185 +5267: space: \x0a
1068 2186 5270: name: /PDF
  2187 +5274: space: \x0a
1069 2188 5277: name: /Text
  2189 +5282: space: \x0a
1070 2190 5283: array_close: ]
  2191 +5284: space: \x0a
  2192 +5285: comment: %% Object stream: object 31, index 29; original object ID: 31
  2193 +5346: space: \x0a
1071 2194 5347: dict_open: <<
  2195 +5349: space: \x0a
1072 2196 5352: name: /BaseFont
  2197 +5361: space:
1073 2198 5362: name: /Helvetica
  2199 +5372: space: \x0a
1074 2200 5375: name: /Encoding
  2201 +5384: space:
1075 2202 5385: name: /WinAnsiEncoding
  2203 +5401: space: \x0a
1076 2204 5404: name: /Name
  2205 +5409: space:
1077 2206 5410: name: /F1
  2207 +5413: space: \x0a
1078 2208 5416: name: /Subtype
  2209 +5424: space:
1079 2210 5425: name: /Type1
  2211 +5431: space: \x0a
1080 2212 5434: name: /Type
  2213 +5439: space:
1081 2214 5440: name: /Font
  2215 +5445: space: \x0a
1082 2216 5446: dict_close: >>
  2217 +5448: space: \x0a
  2218 +5449: comment: %% Object stream: object 32, index 30; original object ID: 32
  2219 +5510: space: \x0a
1083 2220 5511: array_open: [
  2221 +5512: space: \x0a
1084 2222 5515: name: /PDF
  2223 +5519: space: \x0a
1085 2224 5522: name: /Text
  2225 +5527: space: \x0a
1086 2226 5528: array_close: ]
  2227 +5529: space: \x0a
  2228 +5530: comment: %% Object stream: object 33, index 31; original object ID: 33
  2229 +5591: space: \x0a
1087 2230 5592: dict_open: <<
  2231 +5594: space: \x0a
1088 2232 5597: name: /BaseFont
  2233 +5606: space:
1089 2234 5607: name: /Helvetica
  2235 +5617: space: \x0a
1090 2236 5620: name: /Encoding
  2237 +5629: space:
1091 2238 5630: name: /WinAnsiEncoding
  2239 +5646: space: \x0a
1092 2240 5649: name: /Name
  2241 +5654: space:
1093 2242 5655: name: /F1
  2243 +5658: space: \x0a
1094 2244 5661: name: /Subtype
  2245 +5669: space:
1095 2246 5670: name: /Type1
  2247 +5676: space: \x0a
1096 2248 5679: name: /Type
  2249 +5684: space:
1097 2250 5685: name: /Font
  2251 +5690: space: \x0a
1098 2252 5691: dict_close: >>
  2253 +5693: space: \x0a
  2254 +5694: comment: %% Object stream: object 34, index 32; original object ID: 34
  2255 +5755: space: \x0a
1099 2256 5756: array_open: [
  2257 +5757: space: \x0a
1100 2258 5760: name: /PDF
  2259 +5764: space: \x0a
1101 2260 5767: name: /Text
  2261 +5772: space: \x0a
1102 2262 5773: array_close: ]
  2263 +5774: space: \x0a
  2264 +5775: comment: %% Object stream: object 35, index 33; original object ID: 35
  2265 +5836: space: \x0a
1103 2266 5837: dict_open: <<
  2267 +5839: space: \x0a
1104 2268 5842: name: /BaseFont
  2269 +5851: space:
1105 2270 5852: name: /Helvetica
  2271 +5862: space: \x0a
1106 2272 5865: name: /Encoding
  2273 +5874: space:
1107 2274 5875: name: /WinAnsiEncoding
  2275 +5891: space: \x0a
1108 2276 5894: name: /Name
  2277 +5899: space:
1109 2278 5900: name: /F1
  2279 +5903: space: \x0a
1110 2280 5906: name: /Subtype
  2281 +5914: space:
1111 2282 5915: name: /Type1
  2283 +5921: space: \x0a
1112 2284 5924: name: /Type
  2285 +5929: space:
1113 2286 5930: name: /Font
  2287 +5935: space: \x0a
1114 2288 5936: dict_close: >>
  2289 +5938: space: \x0a
  2290 +5939: comment: %% Object stream: object 36, index 34; original object ID: 36
  2291 +6000: space: \x0a
1115 2292 6001: array_open: [
  2293 +6002: space: \x0a
1116 2294 6005: name: /PDF
  2295 +6009: space: \x0a
1117 2296 6012: name: /Text
  2297 +6017: space: \x0a
1118 2298 6018: array_close: ]
  2299 +6019: space: \x0a
1119 2300 6020: eof
1120 2301 --- END OBJECT STREAM 1 ---
... ...
qpdf/test_tokenizer.cc
... ... @@ -13,7 +13,8 @@ static char const* whoami = 0;
13 13  
14 14 void usage()
15 15 {
16   - std::cerr << "Usage: " << whoami << " filename"
  16 + std::cerr << "Usage: " << whoami
  17 + << " [-maxlen len | -no-ignorable] filename"
17 18 << std::endl;
18 19 exit(2);
19 20 }
... ... @@ -83,6 +84,10 @@ static char const* tokenTypeName(QPDFTokenizer::token_type_e ttype)
83 84 return "word";
84 85 case QPDFTokenizer::tt_eof:
85 86 return "eof";
  87 + case QPDFTokenizer::tt_space:
  88 + return "space";
  89 + case QPDFTokenizer::tt_comment:
  90 + return "comment";
86 91 }
87 92 return 0;
88 93 }
... ... @@ -108,7 +113,8 @@ sanitize(std::string const&amp; value)
108 113 }
109 114  
110 115 static void
111   -try_skipping(PointerHolder<InputSource> is, char const* what, Finder& f)
  116 +try_skipping(QPDFTokenizer& tokenizer, PointerHolder<InputSource> is,
  117 + size_t max_len, char const* what, Finder& f)
112 118 {
113 119 std::cout << "skipping to " << what << std::endl;
114 120 qpdf_offset_t offset = is->tell();
... ... @@ -121,6 +127,7 @@ try_skipping(PointerHolder&lt;InputSource&gt; is, char const* what, Finder&amp; f)
121 127  
122 128 static void
123 129 dump_tokens(PointerHolder<InputSource> is, std::string const& label,
  130 + size_t max_len, bool include_ignorable,
124 131 bool skip_streams, bool skip_inline_images)
125 132 {
126 133 Finder f1(is, "endstream");
... ... @@ -129,11 +136,16 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label,
129 136 bool done = false;
130 137 QPDFTokenizer tokenizer;
131 138 tokenizer.allowEOF();
  139 + if (include_ignorable)
  140 + {
  141 + tokenizer.includeIgnorable();
  142 + }
132 143 while (! done)
133 144 {
134   - QPDFTokenizer::Token token = tokenizer.readToken(is, "test", true);
  145 + QPDFTokenizer::Token token =
  146 + tokenizer.readToken(is, "test", true, max_len);
135 147  
136   - qpdf_offset_t offset = is->tell() - token.getRawValue().length();
  148 + qpdf_offset_t offset = is->getLastOffset();
137 149 std::cout << offset << ": "
138 150 << tokenTypeName(token.getType());
139 151 if (token.getType() != QPDFTokenizer::tt_eof)
... ... @@ -153,12 +165,12 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label,
153 165 if (skip_streams &&
154 166 (token == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "stream")))
155 167 {
156   - try_skipping(is, "endstream", f1);
  168 + try_skipping(tokenizer, is, max_len, "endstream", f1);
157 169 }
158 170 else if (skip_inline_images &&
159 171 (token == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "ID")))
160 172 {
161   - try_skipping(is, "EI", f2);
  173 + try_skipping(tokenizer, is, max_len, "EI", f2);
162 174 }
163 175 else if (token.getType() == QPDFTokenizer::tt_eof)
164 176 {
... ... @@ -168,17 +180,16 @@ dump_tokens(PointerHolder&lt;InputSource&gt; is, std::string const&amp; label,
168 180 std::cout << "--- END " << label << " ---" << std::endl;
169 181 }
170 182  
171   -static void process(char const* filename)
  183 +static void process(char const* filename, bool include_ignorable,
  184 + size_t max_len)
172 185 {
173 186 PointerHolder<InputSource> is;
174   - QPDFTokenizer tokenizer;
175   - tokenizer.allowEOF();
176 187  
177 188 // Tokenize file, skipping streams
178 189 FileInputSource* fis = new FileInputSource();
179 190 fis->setFilename(filename);
180 191 is = fis;
181   - dump_tokens(is, "FILE", true, false);
  192 + dump_tokens(is, "FILE", max_len, include_ignorable, true, false);
182 193  
183 194 // Tokenize content streams, skipping inline images
184 195 QPDF qpdf;
... ... @@ -201,7 +212,8 @@ static void process(char const* filename)
201 212 BufferInputSource* bis = new BufferInputSource(
202 213 "content data", content_data.getPointer());
203 214 is = bis;
204   - dump_tokens(is, "PAGE " + QUtil::int_to_string(pageno), false, true);
  215 + dump_tokens(is, "PAGE " + QUtil::int_to_string(pageno),
  216 + max_len, include_ignorable, false, true);
205 217 }
206 218  
207 219 // Tokenize object streams
... ... @@ -220,7 +232,7 @@ static void process(char const* filename)
220 232 is = bis;
221 233 dump_tokens(is, "OBJECT STREAM " +
222 234 QUtil::int_to_string((*iter).getObjectID()),
223   - false, false);
  235 + max_len, include_ignorable, false, false);
224 236 }
225 237 }
226 238 }
... ... @@ -242,15 +254,47 @@ int main(int argc, char* argv[])
242 254 whoami += 3;
243 255 }
244 256  
245   - if (argc != 2)
  257 + char const* filename = 0;
  258 + size_t max_len = 0;
  259 + bool include_ignorable = true;
  260 + for (int i = 1; i < argc; ++i)
  261 + {
  262 + if (argv[i][0] == '-')
  263 + {
  264 + if (strcmp(argv[i], "-maxlen") == 0)
  265 + {
  266 + if (++i >= argc)
  267 + {
  268 + usage();
  269 + }
  270 + max_len = QUtil::string_to_int(argv[i]);
  271 + }
  272 + else if (strcmp(argv[i], "-no-ignorable") == 0)
  273 + {
  274 + include_ignorable = false;
  275 + }
  276 + else
  277 + {
  278 + usage();
  279 + }
  280 + }
  281 + else if (filename)
  282 + {
  283 + usage();
  284 + }
  285 + else
  286 + {
  287 + filename = argv[i];
  288 + }
  289 + }
  290 + if (filename == 0)
246 291 {
247 292 usage();
248 293 }
249 294  
250   - char const* filename = argv[1];
251 295 try
252 296 {
253   - process(filename);
  297 + process(filename, include_ignorable, max_len);
254 298 }
255 299 catch (std::exception& e)
256 300 {
... ...