mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-03 07:12:28 +00:00
more tests of C API
git-svn-id: svn+q:///qpdf/trunk@728 71b93d88-0707-0410-a8cf-f5a4172ac649
This commit is contained in:
parent
fe6771e0e5
commit
65bf77fa35
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2009-09-27 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
|
* The function QPDF::getUserPassword returned the user password
|
||||||
|
with the required padding as specified by the PDF specification.
|
||||||
|
This is seldom useful to users. This function has been replaced
|
||||||
|
by QPDF::getPaddedUserPassword. Call the new
|
||||||
|
QPDF::getTrimmedUserPassword to retreive the user password in a
|
||||||
|
human-readable format.
|
||||||
|
|
||||||
|
* qpdf/qpdf.cc (main): qpdf --check now prints the PDF version
|
||||||
|
number in addition to its other output.
|
||||||
|
|
||||||
2009-09-26 Jay Berkenbilt <ejb@ql.org>
|
2009-09-26 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
* Removed all references to QEXC; now using std::runtime_error and
|
* Removed all references to QEXC; now using std::runtime_error and
|
||||||
|
@ -33,6 +33,105 @@ static void test01(char const* infile,
|
|||||||
report_errors();
|
report_errors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test02(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_set_suppress_warnings(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
if (qpdf_init_write(qpdf, outfile) == QPDF_SUCCESS)
|
||||||
|
{
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
}
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test03(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_content_normalization(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test04(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_set_ignore_xref_streams(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test05(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_linearization(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test06(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_object_stream_mode(qpdf, QPDF_OBJECT_STREAM_GENERATE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test07(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_qdf_mode(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test08(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_qdf_mode(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_suppress_original_object_IDs(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test09(char const* infile,
|
||||||
|
char const* password,
|
||||||
|
char const* outfile)
|
||||||
|
{
|
||||||
|
qpdf_read(qpdf, infile, password);
|
||||||
|
qpdf_init_write(qpdf, outfile);
|
||||||
|
qpdf_set_static_ID(qpdf, QPDF_TRUE);
|
||||||
|
qpdf_set_stream_data_mode(qpdf, QPDF_STREAM_DATA_UNCOMPRESS);
|
||||||
|
qpdf_write(qpdf);
|
||||||
|
report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
char* whoami = 0;
|
char* whoami = 0;
|
||||||
@ -67,6 +166,14 @@ int main(int argc, char* argv[])
|
|||||||
outfile = argv[4];
|
outfile = argv[4];
|
||||||
|
|
||||||
fn = ((n == 1) ? test01 :
|
fn = ((n == 1) ? test01 :
|
||||||
|
(n == 2) ? test02 :
|
||||||
|
(n == 3) ? test03 :
|
||||||
|
(n == 4) ? test04 :
|
||||||
|
(n == 5) ? test05 :
|
||||||
|
(n == 6) ? test06 :
|
||||||
|
(n == 7) ? test07 :
|
||||||
|
(n == 8) ? test08 :
|
||||||
|
(n == 9) ? test09 :
|
||||||
0);
|
0);
|
||||||
|
|
||||||
if (fn == 0)
|
if (fn == 0)
|
||||||
|
@ -296,6 +296,56 @@ check_pdf("no recompression",
|
|||||||
"good17-not-recompressed.pdf",
|
"good17-not-recompressed.pdf",
|
||||||
0);
|
0);
|
||||||
|
|
||||||
|
show_ntests();
|
||||||
|
# ----------
|
||||||
|
$td->notify("--- C API Tests ---");
|
||||||
|
|
||||||
|
my @capi = (
|
||||||
|
[2, 'no options'],
|
||||||
|
[3, 'normalized content'],
|
||||||
|
[4, 'ignore xref streams'],
|
||||||
|
[5, 'linearized'],
|
||||||
|
[6, 'object streams'],
|
||||||
|
[7, 'qdf'],
|
||||||
|
[8, 'no original object ids'],
|
||||||
|
[9, 'uncompressed streams'],
|
||||||
|
);
|
||||||
|
$n_tests += (2 * @capi) + 3;
|
||||||
|
foreach my $d (@capi)
|
||||||
|
{
|
||||||
|
my ($n, $description) = @$d;
|
||||||
|
my $outfile = $description;
|
||||||
|
$outfile =~ s/ /-/g;
|
||||||
|
$outfile = "c-$outfile.pdf";
|
||||||
|
$td->runtest($description,
|
||||||
|
{$td->COMMAND => "qpdf-ctest $n hybrid-xref.pdf '' a.pdf"},
|
||||||
|
{$td->STRING => "", $td->EXIT_STATUS => 0});
|
||||||
|
$td->runtest("check $description",
|
||||||
|
{$td->FILE => "a.pdf"},
|
||||||
|
{$td->FILE => $outfile});
|
||||||
|
}
|
||||||
|
$td->runtest("write to bad file name",
|
||||||
|
{$td->COMMAND => "qpdf-ctest 2 hybrid-xref.pdf '' /:a:/:b:"},
|
||||||
|
{$td->REGEXP => "error: open /:a:/:b:: .*",
|
||||||
|
$td->EXIT_STATUS => 0},
|
||||||
|
$td->NORMALIZE_NEWLINES);
|
||||||
|
|
||||||
|
$td->runtest("write damaged to bad file name",
|
||||||
|
{$td->COMMAND => "qpdf-ctest 2 append-page-content-damaged.pdf" .
|
||||||
|
" '' /:a:/:b:"},
|
||||||
|
{$td->REGEXP =>
|
||||||
|
"warning:(?s:.*)\n" .
|
||||||
|
"error: open /:a:/:b:: .*",
|
||||||
|
$td->EXIT_STATUS => 0},
|
||||||
|
$td->NORMALIZE_NEWLINES);
|
||||||
|
|
||||||
|
$td->runtest("write damaged",
|
||||||
|
{$td->COMMAND => "qpdf-ctest 2 append-page-content-damaged.pdf" .
|
||||||
|
" '' a.pdf"},
|
||||||
|
{$td->FILE => "c-write-damaged.out",
|
||||||
|
$td->EXIT_STATUS => 0},
|
||||||
|
$td->NORMALIZE_NEWLINES);
|
||||||
|
|
||||||
show_ntests();
|
show_ntests();
|
||||||
# ----------
|
# ----------
|
||||||
$td->notify("--- Object Stream Tests ---");
|
$td->notify("--- Object Stream Tests ---");
|
||||||
|
BIN
qpdf/qtest/qpdf/c-ignore-xref-streams.pdf
Normal file
BIN
qpdf/qtest/qpdf/c-ignore-xref-streams.pdf
Normal file
Binary file not shown.
BIN
qpdf/qtest/qpdf/c-linearized.pdf
Normal file
BIN
qpdf/qtest/qpdf/c-linearized.pdf
Normal file
Binary file not shown.
BIN
qpdf/qtest/qpdf/c-no-options.pdf
Normal file
BIN
qpdf/qtest/qpdf/c-no-options.pdf
Normal file
Binary file not shown.
1512
qpdf/qtest/qpdf/c-no-original-object-ids.pdf
Normal file
1512
qpdf/qtest/qpdf/c-no-original-object-ids.pdf
Normal file
File diff suppressed because it is too large
Load Diff
BIN
qpdf/qtest/qpdf/c-normalized-content.pdf
Normal file
BIN
qpdf/qtest/qpdf/c-normalized-content.pdf
Normal file
Binary file not shown.
BIN
qpdf/qtest/qpdf/c-object-streams.pdf
Normal file
BIN
qpdf/qtest/qpdf/c-object-streams.pdf
Normal file
Binary file not shown.
1576
qpdf/qtest/qpdf/c-qdf.pdf
Normal file
1576
qpdf/qtest/qpdf/c-qdf.pdf
Normal file
File diff suppressed because it is too large
Load Diff
434
qpdf/qtest/qpdf/c-uncompressed-streams.pdf
Normal file
434
qpdf/qtest/qpdf/c-uncompressed-streams.pdf
Normal file
@ -0,0 +1,434 @@
|
|||||||
|
%PDF-1.5
|
||||||
|
%¿÷¢þ
|
||||||
|
1 0 obj
|
||||||
|
<< /Outlines 3 0 R /PageLabels 15 0 R /PageMode /UseOutlines /Pages 16 0 R /Type /Catalog >>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<< /Type /ObjStm /Length 2064 /N 13 /First 87 >>
|
||||||
|
stream
|
||||||
|
3 0 4 56 5 217 6 334 7 470 8 730 9 882 10 1053 11 1191 12 1329 13 1454 14 1594 15 1730
|
||||||
|
<< /Count 6 /First 4 0 R /Last 5 0 R /Type /Outlines >>
|
||||||
|
<< /Count 4 /Dest [ 17 0 R /XYZ null null null ] /First 6 0 R /Last 7 0 R /Next 5 0 R /Parent 3 0 R /Title (Isís 1 -> 5: /XYZ null null null) /Type /Outline >>
|
||||||
|
<< /Dest [ 18 0 R /XYZ 66 756 3 ] /Parent 3 0 R /Prev 4 0 R /Title (Trepak 2 -> 15: /XYZ 66 756 3) /Type /Outline >>
|
||||||
|
<< /Count -3 /Dest [ 19 0 R /Fit ] /First 8 0 R /Last 9 0 R /Next 7 0 R /Parent 4 0 R /Title (Amanda 1.1 -> 11: /Fit) /Type /Outline >>
|
||||||
|
<< /Count 2 /Dest [ 20 0 R /FitH 792 ] /First 13 0 R /Last 14 0 R /Parent 4 0 R /Prev 6 0 R /Title <feff00530061006e00640079002000f703a303b103bd03b403b900f700200031002e00320020002d003e002000310033003a0020002f00460069007400480020003700390032> /Type /Outline >>
|
||||||
|
<< /Count -2 /Dest [ 21 0 R /FitV 100 ] /First 10 0 R /Last 11 0 R /Next 9 0 R /Parent 6 0 R /Title (Isosicle 1.1.1 -> 12: /FitV 100) /Type /Outline >>
|
||||||
|
<< /Count 1 /Dest [ 21 0 R /XYZ null null null ] /First 12 0 R /Last 12 0 R /Parent 6 0 R /Prev 8 0 R /Title (Isosicle 1.1.2 -> 12: /XYZ null null null) /Type /Outline >>
|
||||||
|
<< /Dest [ 22 0 R /XYZ null null null ] /Next 11 0 R /Parent 8 0 R /Title (Isosicle 1.1.1.1 -> 18: /XYZ null null null) /Type /Outline >>
|
||||||
|
<< /Dest [ 23 0 R /XYZ null null null ] /Parent 8 0 R /Prev 10 0 R /Title (Isosicle 1.1.1.2 -> 19: /XYZ null null null) /Type /Outline >>
|
||||||
|
<< /Dest [ 24 0 R /XYZ null null null ] /Parent 9 0 R /Title (Isosicle 1.1.2.1 -> 22: /XYZ null null null) /Type /Outline >>
|
||||||
|
<< /Dest [ 25 0 R /FitR 66 714 180 770 ] /Next 14 0 R /Parent 7 0 R /Title (Trepsichord 1.2.1 -> 1: /FitR 66 714 180 770) /Type /Outline >>
|
||||||
|
<< /Dest [ 26 0 R /XYZ null null null ] /Parent 7 0 R /Prev 13 0 R /Title (Trepsicle 1.2.2 -> 0: /XYZ null null null) /Type /Outline >>
|
||||||
|
<< /Nums [ 0 << /P () >> 2 << /S /r /St 1 >> 7 << /P () >> 9 << /S /r /St 6 >> 11 << /P () >> 12 << /S /D /St 2 >> 15 << /S /D /St 6 >> 19 << /P () >> 20 << /S /D /St 12 >> 22 << /S /D /St 16059 >> 23 << /S /r /St 50 >> 29 << /S /r /St 54 >> ] >>
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<< /Count 30 /Kids [ 26 0 R 25 0 R 27 0 R 28 0 R 29 0 R 17 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 19 0 R 21 0 R 20 0 R 35 0 R 18 0 R 36 0 R 37 0 R 22 0 R 23 0 R 38 0 R 39 0 R 24 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R ] /Type /Pages >>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<< /Contents 47 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<< /Contents 50 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<< /Contents 51 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<< /Contents 52 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<< /Contents 53 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<< /Contents 54 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<< /Contents 55 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<< /Contents 56 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<< /Contents 57 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
26 0 obj
|
||||||
|
<< /Contents 58 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
27 0 obj
|
||||||
|
<< /Contents 59 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
28 0 obj
|
||||||
|
<< /Contents 60 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
29 0 obj
|
||||||
|
<< /Contents 61 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
30 0 obj
|
||||||
|
<< /Contents 62 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
31 0 obj
|
||||||
|
<< /Contents 63 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
32 0 obj
|
||||||
|
<< /Contents 64 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
33 0 obj
|
||||||
|
<< /Contents 65 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
34 0 obj
|
||||||
|
<< /Contents 66 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
35 0 obj
|
||||||
|
<< /Contents 67 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
36 0 obj
|
||||||
|
<< /Contents 68 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
37 0 obj
|
||||||
|
<< /Contents 69 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
38 0 obj
|
||||||
|
<< /Contents 70 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
39 0 obj
|
||||||
|
<< /Contents 71 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
40 0 obj
|
||||||
|
<< /Contents 72 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
41 0 obj
|
||||||
|
<< /Contents 73 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
42 0 obj
|
||||||
|
<< /Contents 74 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
43 0 obj
|
||||||
|
<< /Contents 75 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
44 0 obj
|
||||||
|
<< /Contents 76 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
45 0 obj
|
||||||
|
<< /Contents 77 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
46 0 obj
|
||||||
|
<< /Contents 78 0 R /MediaBox [ 0 0 612 792 ] /Parent 16 0 R /Resources << /Font << /F1 48 0 R >> /ProcSet 49 0 R >> /Type /Page >>
|
||||||
|
endobj
|
||||||
|
47 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 5) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
48 0 obj
|
||||||
|
<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
|
||||||
|
endobj
|
||||||
|
49 0 obj
|
||||||
|
[ /PDF /Text ]
|
||||||
|
endobj
|
||||||
|
50 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 15) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
51 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 11) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
52 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 13) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
53 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 12) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
54 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 18) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
55 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 19) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
56 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 22) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
57 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 1) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
58 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 0) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
59 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 2) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
60 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 3) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
61 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 4) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
62 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 6) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
63 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 7) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
64 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 8) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
65 0 obj
|
||||||
|
<< /Length 46 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 9) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
66 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 10) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
67 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 14) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
68 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 16) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
69 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 17) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
70 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 20) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
71 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 21) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
72 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 23) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
73 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 24) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
74 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 25) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
75 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 26) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
76 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 27) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
77 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 28) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
78 0 obj
|
||||||
|
<< /Length 47 >>
|
||||||
|
stream
|
||||||
|
BT
|
||||||
|
/F1 24 Tf
|
||||||
|
72 720 Td
|
||||||
|
(Potato 29) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
79 0 obj
|
||||||
|
<< /Type /XRef /Length 320 /W [ 1 2 1 ] /Root 1 0 R /Size 80 /ID [<31415926535897932384626433832795><31415926535897932384626433832795>] >>
|
||||||
|
stream
|
||||||
|
|