2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-02 19:49:43 +00:00

Tweak form copying to avoid gratuitous field renames

When copying a page from the original file to the output in --pages,
don't alter the fields or annotations for the first copy of each page.
This commit is contained in:
Jay Berkenbilt 2021-03-04 16:21:42 -05:00
parent cb6e53136f
commit addc0672d1
8 changed files with 5458 additions and 463 deletions

View File

@ -5915,17 +5915,37 @@ static void handle_page_specs(QPDF& pdf, Options& o, bool& warnings)
} }
} }
dh.addPage(to_copy, false); dh.addPage(to_copy, false);
if (page_data.qpdf == &pdf) bool first_copy_from_orig = false;
bool this_file = (page_data.qpdf == &pdf);
if (this_file)
{ {
// This is a page from the original file. Keep track // This is a page from the original file. Keep track
// of the fact that we are using it. // of the fact that we are using it.
first_copy_from_orig = (selected_from_orig.count(pageno) == 0);
selected_from_orig.insert(pageno); selected_from_orig.insert(pageno);
} }
auto new_page = added_page(pdf, to_copy); auto new_page = added_page(pdf, to_copy);
if (other_afdh->hasAcroForm()) // Try to avoid gratuitously renaming fields. In the case
// of where we're just extracting a bunch of pages from
// the original file and not copying any page more than
// once, there's no reason to do anything with the fields.
// Since we don't remove fields from the original file
// until all copy operations are completed, any foreign
// pages that conflict with original pages will be
// adjusted. If we copy any page from the original file
// more than once, that page would be in conflict with the
// previous copy of itself.
if (other_afdh->hasAcroForm() &&
((! this_file) || (! first_copy_from_orig)))
{ {
QTC::TC("qpdf", "qpdf copy form fields in pages"); if (! this_file)
{
QTC::TC("qpdf", "qpdf copy fields not this file");
}
else if (! first_copy_from_orig)
{
QTC::TC("qpdf", "qpdf copy fields non-first from orig");
}
this_afdh->fixCopiedAnnotations( this_afdh->fixCopiedAnnotations(
new_page, to_copy.getObjectHandle(), *other_afdh, new_page, to_copy.getObjectHandle(), *other_afdh,
&referenced_fields); &referenced_fields);

View File

@ -577,7 +577,6 @@ QPDFAcroFormDocumentHelper copy annotation 3
QPDFAcroFormDocumentHelper field with parent 3 QPDFAcroFormDocumentHelper field with parent 3
QPDFAcroFormDocumentHelper modify ap matrix 0 QPDFAcroFormDocumentHelper modify ap matrix 0
qpdf copy form fields in split_pages 0 qpdf copy form fields in split_pages 0
qpdf copy form fields in pages 0
qpdf keep some fields in pages 0 qpdf keep some fields in pages 0
qpdf pages keeping field from original 0 qpdf pages keeping field from original 0
qpdf no more fields in pages 0 qpdf no more fields in pages 0
@ -591,3 +590,5 @@ QPDFAcroFormDocumentHelper ap conflict 0
QPDFAcroFormDocumentHelper ap rename 0 QPDFAcroFormDocumentHelper ap rename 0
QPDFAcroFormDocumentHelper /DA parse error 0 QPDFAcroFormDocumentHelper /DA parse error 0
QPDFAcroFormDocumentHelper AP parse error 0 QPDFAcroFormDocumentHelper AP parse error 0
qpdf copy fields not this file 0
qpdf copy fields non-first from orig 0

View File

@ -2425,7 +2425,7 @@ foreach my $f (qw(screen print))
show_ntests(); show_ntests();
# ---------- # ----------
$td->notify("--- Copy Annotations ---"); $td->notify("--- Copy Annotations ---");
$n_tests += 35; $n_tests += 37;
$td->runtest("complex copy annotations", $td->runtest("complex copy annotations",
{$td->COMMAND => {$td->COMMAND =>
@ -2508,6 +2508,16 @@ $td->runtest("not keeping any fields",
$td->runtest("check output", $td->runtest("check output",
{$td->FILE => "a.pdf"}, {$td->FILE => "a.pdf"},
{$td->FILE => "kept-no-fields.pdf"}); {$td->FILE => "kept-no-fields.pdf"});
$td->runtest("other file first",
{$td->COMMAND =>
"qpdf --qdf --no-original-object-ids" .
" --static-id fields-two-pages.pdf" .
" --pages ./fields-two-pages.pdf . 1 -- a.pdf"},
{$td->STRING => "", $td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
$td->runtest("check output",
{$td->FILE => "a.pdf"},
{$td->FILE => "other-file-first.pdf"});
$td->runtest("field conflict resolution", $td->runtest("field conflict resolution",
{$td->COMMAND => {$td->COMMAND =>

View File

@ -49,7 +49,7 @@ endobj
484.922 484.922
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 1+1) /T (Text Box 1)
/Type /Annot /Type /Annot
/V (Formy field) /V (Formy field)
>> >>
@ -72,7 +72,7 @@ endobj
470.374 470.374
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 2+1) /T (Text Box 2)
/Type /Annot /Type /Annot
/V (Rot-ccw field) /V (Rot-ccw field)
>> >>
@ -88,7 +88,7 @@ endobj
18 0 R 18 0 R
19 0 R 19 0 R
] ]
/T (r1+1) /T (r1)
/V /2 /V /2
>> >>
endobj endobj
@ -111,7 +111,7 @@ endobj
484.922 484.922
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 1+2) /T (Text Box 1+1)
/Type /Annot /Type /Annot
/V (Formy field) /V (Formy field)
>> >>
@ -135,7 +135,7 @@ endobj
470.374 470.374
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 2+2) /T (Text Box 2+1)
/Type /Annot /Type /Annot
/V (Rot-ccw field) /V (Rot-ccw field)
>> >>
@ -153,7 +153,7 @@ endobj
26 0 R 26 0 R
] ]
/Q 1 /Q 1
/T (r1+2) /T (r1+1)
/V /2 /V /2
>> >>
endobj endobj
@ -1826,119 +1826,119 @@ xref
0000000025 00000 n 0000000025 00000 n
0000000248 00000 n 0000000248 00000 n
0000000318 00000 n 0000000318 00000 n
0000000564 00000 n 0000000562 00000 n
0000000815 00000 n 0000000811 00000 n
0000000936 00000 n 0000000930 00000 n
0000001192 00000 n 0000001186 00000 n
0000001453 00000 n 0000001447 00000 n
0000001613 00000 n 0000001607 00000 n
0000001683 00000 n 0000001677 00000 n
0000001768 00000 n 0000001762 00000 n
0000001873 00000 n 0000001867 00000 n
0000001978 00000 n 0000001972 00000 n
0000002212 00000 n 0000002206 00000 n
0000002232 00000 n 0000002226 00000 n
0000002521 00000 n 0000002515 00000 n
0000002541 00000 n 0000002535 00000 n
0000002895 00000 n 0000002889 00000 n
0000003247 00000 n 0000003241 00000 n
0000003601 00000 n 0000003595 00000 n
0000003839 00000 n 0000003833 00000 n
0000003859 00000 n 0000003853 00000 n
0000004152 00000 n 0000004146 00000 n
0000004172 00000 n 0000004166 00000 n
0000004485 00000 n 0000004479 00000 n
0000004796 00000 n 0000004790 00000 n
0000005109 00000 n 0000005103 00000 n
0000005250 00000 n 0000005244 00000 n
0000005533 00000 n 0000005527 00000 n
0000005807 00000 n 0000005801 00000 n
0000006166 00000 n 0000006160 00000 n
0000006187 00000 n 0000006181 00000 n
0000006356 00000 n 0000006350 00000 n
0000006376 00000 n 0000006370 00000 n
0000006457 00000 n 0000006451 00000 n
0000006816 00000 n 0000006810 00000 n
0000006837 00000 n 0000006831 00000 n
0000007006 00000 n 0000007000 00000 n
0000007026 00000 n 0000007020 00000 n
0000007385 00000 n 0000007379 00000 n
0000007406 00000 n 0000007400 00000 n
0000007575 00000 n 0000007569 00000 n
0000007595 00000 n 0000007589 00000 n
0000007651 00000 n 0000007645 00000 n
0000007707 00000 n 0000007701 00000 n
0000008066 00000 n 0000008060 00000 n
0000008087 00000 n 0000008081 00000 n
0000008256 00000 n 0000008250 00000 n
0000008276 00000 n 0000008270 00000 n
0000008635 00000 n 0000008629 00000 n
0000008656 00000 n 0000008650 00000 n
0000008825 00000 n 0000008819 00000 n
0000008845 00000 n 0000008839 00000 n
0000009204 00000 n 0000009198 00000 n
0000009225 00000 n 0000009219 00000 n
0000009394 00000 n 0000009388 00000 n
0000009414 00000 n 0000009408 00000 n
0000009622 00000 n 0000009616 00000 n
0000009642 00000 n 0000009636 00000 n
0000009886 00000 n 0000009880 00000 n
0000010090 00000 n 0000010084 00000 n
0000010230 00000 n 0000010224 00000 n
0000010372 00000 n 0000010366 00000 n
0000010514 00000 n 0000010508 00000 n
0000010679 00000 n 0000010673 00000 n
0000011610 00000 n 0000011604 00000 n
0000011631 00000 n 0000011625 00000 n
0000011875 00000 n 0000011869 00000 n
0000012079 00000 n 0000012073 00000 n
0000012219 00000 n 0000012213 00000 n
0000012361 00000 n 0000012355 00000 n
0000012504 00000 n 0000012498 00000 n
0000012670 00000 n 0000012664 00000 n
0000013601 00000 n 0000013595 00000 n
0000013622 00000 n 0000013616 00000 n
0000013676 00000 n 0000013670 00000 n
0000013751 00000 n 0000013745 00000 n
0000013844 00000 n 0000013838 00000 n
0000013937 00000 n 0000013931 00000 n
0000014030 00000 n 0000014024 00000 n
0000014123 00000 n 0000014117 00000 n
0000014216 00000 n 0000014210 00000 n
0000014309 00000 n 0000014303 00000 n
0000014513 00000 n 0000014507 00000 n
0000014533 00000 n 0000014527 00000 n
0000014719 00000 n 0000014713 00000 n
0000014739 00000 n 0000014733 00000 n
0000014978 00000 n 0000014972 00000 n
0000014998 00000 n 0000014992 00000 n
0000015238 00000 n 0000015232 00000 n
0000015258 00000 n 0000015252 00000 n
0000015499 00000 n 0000015493 00000 n
0000015519 00000 n 0000015513 00000 n
0000015723 00000 n 0000015717 00000 n
0000015743 00000 n 0000015737 00000 n
0000015876 00000 n 0000015870 00000 n
0000016064 00000 n 0000016058 00000 n
0000016084 00000 n 0000016078 00000 n
0000016325 00000 n 0000016319 00000 n
0000016345 00000 n 0000016339 00000 n
0000016589 00000 n 0000016583 00000 n
0000016610 00000 n 0000016604 00000 n
0000016855 00000 n 0000016849 00000 n
0000016876 00000 n 0000016870 00000 n
0000016915 00000 n 0000016909 00000 n
0000016997 00000 n 0000016991 00000 n
0000017207 00000 n 0000017201 00000 n
0000017228 00000 n 0000017222 00000 n
0000017285 00000 n 0000017279 00000 n
0000017342 00000 n 0000017336 00000 n
0000017399 00000 n 0000017393 00000 n
trailer << trailer <<
/Root 1 0 R /Root 1 0 R
/Size 112 /Size 112
/ID [<a2f146daeb6d814a742556489dab9882><31415926535897932384626433832795>] /ID [<a2f146daeb6d814a742556489dab9882><31415926535897932384626433832795>]
>> >>
startxref startxref
17456 17450
%%EOF %%EOF

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -38,11 +38,37 @@ endobj
endobj endobj
3 0 obj 3 0 obj
<<
/AP <<
/N 14 0 R
>>
/DA (0.29803 0.29803 0.29803 rg /F1 12 Tf)
/DR <<
/Font 16 0 R
>>
/DV <feff>
/F 4
/FT /Tx
/P 17 0 R
/Rect [
59.6
715
170.5
731.4
]
/Subtype /Widget
/T (Text Box 1)
/Type /Annot
/V <feff>
>>
endobj
4 0 obj
<< <<
/AP << /AP <<
/N << /N <<
/Off 14 0 R /Off 18 0 R
/Yes 16 0 R /Yes 20 0 R
>> >>
>> >>
/AS /Off /AS /Off
@ -58,7 +84,7 @@ endobj
/MK << /MK <<
/CA (8) /CA (8)
>> >>
/P 18 0 R /P 17 0 R
/Rect [ /Rect [
174.5 174.5
719.7 719.7
@ -66,38 +92,12 @@ endobj
731.6 731.6
] ]
/Subtype /Widget /Subtype /Widget
/T (Check Box 1+1) /T (Check Box 1)
/Type /Annot /Type /Annot
/V /Off /V /Off
>> >>
endobj endobj
4 0 obj
<<
/AP <<
/N 19 0 R
>>
/DA (0.29803 0.29803 0.29803 rg /F1 12 Tf)
/DR <<
/Font 21 0 R
>>
/DV <feff>
/F 4
/FT /Tx
/P 18 0 R
/Rect [
59.6
715
170.5
731.4
]
/Subtype /Widget
/T (Text Box 1+1)
/Type /Annot
/V <feff>
>>
endobj
5 0 obj 5 0 obj
<< <<
/AP << /AP <<
@ -119,7 +119,7 @@ endobj
/MK << /MK <<
/CA (8) /CA (8)
>> >>
/P 18 0 R /P 17 0 R
/Rect [ /Rect [
174.5 174.5
719.7 719.7
@ -127,7 +127,7 @@ endobj
731.6 731.6
] ]
/Subtype /Widget /Subtype /Widget
/T (Check Box 1+1+1) /T (Check Box 1+1)
/Type /Annot /Type /Annot
/V /Off /V /Off
>> >>
@ -140,12 +140,12 @@ endobj
>> >>
/DA (0.29803 0.29803 0.29803 rg /F1 12 Tf) /DA (0.29803 0.29803 0.29803 rg /F1 12 Tf)
/DR << /DR <<
/Font 21 0 R /Font 16 0 R
>> >>
/DV <feff> /DV <feff>
/F 4 /F 4
/FT /Tx /FT /Tx
/P 18 0 R /P 17 0 R
/Rect [ /Rect [
59.6 59.6
715 715
@ -153,7 +153,7 @@ endobj
731.4 731.4
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 1+1+1) /T (Text Box 1+1)
/Type /Annot /Type /Annot
/V <feff> /V <feff>
>> >>
@ -218,7 +218,7 @@ endobj
<< <<
/Count 3 /Count 3
/Kids [ /Kids [
18 0 R 17 0 R
35 0 R 35 0 R
32 0 R 32 0 R
] ]
@ -265,60 +265,45 @@ endobj
/BBox [ /BBox [
0 0
0 0
12.1 110.7
12.1 16.6
] ]
/Resources 2 0 R /Resources <<
/Font <<
/F1 10 0 R
/F1_1 36 0 R
>>
>>
/Subtype /Form /Subtype /Form
/Type /XObject /Type /XObject
/Length 15 0 R /Length 15 0 R
>> >>
stream stream
BT /F1_1 12 Tf ET
/Tx BMC /Tx BMC
EMC EMC
endstream endstream
endobj endobj
15 0 obj 15 0 obj
12 30
endobj endobj
16 0 obj 16 0 obj
<< <<
/BBox [ /F1 10 0 R
0 /ZaDi 12 0 R
0
12.1
12.1
]
/Resources 2 0 R
/Subtype /Form
/Type /XObject
/Length 17 0 R
>> >>
stream
/Tx BMC
q BT
0.29803 0.29803 0.29803 rg /ZaDi 12.1 Tf
1.9 1.9 Td (8) Tj
ET
Q
EMC
endstream
endobj
17 0 obj
81
endobj endobj
%% Page 1 %% Page 1
18 0 obj 17 0 obj
<< <<
/Annots [ /Annots [
3 0 R
4 0 R 4 0 R
3 0 R
] ]
/Contents 36 0 R /Contents 37 0 R
/Group << /Group <<
/CS /DeviceRGB /CS /DeviceRGB
/I true /I true
@ -344,40 +329,55 @@ endobj
>> >>
endobj endobj
19 0 obj 18 0 obj
<< <<
/BBox [ /BBox [
0 0
0 0
110.7 12.1
16.6 12.1
] ]
/Resources << /Resources 2 0 R
/Font <<
/F1 10 0 R
/F1_1 38 0 R
>>
>>
/Subtype /Form /Subtype /Form
/Type /XObject /Type /XObject
/Length 20 0 R /Length 19 0 R
>> >>
stream stream
BT /F1_1 12 Tf ET
/Tx BMC /Tx BMC
EMC EMC
endstream endstream
endobj endobj
19 0 obj
12
endobj
20 0 obj 20 0 obj
30 <<
/BBox [
0
0
12.1
12.1
]
/Resources 2 0 R
/Subtype /Form
/Type /XObject
/Length 21 0 R
>>
stream
/Tx BMC
q BT
0.29803 0.29803 0.29803 rg /ZaDi 12.1 Tf
1.9 1.9 Td (8) Tj
ET
Q
EMC
endstream
endobj endobj
21 0 obj 21 0 obj
<< 81
/F1 10 0 R
/ZaDi 12 0 R
>>
endobj endobj
22 0 obj 22 0 obj
@ -442,7 +442,7 @@ endobj
/Resources << /Resources <<
/Font << /Font <<
/F1 10 0 R /F1 10 0 R
/F1_1 38 0 R /F1_1 36 0 R
>> >>
>> >>
/Subtype /Form /Subtype /Form
@ -580,7 +580,7 @@ endobj
5 0 R 5 0 R
6 0 R 6 0 R
] ]
/Contents 36 0 R /Contents 37 0 R
/Group << /Group <<
/CS /DeviceRGB /CS /DeviceRGB
/I true /I true
@ -606,10 +606,19 @@ endobj
>> >>
endobj endobj
%% Contents for page 2
36 0 obj 36 0 obj
<< <<
/Length 37 0 R /BaseFont /Courier
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj
%% Contents for page 2
37 0 obj
<<
/Length 38 0 R
>> >>
stream stream
0.1 w 0.1 w
@ -634,17 +643,8 @@ endstream
endobj endobj
%QDF: ignore_newline %QDF: ignore_newline
37 0 obj
258
endobj
38 0 obj 38 0 obj
<< 258
/BaseFont /Courier
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj endobj
39 0 obj 39 0 obj
@ -720,46 +720,46 @@ xref
0000000025 00000 n 0000000025 00000 n
0000000247 00000 n 0000000247 00000 n
0000000389 00000 n 0000000389 00000 n
0000000774 00000 n 0000000672 00000 n
0000001059 00000 n 0000001055 00000 n
0000001446 00000 n 0000001440 00000 n
0000001733 00000 n 0000001725 00000 n
0000002079 00000 n 0000002071 00000 n
0000002347 00000 n 0000002339 00000 n
0000002442 00000 n 0000002434 00000 n
0000002549 00000 n 0000002541 00000 n
0000002656 00000 n 0000002648 00000 n
0000002737 00000 n 0000002729 00000 n
0000002818 00000 n 0000002810 00000 n
0000002984 00000 n 0000003053 00000 n
0000003004 00000 n 0000003073 00000 n
0000003239 00000 n 0000003134 00000 n
0000003269 00000 n 0000003485 00000 n
0000003620 00000 n 0000003651 00000 n
0000003863 00000 n 0000003671 00000 n
0000003883 00000 n 0000003906 00000 n
0000003934 00000 n 0000003926 00000 n
0000004100 00000 n 0000004092 00000 n
0000004120 00000 n 0000004112 00000 n
0000004355 00000 n 0000004347 00000 n
0000004375 00000 n 0000004367 00000 n
0000004618 00000 n 0000004610 00000 n
0000004638 00000 n 0000004630 00000 n
0000004805 00000 n 0000004797 00000 n
0000004825 00000 n 0000004817 00000 n
0000005063 00000 n 0000005055 00000 n
0000005093 00000 n 0000005085 00000 n
0000005444 00000 n 0000005436 00000 n
0000005693 00000 n 0000005685 00000 n
0000005723 00000 n 0000005715 00000 n
0000006097 00000 n 0000006066 00000 n
0000006434 00000 n 0000006194 00000 n
0000006455 00000 n 0000006531 00000 n
0000006560 00000 n 0000006552 00000 n
0000006671 00000 n 0000006663 00000 n
0000006805 00000 n 0000006797 00000 n
0000007142 00000 n 0000007134 00000 n
0000007163 00000 n 0000007155 00000 n
trailer << trailer <<
/DocChecksum /606E154FE5CF1A6B8B73D870AC8EBE04 /DocChecksum /606E154FE5CF1A6B8B73D870AC8EBE04
/Root 1 0 R /Root 1 0 R
@ -767,5 +767,5 @@ trailer <<
/ID [<f1c10d47699f47f5166db140c15c0bc1><31415926535897932384626433832795>] /ID [<f1c10d47699f47f5166db140c15c0bc1><31415926535897932384626433832795>]
>> >>
startxref startxref
7268 7260
%%EOF %%EOF

View File

@ -55,7 +55,7 @@ endobj
484.922 484.922
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 1+1) /T (Text Box 1)
/Type /Annot /Type /Annot
/V (Formy field) /V (Formy field)
>> >>
@ -78,7 +78,7 @@ endobj
470.374 470.374
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 2+1) /T (Text Box 2)
/Type /Annot /Type /Annot
/V (Rot-ccw field) /V (Rot-ccw field)
>> >>
@ -94,7 +94,7 @@ endobj
24 0 R 24 0 R
25 0 R 25 0 R
] ]
/T (r1+1) /T (r1)
/V /2 /V /2
>> >>
endobj endobj
@ -116,7 +116,7 @@ endobj
484.922 484.922
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 1+1+1) /T (Text Box 1+1)
/Type /Annot /Type /Annot
/V (Formy field) /V (Formy field)
>> >>
@ -139,7 +139,7 @@ endobj
470.374 470.374
] ]
/Subtype /Widget /Subtype /Widget
/T (Text Box 2+1+1) /T (Text Box 2+1)
/Type /Annot /Type /Annot
/V (Rot-ccw field) /V (Rot-ccw field)
>> >>
@ -155,7 +155,7 @@ endobj
31 0 R 31 0 R
32 0 R 32 0 R
] ]
/T (r1+1+1) /T (r1+1)
/V /2 /V /2
>> >>
endobj endobj
@ -3316,209 +3316,209 @@ xref
0000000025 00000 n 0000000025 00000 n
0000000326 00000 n 0000000326 00000 n
0000000396 00000 n 0000000396 00000 n
0000000642 00000 n 0000000640 00000 n
0000000893 00000 n 0000000889 00000 n
0000001014 00000 n 0000001008 00000 n
0000001262 00000 n 0000001254 00000 n
0000001515 00000 n 0000001505 00000 n
0000001638 00000 n 0000001626 00000 n
0000001886 00000 n 0000001874 00000 n
0000002140 00000 n 0000002128 00000 n
0000002262 00000 n 0000002250 00000 n
0000002511 00000 n 0000002499 00000 n
0000002765 00000 n 0000002753 00000 n
0000002887 00000 n 0000002875 00000 n
0000002958 00000 n 0000002946 00000 n
0000003065 00000 n 0000003053 00000 n
0000003170 00000 n 0000003158 00000 n
0000003275 00000 n 0000003263 00000 n
0000003490 00000 n 0000003478 00000 n
0000003510 00000 n 0000003498 00000 n
0000003780 00000 n 0000003768 00000 n
0000003800 00000 n 0000003788 00000 n
0000004152 00000 n 0000004140 00000 n
0000004504 00000 n 0000004492 00000 n
0000004856 00000 n 0000004844 00000 n
0000005071 00000 n 0000005059 00000 n
0000005091 00000 n 0000005079 00000 n
0000005361 00000 n 0000005349 00000 n
0000005381 00000 n 0000005369 00000 n
0000005733 00000 n 0000005721 00000 n
0000006085 00000 n 0000006073 00000 n
0000006437 00000 n 0000006425 00000 n
0000006655 00000 n 0000006643 00000 n
0000006675 00000 n 0000006663 00000 n
0000006948 00000 n 0000006936 00000 n
0000006968 00000 n 0000006956 00000 n
0000007280 00000 n 0000007268 00000 n
0000007592 00000 n 0000007580 00000 n
0000007904 00000 n 0000007892 00000 n
0000008122 00000 n 0000008110 00000 n
0000008142 00000 n 0000008130 00000 n
0000008415 00000 n 0000008403 00000 n
0000008435 00000 n 0000008423 00000 n
0000008747 00000 n 0000008735 00000 n
0000009059 00000 n 0000009047 00000 n
0000009373 00000 n 0000009361 00000 n
0000009516 00000 n 0000009504 00000 n
0000009806 00000 n 0000009794 00000 n
0000010096 00000 n 0000010084 00000 n
0000010389 00000 n 0000010377 00000 n
0000010673 00000 n 0000010661 00000 n
0000011033 00000 n 0000011021 00000 n
0000011054 00000 n 0000011042 00000 n
0000011224 00000 n 0000011212 00000 n
0000011244 00000 n 0000011232 00000 n
0000011325 00000 n 0000011313 00000 n
0000011685 00000 n 0000011673 00000 n
0000011706 00000 n 0000011694 00000 n
0000011876 00000 n 0000011864 00000 n
0000011896 00000 n 0000011884 00000 n
0000012256 00000 n 0000012244 00000 n
0000012277 00000 n 0000012265 00000 n
0000012447 00000 n 0000012435 00000 n
0000012467 00000 n 0000012455 00000 n
0000012827 00000 n 0000012815 00000 n
0000012848 00000 n 0000012836 00000 n
0000013018 00000 n 0000013006 00000 n
0000013038 00000 n 0000013026 00000 n
0000013398 00000 n 0000013386 00000 n
0000013419 00000 n 0000013407 00000 n
0000013589 00000 n 0000013577 00000 n
0000013609 00000 n 0000013597 00000 n
0000013969 00000 n 0000013957 00000 n
0000013990 00000 n 0000013978 00000 n
0000014160 00000 n 0000014148 00000 n
0000014180 00000 n 0000014168 00000 n
0000014236 00000 n 0000014224 00000 n
0000014292 00000 n 0000014280 00000 n
0000014652 00000 n 0000014640 00000 n
0000014673 00000 n 0000014661 00000 n
0000014843 00000 n 0000014831 00000 n
0000014863 00000 n 0000014851 00000 n
0000015223 00000 n 0000015211 00000 n
0000015244 00000 n 0000015232 00000 n
0000015414 00000 n 0000015402 00000 n
0000015434 00000 n 0000015422 00000 n
0000015794 00000 n 0000015782 00000 n
0000015815 00000 n 0000015803 00000 n
0000015985 00000 n 0000015973 00000 n
0000016005 00000 n 0000015993 00000 n
0000016061 00000 n 0000016049 00000 n
0000016117 00000 n 0000016105 00000 n
0000016477 00000 n 0000016465 00000 n
0000016498 00000 n 0000016486 00000 n
0000016668 00000 n 0000016656 00000 n
0000016688 00000 n 0000016676 00000 n
0000017048 00000 n 0000017036 00000 n
0000017069 00000 n 0000017057 00000 n
0000017240 00000 n 0000017228 00000 n
0000017261 00000 n 0000017249 00000 n
0000017623 00000 n 0000017611 00000 n
0000017645 00000 n 0000017633 00000 n
0000017817 00000 n 0000017805 00000 n
0000017838 00000 n 0000017826 00000 n
0000018048 00000 n 0000018036 00000 n
0000018069 00000 n 0000018057 00000 n
0000018314 00000 n 0000018302 00000 n
0000018520 00000 n 0000018508 00000 n
0000018662 00000 n 0000018650 00000 n
0000018806 00000 n 0000018794 00000 n
0000018950 00000 n 0000018938 00000 n
0000019117 00000 n 0000019105 00000 n
0000020050 00000 n 0000020038 00000 n
0000020072 00000 n 0000020060 00000 n
0000020317 00000 n 0000020305 00000 n
0000020523 00000 n 0000020511 00000 n
0000020665 00000 n 0000020653 00000 n
0000020809 00000 n 0000020797 00000 n
0000020953 00000 n 0000020941 00000 n
0000021097 00000 n 0000021085 00000 n
0000021342 00000 n 0000021330 00000 n
0000021549 00000 n 0000021537 00000 n
0000021691 00000 n 0000021679 00000 n
0000021835 00000 n 0000021823 00000 n
0000021979 00000 n 0000021967 00000 n
0000022146 00000 n 0000022134 00000 n
0000023079 00000 n 0000023067 00000 n
0000023101 00000 n 0000023089 00000 n
0000023156 00000 n 0000023144 00000 n
0000023401 00000 n 0000023389 00000 n
0000023608 00000 n 0000023596 00000 n
0000023750 00000 n 0000023738 00000 n
0000023894 00000 n 0000023882 00000 n
0000024038 00000 n 0000024026 00000 n
0000024182 00000 n 0000024170 00000 n
0000024258 00000 n 0000024246 00000 n
0000024352 00000 n 0000024340 00000 n
0000024446 00000 n 0000024434 00000 n
0000024540 00000 n 0000024528 00000 n
0000024634 00000 n 0000024622 00000 n
0000024728 00000 n 0000024716 00000 n
0000024822 00000 n 0000024810 00000 n
0000024916 00000 n 0000024904 00000 n
0000025010 00000 n 0000024998 00000 n
0000025104 00000 n 0000025092 00000 n
0000025198 00000 n 0000025186 00000 n
0000025292 00000 n 0000025280 00000 n
0000025386 00000 n 0000025374 00000 n
0000025592 00000 n 0000025580 00000 n
0000025613 00000 n 0000025601 00000 n
0000025801 00000 n 0000025789 00000 n
0000025822 00000 n 0000025810 00000 n
0000026063 00000 n 0000026051 00000 n
0000026084 00000 n 0000026072 00000 n
0000026326 00000 n 0000026314 00000 n
0000026347 00000 n 0000026335 00000 n
0000026590 00000 n 0000026578 00000 n
0000026611 00000 n 0000026599 00000 n
0000026817 00000 n 0000026805 00000 n
0000026838 00000 n 0000026826 00000 n
0000027026 00000 n 0000027014 00000 n
0000027047 00000 n 0000027035 00000 n
0000027288 00000 n 0000027276 00000 n
0000027309 00000 n 0000027297 00000 n
0000027551 00000 n 0000027539 00000 n
0000027572 00000 n 0000027560 00000 n
0000027815 00000 n 0000027803 00000 n
0000027836 00000 n 0000027824 00000 n
0000028042 00000 n 0000028030 00000 n
0000028063 00000 n 0000028051 00000 n
0000028197 00000 n 0000028185 00000 n
0000028387 00000 n 0000028375 00000 n
0000028408 00000 n 0000028396 00000 n
0000028651 00000 n 0000028639 00000 n
0000028672 00000 n 0000028660 00000 n
0000028916 00000 n 0000028904 00000 n
0000028937 00000 n 0000028925 00000 n
0000029182 00000 n 0000029170 00000 n
0000029203 00000 n 0000029191 00000 n
0000029409 00000 n 0000029397 00000 n
0000029430 00000 n 0000029418 00000 n
0000029620 00000 n 0000029608 00000 n
0000029641 00000 n 0000029629 00000 n
0000029884 00000 n 0000029872 00000 n
0000029905 00000 n 0000029893 00000 n
0000030149 00000 n 0000030137 00000 n
0000030170 00000 n 0000030158 00000 n
0000030415 00000 n 0000030403 00000 n
0000030436 00000 n 0000030424 00000 n
0000030475 00000 n 0000030463 00000 n
0000030557 00000 n 0000030545 00000 n
0000030767 00000 n 0000030755 00000 n
0000030788 00000 n 0000030776 00000 n
0000030845 00000 n 0000030833 00000 n
0000030902 00000 n 0000030890 00000 n
0000030959 00000 n 0000030947 00000 n
0000031016 00000 n 0000031004 00000 n
0000031073 00000 n 0000031061 00000 n
0000031130 00000 n 0000031118 00000 n
0000031187 00000 n 0000031175 00000 n
trailer << trailer <<
/Root 1 0 R /Root 1 0 R
/Size 202 /Size 202
/ID [<a2f146daeb6d814a742556489dab9882><31415926535897932384626433832795>] /ID [<a2f146daeb6d814a742556489dab9882><31415926535897932384626433832795>]
>> >>
startxref startxref
31244 31232
%%EOF %%EOF