mirror of
https://github.com/qpdf/qpdf.git
synced 2025-01-31 02:48:31 +00:00
Honor flags when flattening annotations
This commit is contained in:
parent
06d6438ddf
commit
ca94ac68d9
@ -6,6 +6,9 @@
|
||||
|
||||
2018-12-31 Jay Berkenbilt <ejb@ql.org>
|
||||
|
||||
* Add --flatten-annotations flag to the qpdf command-line tool for
|
||||
annotation flattening.
|
||||
|
||||
* Add methods for flattening form fields and annotations:
|
||||
- QPDFPageDocumentHelper::flattenAnnotations - integrate
|
||||
annotation appearance streams into page contents with special
|
||||
|
@ -89,4 +89,53 @@ enum qpdf_r3_modify_e /* Allowed changes: */
|
||||
qpdf_r3m_none /* no modifications */
|
||||
};
|
||||
|
||||
/* Form field flags from the PDF spec */
|
||||
|
||||
enum pdf_form_field_flag_e
|
||||
{
|
||||
/* flags that apply to all form fields */
|
||||
ff_all_read_only = 1 << 0,
|
||||
ff_all_required = 1 << 1,
|
||||
ff_all_no_export = 1 << 2,
|
||||
|
||||
/* flags that apply to fields of type /Btn (button) */
|
||||
ff_btn_no_toggle_off = 1 << 14,
|
||||
ff_btn_radio = 1 << 15,
|
||||
ff_btn_pushbutton = 1 << 16,
|
||||
ff_btn_radios_in_unison = 1 << 17,
|
||||
|
||||
/* flags that apply to fields of type /Tx (text) */
|
||||
ff_tx_multiline = 1 << 12,
|
||||
ff_tx_password = 1 << 13,
|
||||
ff_tx_file_select = 1 << 20,
|
||||
ff_tx_do_not_spell_check = 1 << 22,
|
||||
ff_tx_do_not_scroll = 1 << 23,
|
||||
ff_tx_comb = 1 << 24,
|
||||
ff_tx_rich_text = 1 << 25,
|
||||
|
||||
/* flags that apply to fields of type /Ch (choice) */
|
||||
ff_ch_combo = 1 << 17,
|
||||
ff_ch_edit = 1 << 18,
|
||||
ff_ch_sort = 1 << 19,
|
||||
ff_ch_multi_select = 1 << 21,
|
||||
ff_ch_do_not_spell_check = 1 << 22,
|
||||
ff_ch_commit_on_sel_change = 1 << 26
|
||||
};
|
||||
|
||||
/* Annotation flags from the PDF spec */
|
||||
|
||||
enum pdf_annotation_flag_e
|
||||
{
|
||||
an_invisible = 1 << 0,
|
||||
an_hidden = 1 << 1,
|
||||
an_print = 1 << 2,
|
||||
an_no_zoom = 1 << 3,
|
||||
an_no_rotate = 1 << 4,
|
||||
an_no_view = 1 << 5,
|
||||
an_read_only = 1 << 6,
|
||||
an_locked = 1 << 7,
|
||||
an_toggle_no_view = 1 << 8,
|
||||
an_locked_contents = 1 << 9
|
||||
};
|
||||
|
||||
#endif /* QPDFCONSTANTS_H */
|
||||
|
@ -23,6 +23,7 @@
|
||||
#define QPDFANNOTATIONOBJECTHELPER_HH
|
||||
|
||||
#include <qpdf/QPDFObjectHelper.hh>
|
||||
#include <qpdf/Constants.h>
|
||||
|
||||
#include <qpdf/DLL.h>
|
||||
|
||||
@ -76,10 +77,20 @@ class QPDFAnnotationObjectHelper: public QPDFObjectHelper
|
||||
// content stream that draws this annotation's appearance stream
|
||||
// as a form XObject. The value "name" is the resource name that
|
||||
// will be used to refer to the form xobject. The value "rotate"
|
||||
// should be set to the page's /Rotate value or 0 if none.
|
||||
// should be set to the page's /Rotate value or 0 if none. The
|
||||
// values of required_flags and forbidden_flags are constructed by
|
||||
// logically "or"ing annotation flags of type
|
||||
// pdf_annotation_flag_e defined in qpdf/Constants.h. Content will
|
||||
// be returned only if all required_flags are set and no
|
||||
// forbidden_flags are set. For example, including an_no_view in
|
||||
// forbidden_flags could be useful for creating an on-screen view,
|
||||
// and including an_print to required_flags could be useful if
|
||||
// preparing to print.
|
||||
QPDF_DLL
|
||||
std::string getPageContentForAppearance(
|
||||
std::string const& name, int rotate);
|
||||
std::string const& name, int rotate,
|
||||
int required_flags = 0,
|
||||
int forbidden_flags = an_invisible | an_hidden);
|
||||
|
||||
private:
|
||||
class Members
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include <qpdf/QPDFDocumentHelper.hh>
|
||||
#include <qpdf/QPDFPageObjectHelper.hh>
|
||||
#include <qpdf/Constants.h>
|
||||
|
||||
#include <qpdf/DLL.h>
|
||||
|
||||
@ -92,14 +93,23 @@ class QPDFPageDocumentHelper: public QPDFDocumentHelper
|
||||
// the annotation from the page. Handles widget annotations
|
||||
// associated with interactive form fields as a special case,
|
||||
// including removing the /AcroForm key from the document catalog.
|
||||
// The values passed to required_flags and forbidden_flags are
|
||||
// passed along to
|
||||
// QPDFAnnotationObjectHelper::getPageContentForAppearance. See
|
||||
// comments there in QPDFAnnotationObjectHelper.hh for meanings of
|
||||
// those flags.
|
||||
QPDF_DLL
|
||||
void flattenAnnotations();
|
||||
void flattenAnnotations(
|
||||
int required_flags = 0,
|
||||
int forbidden_flags = an_invisible | an_hidden);
|
||||
|
||||
private:
|
||||
void flattenAnnotationsForPage(
|
||||
QPDFPageObjectHelper& page,
|
||||
QPDFObjectHandle& resources,
|
||||
QPDFAcroFormDocumentHelper& afdh);
|
||||
QPDFAcroFormDocumentHelper& afdh,
|
||||
int required_flags,
|
||||
int forbidden_flags);
|
||||
|
||||
class Members
|
||||
{
|
||||
|
@ -81,7 +81,8 @@ QPDFAnnotationObjectHelper::getAppearanceStream(
|
||||
|
||||
std::string
|
||||
QPDFAnnotationObjectHelper::getPageContentForAppearance(
|
||||
std::string const& name, int rotate)
|
||||
std::string const& name, int rotate,
|
||||
int required_flags, int forbidden_flags)
|
||||
{
|
||||
if (! getAppearanceStream("/N").isStream())
|
||||
{
|
||||
@ -168,11 +169,24 @@ QPDFAnnotationObjectHelper::getPageContentForAppearance(
|
||||
// appearance matrix.
|
||||
|
||||
QPDFObjectHandle rect_obj = this->oh.getKey("/Rect");
|
||||
QPDFObjectHandle flags = this->oh.getKey("/F");
|
||||
QPDFObjectHandle flags_obj = this->oh.getKey("/F");
|
||||
QPDFObjectHandle as = getAppearanceStream("/N").getDict();
|
||||
QPDFObjectHandle bbox_obj = as.getKey("/BBox");
|
||||
QPDFObjectHandle matrix_obj = as.getKey("/Matrix");
|
||||
|
||||
int flags = flags_obj.isInteger() ? flags_obj.getIntValue() : 0;
|
||||
|
||||
if (flags & forbidden_flags)
|
||||
{
|
||||
QTC::TC("qpdf", "QPDFAnnotationObjectHelper forbidden flags");
|
||||
return "";
|
||||
}
|
||||
if ((flags & required_flags) != required_flags)
|
||||
{
|
||||
QTC::TC("qpdf", "QPDFAnnotationObjectHelper missing required flags");
|
||||
return "";
|
||||
}
|
||||
|
||||
if (! (bbox_obj.isRectangle() && rect_obj.isRectangle()))
|
||||
{
|
||||
return "";
|
||||
@ -188,8 +202,7 @@ QPDFAnnotationObjectHelper::getPageContentForAppearance(
|
||||
QTC::TC("qpdf", "QPDFAnnotationObjectHelper default matrix");
|
||||
}
|
||||
QPDFObjectHandle::Rectangle rect = rect_obj.getArrayAsRectangle();
|
||||
bool do_rotate = (rotate && flags.isInteger() &&
|
||||
(flags.getIntValue() & 16));
|
||||
bool do_rotate = (rotate && (flags & an_no_rotate));
|
||||
if (do_rotate)
|
||||
{
|
||||
// If the the annotation flags include the NoRotate bit and
|
||||
|
@ -68,7 +68,9 @@ QPDFPageDocumentHelper::removePage(QPDFPageObjectHelper page)
|
||||
|
||||
|
||||
void
|
||||
QPDFPageDocumentHelper::flattenAnnotations()
|
||||
QPDFPageDocumentHelper::flattenAnnotations(
|
||||
int required_flags,
|
||||
int forbidden_flags)
|
||||
{
|
||||
QPDFAcroFormDocumentHelper afdh(this->qpdf);
|
||||
if (afdh.getNeedAppearances())
|
||||
@ -97,7 +99,8 @@ QPDFPageDocumentHelper::flattenAnnotations()
|
||||
// test suite
|
||||
resources = QPDFObjectHandle::newDictionary();
|
||||
}
|
||||
flattenAnnotationsForPage(ph, resources, afdh);
|
||||
flattenAnnotationsForPage(ph, resources, afdh,
|
||||
required_flags, forbidden_flags);
|
||||
}
|
||||
if (! afdh.getNeedAppearances())
|
||||
{
|
||||
@ -109,7 +112,9 @@ void
|
||||
QPDFPageDocumentHelper::flattenAnnotationsForPage(
|
||||
QPDFPageObjectHelper& page,
|
||||
QPDFObjectHandle& resources,
|
||||
QPDFAcroFormDocumentHelper& afdh)
|
||||
QPDFAcroFormDocumentHelper& afdh,
|
||||
int required_flags,
|
||||
int forbidden_flags)
|
||||
{
|
||||
bool need_appearances = afdh.getNeedAppearances();
|
||||
std::vector<QPDFAnnotationObjectHelper> annots = page.getAnnotations();
|
||||
@ -168,12 +173,12 @@ QPDFPageDocumentHelper::flattenAnnotationsForPage(
|
||||
while (next_fx <= max_fx)
|
||||
{
|
||||
std::string candidate = "/Fxo" + QUtil::int_to_string(next_fx);
|
||||
++next_fx;
|
||||
if (names.count(candidate) == 0)
|
||||
{
|
||||
name = candidate;
|
||||
break;
|
||||
}
|
||||
++next_fx;
|
||||
}
|
||||
if (name.empty())
|
||||
{
|
||||
@ -182,11 +187,18 @@ QPDFPageDocumentHelper::flattenAnnotationsForPage(
|
||||
// number of keys we're checking against.
|
||||
name = "/FxConflict";
|
||||
}
|
||||
resources.mergeResources(
|
||||
QPDFObjectHandle::parse(
|
||||
"<< /XObject << " + name + " null >> >>"));
|
||||
resources.getKey("/XObject").replaceKey(name, as);
|
||||
new_content += aoh.getPageContentForAppearance(name, rotate);
|
||||
std::string content = aoh.getPageContentForAppearance(
|
||||
name, rotate, required_flags, forbidden_flags);
|
||||
if (! content.empty())
|
||||
{
|
||||
resources.mergeResources(
|
||||
QPDFObjectHandle::parse(
|
||||
"<< /XObject << " + name + " null >> >>"));
|
||||
resources.getKey("/XObject").replaceKey(name, as);
|
||||
names.insert(name);
|
||||
++next_fx;
|
||||
}
|
||||
new_content += content;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
57
qpdf/qpdf.cc
57
qpdf/qpdf.cc
@ -103,6 +103,8 @@ struct Options
|
||||
newline_before_endstream(false),
|
||||
coalesce_contents(false),
|
||||
flatten_annotations(false),
|
||||
flatten_annotations_required(0),
|
||||
flatten_annotations_forbidden(an_invisible | an_hidden),
|
||||
show_npages(false),
|
||||
deterministic_id(false),
|
||||
static_id(false),
|
||||
@ -176,6 +178,8 @@ struct Options
|
||||
std::string linearize_pass1;
|
||||
bool coalesce_contents;
|
||||
bool flatten_annotations;
|
||||
int flatten_annotations_required;
|
||||
int flatten_annotations_forbidden;
|
||||
std::string min_version;
|
||||
std::string force_version;
|
||||
bool show_npages;
|
||||
@ -475,7 +479,7 @@ class ArgParser
|
||||
void argNewlineBeforeEndstream();
|
||||
void argLinearizePass1(char* parameter);
|
||||
void argCoalesceContents();
|
||||
void argFlattenAnnotations();
|
||||
void argFlattenAnnotations(char* parameter);
|
||||
void argMinVersion(char* parameter);
|
||||
void argForceVersion(char* parameter);
|
||||
void argSplitPages(char* parameter);
|
||||
@ -644,22 +648,23 @@ ArgParser::initOptionTable()
|
||||
(*t)["pages"] = oe_bare(&ArgParser::argPages);
|
||||
(*t)["rotate"] = oe_requiredParameter(
|
||||
&ArgParser::argRotate, "[+|-]angle:page-range");
|
||||
char const* streamDataChoices[] =
|
||||
char const* stream_data_choices[] =
|
||||
{"compress", "preserve", "uncompress", 0};
|
||||
(*t)["stream-data"] = oe_requiredChoices(
|
||||
&ArgParser::argStreamData, streamDataChoices);
|
||||
&ArgParser::argStreamData, stream_data_choices);
|
||||
(*t)["compress-streams"] = oe_requiredChoices(
|
||||
&ArgParser::argCompressStreams, yn);
|
||||
char const* decodeLevelChoices[] =
|
||||
char const* decode_level_choices[] =
|
||||
{"none", "generalized", "specialized", "all", 0};
|
||||
(*t)["decode-level"] = oe_requiredChoices(
|
||||
&ArgParser::argDecodeLevel, decodeLevelChoices);
|
||||
&ArgParser::argDecodeLevel, decode_level_choices);
|
||||
(*t)["normalize-content"] = oe_requiredChoices(
|
||||
&ArgParser::argNormalizeContent, yn);
|
||||
(*t)["suppress-recovery"] = oe_bare(&ArgParser::argSuppressRecovery);
|
||||
char const* objectStreamsChoices[] = {"disable", "preserve", "generate", 0};
|
||||
char const* object_streams_choices[] = {
|
||||
"disable", "preserve", "generate", 0};
|
||||
(*t)["object-streams"] = oe_requiredChoices(
|
||||
&ArgParser::argObjectStreams, objectStreamsChoices);
|
||||
&ArgParser::argObjectStreams, object_streams_choices);
|
||||
(*t)["ignore-xref-streams"] = oe_bare(&ArgParser::argIgnoreXrefStreams);
|
||||
(*t)["qdf"] = oe_bare(&ArgParser::argQdf);
|
||||
(*t)["preserve-unreferenced"] = oe_bare(
|
||||
@ -673,7 +678,9 @@ ArgParser::initOptionTable()
|
||||
(*t)["linearize-pass1"] = oe_requiredParameter(
|
||||
&ArgParser::argLinearizePass1, "filename");
|
||||
(*t)["coalesce-contents"] = oe_bare(&ArgParser::argCoalesceContents);
|
||||
(*t)["flatten-annotations"] = oe_bare(&ArgParser::argFlattenAnnotations);
|
||||
char const* flatten_choices[] = {"all", "print", "screen", 0};
|
||||
(*t)["flatten-annotations"] = oe_requiredChoices(
|
||||
&ArgParser::argFlattenAnnotations, flatten_choices);
|
||||
(*t)["min-version"] = oe_requiredParameter(
|
||||
&ArgParser::argMinVersion, "version");
|
||||
(*t)["force-version"] = oe_requiredParameter(
|
||||
@ -702,10 +709,10 @@ ArgParser::initOptionTable()
|
||||
(*t)["json"] = oe_bare(&ArgParser::argJson);
|
||||
// The list of selectable top-level keys id duplicated in three
|
||||
// places: json_schema, do_json, and initOptionTable.
|
||||
char const* jsonKeyChoices[] = {
|
||||
char const* json_key_choices[] = {
|
||||
"objects", "pages", "pagelabels", "outlines", 0};
|
||||
(*t)["json-key"] = oe_requiredChoices(
|
||||
&ArgParser::argJsonKey, jsonKeyChoices);
|
||||
&ArgParser::argJsonKey, json_key_choices);
|
||||
(*t)["json-object"] = oe_requiredParameter(
|
||||
&ArgParser::argJsonObject, "trailer|obj[,gen]");
|
||||
(*t)["check"] = oe_bare(&ArgParser::argCheck);
|
||||
@ -722,13 +729,13 @@ ArgParser::initOptionTable()
|
||||
(*t)["accessibility"] = oe_requiredChoices(
|
||||
&ArgParser::arg128Accessibility, yn);
|
||||
(*t)["extract"] = oe_requiredChoices(&ArgParser::arg128Extract, yn);
|
||||
char const* print128Choices[] = {"full", "low", "none", 0};
|
||||
char const* print128_choices[] = {"full", "low", "none", 0};
|
||||
(*t)["print"] = oe_requiredChoices(
|
||||
&ArgParser::arg128Print, print128Choices);
|
||||
char const* modify128Choices[] =
|
||||
&ArgParser::arg128Print, print128_choices);
|
||||
char const* modify128_choices[] =
|
||||
{"all", "annotate", "form", "assembly", "none", 0};
|
||||
(*t)["modify"] = oe_requiredChoices(
|
||||
&ArgParser::arg128Modify, modify128Choices);
|
||||
&ArgParser::arg128Modify, modify128_choices);
|
||||
(*t)["cleartext-metadata"] = oe_bare(&ArgParser::arg128ClearTextMetadata);
|
||||
// The above 128-bit options are also 256-bit options, so copy
|
||||
// what we have so far. Then continue separately with 128 and 256.
|
||||
@ -1123,9 +1130,17 @@ ArgParser::argCoalesceContents()
|
||||
}
|
||||
|
||||
void
|
||||
ArgParser::argFlattenAnnotations()
|
||||
ArgParser::argFlattenAnnotations(char* parameter)
|
||||
{
|
||||
o.flatten_annotations = true;
|
||||
if (strcmp(parameter, "screen") == 0)
|
||||
{
|
||||
o.flatten_annotations_forbidden |= an_no_view;
|
||||
}
|
||||
else if (strcmp(parameter, "print") == 0)
|
||||
{
|
||||
o.flatten_annotations_required |= an_print;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@ -1769,7 +1784,8 @@ familiar with the PDF file format or who are PDF developers.\n\
|
||||
preserve unreferenced page resources\n\
|
||||
--newline-before-endstream always put a newline before endstream\n\
|
||||
--coalesce-contents force all pages' content to be a single stream\n\
|
||||
--flatten-annotations incorporate rendering of annotations into page\n\
|
||||
--flatten-annotations=option\n\
|
||||
incorporate rendering of annotations into page\n\
|
||||
contents including those for interactive form\n\
|
||||
fields\n\
|
||||
--qdf turns on \"QDF mode\" (below)\n\
|
||||
@ -1778,6 +1794,12 @@ familiar with the PDF file format or who are PDF developers.\n\
|
||||
--min-version=version sets the minimum PDF version of the output file\n\
|
||||
--force-version=version forces this to be the PDF version of the output file\n\
|
||||
\n\
|
||||
Options for --flatten-annotations are all, print, or screen. If the\n\
|
||||
option is print, only annotations marked as print are included. If the\n\
|
||||
option is screen, options marked as \"no view\" are excluded.\n\
|
||||
Otherwise, annotations are flattened regardless of the presence of\n\
|
||||
print or NoView flags.\n\
|
||||
\n\
|
||||
Version numbers may be expressed as major.minor.extension-level, so 1.7.3\n\
|
||||
means PDF version 1.7 at extension level 3.\n\
|
||||
\n\
|
||||
@ -3139,7 +3161,8 @@ static void handle_transformations(QPDF& pdf, Options& o)
|
||||
QPDFPageDocumentHelper dh(pdf);
|
||||
if (o.flatten_annotations)
|
||||
{
|
||||
dh.flattenAnnotations();
|
||||
dh.flattenAnnotations(o.flatten_annotations_required,
|
||||
o.flatten_annotations_forbidden);
|
||||
}
|
||||
if (o.coalesce_contents)
|
||||
{
|
||||
|
@ -388,3 +388,5 @@ QPDFPageDocumentHelper replace indirect annots 0
|
||||
QPDFPageDocumentHelper replace direct annots 0
|
||||
QPDFObjectHandle replace with copy 0
|
||||
QPDFPageDocumentHelper indirect as resources 0
|
||||
QPDFAnnotationObjectHelper forbidden flags 0
|
||||
QPDFAnnotationObjectHelper missing required flags 0
|
||||
|
@ -1461,7 +1461,7 @@ $td->notify("--- Flatten Form/Annotations ---");
|
||||
# - page 4: non-trivial matrix, rotate
|
||||
# - page 5: rotate 180 with /F 20
|
||||
# - page 6: rotate 90, /F 20, non-trivial matrix
|
||||
# - page 7: normal -- available for additional testing
|
||||
# - page 7: flags: top is print, middle is screen, bottom is hidden
|
||||
# - page 8: rotate 270 with /F 20
|
||||
# - page 9: normal -- available for additional testing
|
||||
#
|
||||
@ -1493,7 +1493,7 @@ foreach my $f (@annotation_files)
|
||||
$td->runtest("flatten $f",
|
||||
{$td->COMMAND =>
|
||||
"qpdf --qdf --static-id --no-original-object-ids" .
|
||||
" --flatten-annotations $f.pdf a.pdf"},
|
||||
" --flatten-annotations=all $f.pdf a.pdf"},
|
||||
$exp_out,
|
||||
$td->NORMALIZE_NEWLINES);
|
||||
$td->runtest("check output",
|
||||
@ -1501,6 +1501,20 @@ foreach my $f (@annotation_files)
|
||||
{$td->FILE => "$f-out.pdf"});
|
||||
}
|
||||
|
||||
$n_tests += 4;
|
||||
foreach my $f (qw(screen print))
|
||||
{
|
||||
$td->runtest("flatten for $f",
|
||||
{$td->COMMAND =>
|
||||
"qpdf --qdf --static-id --no-original-object-ids" .
|
||||
" --flatten-annotations=$f manual-appearances.pdf a.pdf"},
|
||||
{$td->STRING => "", $td->EXIT_STATUS => 0},
|
||||
$td->NORMALIZE_NEWLINES);
|
||||
$td->runtest("check output",
|
||||
{$td->FILE => "a.pdf"},
|
||||
{$td->FILE => "manual-appearances-$f-out.pdf"});
|
||||
}
|
||||
|
||||
show_ntests();
|
||||
# ----------
|
||||
$td->notify("--- Merging and Splitting ---");
|
||||
|
@ -506,7 +506,6 @@ endobj
|
||||
/XObject <<
|
||||
/Fxo1 101 0 R
|
||||
/Fxo2 103 0 R
|
||||
/Fxo3 105 0 R
|
||||
>>
|
||||
>>
|
||||
/StructParents 0
|
||||
@ -518,9 +517,9 @@ endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Contents [
|
||||
105 0 R
|
||||
107 0 R
|
||||
109 0 R
|
||||
111 0 R
|
||||
]
|
||||
/Group <<
|
||||
/CS /DeviceRGB
|
||||
@ -535,15 +534,15 @@ endobj
|
||||
]
|
||||
/Parent 4 0 R
|
||||
/Resources <<
|
||||
/Font 113 0 R
|
||||
/Font 111 0 R
|
||||
/ProcSet [
|
||||
/PDF
|
||||
/Text
|
||||
]
|
||||
/XObject <<
|
||||
/Fxo1 114 0 R
|
||||
/Fxo2 116 0 R
|
||||
/Fxo3 118 0 R
|
||||
/Fxo1 112 0 R
|
||||
/Fxo2 114 0 R
|
||||
/Fxo3 116 0 R
|
||||
>>
|
||||
>>
|
||||
/Rotate 270
|
||||
@ -556,9 +555,9 @@ endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Contents [
|
||||
118 0 R
|
||||
120 0 R
|
||||
122 0 R
|
||||
124 0 R
|
||||
]
|
||||
/Group <<
|
||||
/CS /DeviceRGB
|
||||
@ -573,15 +572,15 @@ endobj
|
||||
]
|
||||
/Parent 4 0 R
|
||||
/Resources <<
|
||||
/Font 126 0 R
|
||||
/Font 124 0 R
|
||||
/ProcSet [
|
||||
/PDF
|
||||
/Text
|
||||
]
|
||||
/XObject <<
|
||||
/Fxo1 127 0 R
|
||||
/Fxo2 129 0 R
|
||||
/Fxo3 131 0 R
|
||||
/Fxo1 125 0 R
|
||||
/Fxo2 127 0 R
|
||||
/Fxo3 129 0 R
|
||||
>>
|
||||
>>
|
||||
/StructParents 0
|
||||
@ -592,10 +591,10 @@ endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/K [
|
||||
131 0 R
|
||||
132 0 R
|
||||
133 0 R
|
||||
134 0 R
|
||||
135 0 R
|
||||
136 0 R
|
||||
]
|
||||
/P 5 0 R
|
||||
/Pg 3 0 R
|
||||
@ -609,9 +608,9 @@ endobj
|
||||
/Nums [
|
||||
0
|
||||
[
|
||||
132 0 R
|
||||
133 0 R
|
||||
134 0 R
|
||||
135 0 R
|
||||
136 0 R
|
||||
]
|
||||
]
|
||||
>>
|
||||
@ -1672,15 +1671,11 @@ q
|
||||
1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
|
||||
/Fxo2 Do
|
||||
Q
|
||||
q
|
||||
1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
|
||||
/Fxo3 Do
|
||||
Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
99 0 obj
|
||||
207
|
||||
139
|
||||
endobj
|
||||
|
||||
100 0 obj
|
||||
@ -1766,39 +1761,18 @@ endobj
|
||||
113
|
||||
endobj
|
||||
|
||||
%% Contents for page 8
|
||||
105 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
0
|
||||
72.8
|
||||
98
|
||||
]
|
||||
/Resources <<
|
||||
/Font <<
|
||||
>>
|
||||
/ProcSet [
|
||||
/PDF
|
||||
/Text
|
||||
]
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 106 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
0 0 1 RG
|
||||
5 w
|
||||
0 0 72.8 98 re s
|
||||
1 0 0 RG
|
||||
5 5 15 15 re s
|
||||
Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
106 0 obj
|
||||
58
|
||||
2
|
||||
endobj
|
||||
|
||||
%% Contents for page 8
|
||||
@ -1807,20 +1781,6 @@ endobj
|
||||
/Length 108 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
108 0 obj
|
||||
2
|
||||
endobj
|
||||
|
||||
%% Contents for page 8
|
||||
109 0 obj
|
||||
<<
|
||||
/Length 110 0 R
|
||||
>>
|
||||
stream
|
||||
0.1 w
|
||||
/Artifact BMC
|
||||
q 0 0.028 611.971 791.971 re
|
||||
@ -1842,14 +1802,14 @@ endstream
|
||||
endobj
|
||||
|
||||
%QDF: ignore_newline
|
||||
110 0 obj
|
||||
108 0 obj
|
||||
240
|
||||
endobj
|
||||
|
||||
%% Contents for page 8
|
||||
111 0 obj
|
||||
109 0 obj
|
||||
<<
|
||||
/Length 112 0 R
|
||||
/Length 110 0 R
|
||||
>>
|
||||
stream
|
||||
|
||||
@ -1869,16 +1829,16 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
112 0 obj
|
||||
110 0 obj
|
||||
208
|
||||
endobj
|
||||
|
||||
113 0 obj
|
||||
111 0 obj
|
||||
<<
|
||||
>>
|
||||
endobj
|
||||
|
||||
114 0 obj
|
||||
112 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
@ -1896,7 +1856,7 @@ endobj
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 115 0 R
|
||||
/Length 113 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
@ -1909,11 +1869,11 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
115 0 obj
|
||||
113 0 obj
|
||||
61
|
||||
endobj
|
||||
|
||||
116 0 obj
|
||||
114 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
@ -1931,7 +1891,7 @@ endobj
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 117 0 R
|
||||
/Length 115 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
@ -1951,11 +1911,11 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
117 0 obj
|
||||
115 0 obj
|
||||
113
|
||||
endobj
|
||||
|
||||
118 0 obj
|
||||
116 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
@ -1973,7 +1933,7 @@ endobj
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 119 0 R
|
||||
/Length 117 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
@ -1986,28 +1946,28 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
119 0 obj
|
||||
117 0 obj
|
||||
58
|
||||
endobj
|
||||
|
||||
%% Contents for page 9
|
||||
120 0 obj
|
||||
118 0 obj
|
||||
<<
|
||||
/Length 121 0 R
|
||||
/Length 119 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
121 0 obj
|
||||
119 0 obj
|
||||
2
|
||||
endobj
|
||||
|
||||
%% Contents for page 9
|
||||
122 0 obj
|
||||
120 0 obj
|
||||
<<
|
||||
/Length 123 0 R
|
||||
/Length 121 0 R
|
||||
>>
|
||||
stream
|
||||
0.1 w
|
||||
@ -2031,14 +1991,14 @@ endstream
|
||||
endobj
|
||||
|
||||
%QDF: ignore_newline
|
||||
123 0 obj
|
||||
121 0 obj
|
||||
240
|
||||
endobj
|
||||
|
||||
%% Contents for page 9
|
||||
124 0 obj
|
||||
122 0 obj
|
||||
<<
|
||||
/Length 125 0 R
|
||||
/Length 123 0 R
|
||||
>>
|
||||
stream
|
||||
|
||||
@ -2058,16 +2018,16 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
125 0 obj
|
||||
123 0 obj
|
||||
207
|
||||
endobj
|
||||
|
||||
126 0 obj
|
||||
124 0 obj
|
||||
<<
|
||||
>>
|
||||
endobj
|
||||
|
||||
127 0 obj
|
||||
125 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
@ -2085,7 +2045,7 @@ endobj
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 128 0 R
|
||||
/Length 126 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
@ -2098,11 +2058,11 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
128 0 obj
|
||||
126 0 obj
|
||||
61
|
||||
endobj
|
||||
|
||||
129 0 obj
|
||||
127 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
@ -2120,7 +2080,7 @@ endobj
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 130 0 R
|
||||
/Length 128 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
@ -2140,11 +2100,11 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
130 0 obj
|
||||
128 0 obj
|
||||
113
|
||||
endobj
|
||||
|
||||
131 0 obj
|
||||
129 0 obj
|
||||
<<
|
||||
/BBox [
|
||||
0
|
||||
@ -2162,7 +2122,7 @@ endobj
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Type /XObject
|
||||
/Length 132 0 R
|
||||
/Length 130 0 R
|
||||
>>
|
||||
stream
|
||||
q
|
||||
@ -2175,13 +2135,13 @@ Q
|
||||
endstream
|
||||
endobj
|
||||
|
||||
132 0 obj
|
||||
130 0 obj
|
||||
58
|
||||
endobj
|
||||
|
||||
133 0 obj
|
||||
131 0 obj
|
||||
<<
|
||||
/A 137 0 R
|
||||
/A 135 0 R
|
||||
/P 27 0 R
|
||||
/Pg 3 0 R
|
||||
/S /Standard
|
||||
@ -2189,7 +2149,7 @@ endobj
|
||||
>>
|
||||
endobj
|
||||
|
||||
134 0 obj
|
||||
132 0 obj
|
||||
<<
|
||||
/K [
|
||||
0
|
||||
@ -2201,7 +2161,7 @@ endobj
|
||||
>>
|
||||
endobj
|
||||
|
||||
135 0 obj
|
||||
133 0 obj
|
||||
<<
|
||||
/K [
|
||||
1
|
||||
@ -2213,7 +2173,7 @@ endobj
|
||||
>>
|
||||
endobj
|
||||
|
||||
136 0 obj
|
||||
134 0 obj
|
||||
<<
|
||||
/K [
|
||||
2
|
||||
@ -2225,7 +2185,7 @@ endobj
|
||||
>>
|
||||
endobj
|
||||
|
||||
137 0 obj
|
||||
135 0 obj
|
||||
<<
|
||||
/O /Layout
|
||||
/Placement /Block
|
||||
@ -2233,7 +2193,7 @@ endobj
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 138
|
||||
0 136
|
||||
0000000000 65535 f
|
||||
0000000025 00000 n
|
||||
0000000219 00000 n
|
||||
@ -2259,126 +2219,124 @@ xref
|
||||
0000004132 00000 n
|
||||
0000004556 00000 n
|
||||
0000004979 00000 n
|
||||
0000005393 00000 n
|
||||
0000005824 00000 n
|
||||
0000006231 00000 n
|
||||
0000006371 00000 n
|
||||
0000006491 00000 n
|
||||
0000006550 00000 n
|
||||
0000006592 00000 n
|
||||
0000006911 00000 n
|
||||
0000006955 00000 n
|
||||
0000007220 00000 n
|
||||
0000007241 00000 n
|
||||
0000007264 00000 n
|
||||
0000005373 00000 n
|
||||
0000005804 00000 n
|
||||
0000006211 00000 n
|
||||
0000006351 00000 n
|
||||
0000006471 00000 n
|
||||
0000006530 00000 n
|
||||
0000006572 00000 n
|
||||
0000006891 00000 n
|
||||
0000006935 00000 n
|
||||
0000007200 00000 n
|
||||
0000007221 00000 n
|
||||
0000007244 00000 n
|
||||
0000007526 00000 n
|
||||
0000007546 00000 n
|
||||
0000007566 00000 n
|
||||
0000007899 00000 n
|
||||
0000007920 00000 n
|
||||
0000008196 00000 n
|
||||
0000008239 00000 n
|
||||
0000008298 00000 n
|
||||
0000008340 00000 n
|
||||
0000008659 00000 n
|
||||
0000008703 00000 n
|
||||
0000008967 00000 n
|
||||
0000008988 00000 n
|
||||
0000009011 00000 n
|
||||
0000007879 00000 n
|
||||
0000007900 00000 n
|
||||
0000008176 00000 n
|
||||
0000008219 00000 n
|
||||
0000008278 00000 n
|
||||
0000008320 00000 n
|
||||
0000008639 00000 n
|
||||
0000008683 00000 n
|
||||
0000008947 00000 n
|
||||
0000008968 00000 n
|
||||
0000008991 00000 n
|
||||
0000009334 00000 n
|
||||
0000009354 00000 n
|
||||
0000009374 00000 n
|
||||
0000009765 00000 n
|
||||
0000009786 00000 n
|
||||
0000010062 00000 n
|
||||
0000010105 00000 n
|
||||
0000010164 00000 n
|
||||
0000010206 00000 n
|
||||
0000010525 00000 n
|
||||
0000010569 00000 n
|
||||
0000010833 00000 n
|
||||
0000010854 00000 n
|
||||
0000010877 00000 n
|
||||
0000009745 00000 n
|
||||
0000009766 00000 n
|
||||
0000010042 00000 n
|
||||
0000010085 00000 n
|
||||
0000010144 00000 n
|
||||
0000010186 00000 n
|
||||
0000010505 00000 n
|
||||
0000010549 00000 n
|
||||
0000010813 00000 n
|
||||
0000010834 00000 n
|
||||
0000010857 00000 n
|
||||
0000011205 00000 n
|
||||
0000011225 00000 n
|
||||
0000011245 00000 n
|
||||
0000011636 00000 n
|
||||
0000011657 00000 n
|
||||
0000011933 00000 n
|
||||
0000011976 00000 n
|
||||
0000012035 00000 n
|
||||
0000012077 00000 n
|
||||
0000012396 00000 n
|
||||
0000012440 00000 n
|
||||
0000012706 00000 n
|
||||
0000012727 00000 n
|
||||
0000012750 00000 n
|
||||
0000011616 00000 n
|
||||
0000011637 00000 n
|
||||
0000011913 00000 n
|
||||
0000011956 00000 n
|
||||
0000012015 00000 n
|
||||
0000012057 00000 n
|
||||
0000012376 00000 n
|
||||
0000012420 00000 n
|
||||
0000012686 00000 n
|
||||
0000012707 00000 n
|
||||
0000012730 00000 n
|
||||
0000013012 00000 n
|
||||
0000013032 00000 n
|
||||
0000013052 00000 n
|
||||
0000013385 00000 n
|
||||
0000013406 00000 n
|
||||
0000013682 00000 n
|
||||
0000013725 00000 n
|
||||
0000013784 00000 n
|
||||
0000013826 00000 n
|
||||
0000014145 00000 n
|
||||
0000014189 00000 n
|
||||
0000014456 00000 n
|
||||
0000014477 00000 n
|
||||
0000014500 00000 n
|
||||
0000013365 00000 n
|
||||
0000013386 00000 n
|
||||
0000013662 00000 n
|
||||
0000013705 00000 n
|
||||
0000013764 00000 n
|
||||
0000013806 00000 n
|
||||
0000014125 00000 n
|
||||
0000014169 00000 n
|
||||
0000014436 00000 n
|
||||
0000014457 00000 n
|
||||
0000014480 00000 n
|
||||
0000014823 00000 n
|
||||
0000014843 00000 n
|
||||
0000014863 00000 n
|
||||
0000015259 00000 n
|
||||
0000015280 00000 n
|
||||
0000015556 00000 n
|
||||
0000015599 00000 n
|
||||
0000015658 00000 n
|
||||
0000015700 00000 n
|
||||
0000016019 00000 n
|
||||
0000016063 00000 n
|
||||
0000016327 00000 n
|
||||
0000016348 00000 n
|
||||
0000016372 00000 n
|
||||
0000016661 00000 n
|
||||
0000016682 00000 n
|
||||
0000017017 00000 n
|
||||
0000017039 00000 n
|
||||
0000017317 00000 n
|
||||
0000017361 00000 n
|
||||
0000017422 00000 n
|
||||
0000017465 00000 n
|
||||
0000017786 00000 n
|
||||
0000017831 00000 n
|
||||
0000018098 00000 n
|
||||
0000018120 00000 n
|
||||
0000018144 00000 n
|
||||
0000018428 00000 n
|
||||
0000018449 00000 n
|
||||
0000018784 00000 n
|
||||
0000018806 00000 n
|
||||
0000019084 00000 n
|
||||
0000019128 00000 n
|
||||
0000019189 00000 n
|
||||
0000019232 00000 n
|
||||
0000019553 00000 n
|
||||
0000019598 00000 n
|
||||
0000019864 00000 n
|
||||
0000019886 00000 n
|
||||
0000019910 00000 n
|
||||
0000020194 00000 n
|
||||
0000020215 00000 n
|
||||
0000020550 00000 n
|
||||
0000020572 00000 n
|
||||
0000020850 00000 n
|
||||
0000020871 00000 n
|
||||
0000020967 00000 n
|
||||
0000021063 00000 n
|
||||
0000021159 00000 n
|
||||
0000021255 00000 n
|
||||
0000015239 00000 n
|
||||
0000015260 00000 n
|
||||
0000015536 00000 n
|
||||
0000015579 00000 n
|
||||
0000015638 00000 n
|
||||
0000015680 00000 n
|
||||
0000015999 00000 n
|
||||
0000016043 00000 n
|
||||
0000016239 00000 n
|
||||
0000016260 00000 n
|
||||
0000016284 00000 n
|
||||
0000016573 00000 n
|
||||
0000016594 00000 n
|
||||
0000016929 00000 n
|
||||
0000016974 00000 n
|
||||
0000017035 00000 n
|
||||
0000017078 00000 n
|
||||
0000017399 00000 n
|
||||
0000017444 00000 n
|
||||
0000017711 00000 n
|
||||
0000017733 00000 n
|
||||
0000017757 00000 n
|
||||
0000018041 00000 n
|
||||
0000018062 00000 n
|
||||
0000018397 00000 n
|
||||
0000018419 00000 n
|
||||
0000018697 00000 n
|
||||
0000018741 00000 n
|
||||
0000018802 00000 n
|
||||
0000018845 00000 n
|
||||
0000019166 00000 n
|
||||
0000019211 00000 n
|
||||
0000019477 00000 n
|
||||
0000019499 00000 n
|
||||
0000019523 00000 n
|
||||
0000019807 00000 n
|
||||
0000019828 00000 n
|
||||
0000020163 00000 n
|
||||
0000020185 00000 n
|
||||
0000020463 00000 n
|
||||
0000020484 00000 n
|
||||
0000020580 00000 n
|
||||
0000020676 00000 n
|
||||
0000020772 00000 n
|
||||
0000020868 00000 n
|
||||
trailer <<
|
||||
/DocChecksum /DA785F789D02970D387C264D0A6C8CB0
|
||||
/Info 2 0 R
|
||||
/Root 1 0 R
|
||||
/Size 138
|
||||
/Size 136
|
||||
/ID [<976442cb303b8d5e88a36a127de2a19f><31415926535897932384626433832795>]
|
||||
>>
|
||||
startxref
|
||||
21312
|
||||
20925
|
||||
%%EOF
|
||||
|
2293
qpdf/qtest/qpdf/manual-appearances-print-out.pdf
Normal file
2293
qpdf/qtest/qpdf/manual-appearances-print-out.pdf
Normal file
File diff suppressed because it is too large
Load Diff
2299
qpdf/qtest/qpdf/manual-appearances-screen-out.pdf
Normal file
2299
qpdf/qtest/qpdf/manual-appearances-screen-out.pdf
Normal file
File diff suppressed because it is too large
Load Diff
@ -590,7 +590,7 @@ endobj
|
||||
/Font 83 0 R
|
||||
>>
|
||||
/DV <feff>
|
||||
/F 4
|
||||
/F 36
|
||||
/FT /Tx
|
||||
/Ff 4096
|
||||
/P 84 0 R
|
||||
@ -618,7 +618,7 @@ endobj
|
||||
/Font 83 0 R
|
||||
>>
|
||||
/DV <feff>
|
||||
/F 4
|
||||
/F 0
|
||||
/FT /Tx
|
||||
/Ff 4096
|
||||
/P 84 0 R
|
||||
@ -646,7 +646,7 @@ endobj
|
||||
/Font 83 0 R
|
||||
>>
|
||||
/DV <feff>
|
||||
/F 4
|
||||
/F 2
|
||||
/FT /Tx
|
||||
/Ff 4096
|
||||
/P 84 0 R
|
||||
@ -2616,121 +2616,121 @@ xref
|
||||
0000006350 00000 n
|
||||
0000006685 00000 n
|
||||
0000007020 00000 n
|
||||
0000007354 00000 n
|
||||
0000007688 00000 n
|
||||
0000008022 00000 n
|
||||
0000008356 00000 n
|
||||
0000008690 00000 n
|
||||
0000009025 00000 n
|
||||
0000009360 00000 n
|
||||
0000009696 00000 n
|
||||
0000010042 00000 n
|
||||
0000010406 00000 n
|
||||
0000010597 00000 n
|
||||
0000010777 00000 n
|
||||
0000010828 00000 n
|
||||
0000011049 00000 n
|
||||
0000011097 00000 n
|
||||
0000011364 00000 n
|
||||
0000011413 00000 n
|
||||
0000011623 00000 n
|
||||
0000011671 00000 n
|
||||
0000011889 00000 n
|
||||
0000011937 00000 n
|
||||
0000011998 00000 n
|
||||
0000012375 00000 n
|
||||
0000012644 00000 n
|
||||
0000012693 00000 n
|
||||
0000012905 00000 n
|
||||
0000012953 00000 n
|
||||
0000013232 00000 n
|
||||
0000013280 00000 n
|
||||
0000013341 00000 n
|
||||
0000013708 00000 n
|
||||
0000014035 00000 n
|
||||
0000014084 00000 n
|
||||
0000014296 00000 n
|
||||
0000014344 00000 n
|
||||
0000014628 00000 n
|
||||
0000014676 00000 n
|
||||
0000014737 00000 n
|
||||
0000015117 00000 n
|
||||
0000015444 00000 n
|
||||
0000015493 00000 n
|
||||
0000015705 00000 n
|
||||
0000015753 00000 n
|
||||
0000015971 00000 n
|
||||
0000016019 00000 n
|
||||
0000016080 00000 n
|
||||
0000016461 00000 n
|
||||
0000016730 00000 n
|
||||
0000016779 00000 n
|
||||
0000016991 00000 n
|
||||
0000017039 00000 n
|
||||
0000017318 00000 n
|
||||
0000017366 00000 n
|
||||
0000017427 00000 n
|
||||
0000017807 00000 n
|
||||
0000018139 00000 n
|
||||
0000018188 00000 n
|
||||
0000018400 00000 n
|
||||
0000018448 00000 n
|
||||
0000018671 00000 n
|
||||
0000018719 00000 n
|
||||
0000018780 00000 n
|
||||
0000019147 00000 n
|
||||
0000019416 00000 n
|
||||
0000019465 00000 n
|
||||
0000019677 00000 n
|
||||
0000019725 00000 n
|
||||
0000019943 00000 n
|
||||
0000019991 00000 n
|
||||
0000020052 00000 n
|
||||
0000020433 00000 n
|
||||
0000020702 00000 n
|
||||
0000020751 00000 n
|
||||
0000020963 00000 n
|
||||
0000021011 00000 n
|
||||
0000021229 00000 n
|
||||
0000021277 00000 n
|
||||
0000021339 00000 n
|
||||
0000021708 00000 n
|
||||
0000021979 00000 n
|
||||
0000022030 00000 n
|
||||
0000022244 00000 n
|
||||
0000022317 00000 n
|
||||
0000022638 00000 n
|
||||
0000022689 00000 n
|
||||
0000022861 00000 n
|
||||
0000022988 00000 n
|
||||
0000023115 00000 n
|
||||
0000023436 00000 n
|
||||
0000023487 00000 n
|
||||
0000023614 00000 n
|
||||
0000023935 00000 n
|
||||
0000023986 00000 n
|
||||
0000024113 00000 n
|
||||
0000024434 00000 n
|
||||
0000024485 00000 n
|
||||
0000024612 00000 n
|
||||
0000024933 00000 n
|
||||
0000024984 00000 n
|
||||
0000025111 00000 n
|
||||
0000025432 00000 n
|
||||
0000025483 00000 n
|
||||
0000025610 00000 n
|
||||
0000025931 00000 n
|
||||
0000025982 00000 n
|
||||
0000026109 00000 n
|
||||
0000026430 00000 n
|
||||
0000026481 00000 n
|
||||
0000026608 00000 n
|
||||
0000026929 00000 n
|
||||
0000026980 00000 n
|
||||
0000027107 00000 n
|
||||
0000027234 00000 n
|
||||
0000027361 00000 n
|
||||
0000027488 00000 n
|
||||
0000007355 00000 n
|
||||
0000007689 00000 n
|
||||
0000008023 00000 n
|
||||
0000008357 00000 n
|
||||
0000008691 00000 n
|
||||
0000009026 00000 n
|
||||
0000009361 00000 n
|
||||
0000009697 00000 n
|
||||
0000010043 00000 n
|
||||
0000010407 00000 n
|
||||
0000010598 00000 n
|
||||
0000010778 00000 n
|
||||
0000010829 00000 n
|
||||
0000011050 00000 n
|
||||
0000011098 00000 n
|
||||
0000011365 00000 n
|
||||
0000011414 00000 n
|
||||
0000011624 00000 n
|
||||
0000011672 00000 n
|
||||
0000011890 00000 n
|
||||
0000011938 00000 n
|
||||
0000011999 00000 n
|
||||
0000012376 00000 n
|
||||
0000012645 00000 n
|
||||
0000012694 00000 n
|
||||
0000012906 00000 n
|
||||
0000012954 00000 n
|
||||
0000013233 00000 n
|
||||
0000013281 00000 n
|
||||
0000013342 00000 n
|
||||
0000013709 00000 n
|
||||
0000014036 00000 n
|
||||
0000014085 00000 n
|
||||
0000014297 00000 n
|
||||
0000014345 00000 n
|
||||
0000014629 00000 n
|
||||
0000014677 00000 n
|
||||
0000014738 00000 n
|
||||
0000015118 00000 n
|
||||
0000015445 00000 n
|
||||
0000015494 00000 n
|
||||
0000015706 00000 n
|
||||
0000015754 00000 n
|
||||
0000015972 00000 n
|
||||
0000016020 00000 n
|
||||
0000016081 00000 n
|
||||
0000016462 00000 n
|
||||
0000016731 00000 n
|
||||
0000016780 00000 n
|
||||
0000016992 00000 n
|
||||
0000017040 00000 n
|
||||
0000017319 00000 n
|
||||
0000017367 00000 n
|
||||
0000017428 00000 n
|
||||
0000017808 00000 n
|
||||
0000018140 00000 n
|
||||
0000018189 00000 n
|
||||
0000018401 00000 n
|
||||
0000018449 00000 n
|
||||
0000018672 00000 n
|
||||
0000018720 00000 n
|
||||
0000018781 00000 n
|
||||
0000019148 00000 n
|
||||
0000019417 00000 n
|
||||
0000019466 00000 n
|
||||
0000019678 00000 n
|
||||
0000019726 00000 n
|
||||
0000019944 00000 n
|
||||
0000019992 00000 n
|
||||
0000020053 00000 n
|
||||
0000020434 00000 n
|
||||
0000020703 00000 n
|
||||
0000020752 00000 n
|
||||
0000020964 00000 n
|
||||
0000021012 00000 n
|
||||
0000021230 00000 n
|
||||
0000021278 00000 n
|
||||
0000021340 00000 n
|
||||
0000021709 00000 n
|
||||
0000021980 00000 n
|
||||
0000022031 00000 n
|
||||
0000022245 00000 n
|
||||
0000022318 00000 n
|
||||
0000022639 00000 n
|
||||
0000022690 00000 n
|
||||
0000022862 00000 n
|
||||
0000022989 00000 n
|
||||
0000023116 00000 n
|
||||
0000023437 00000 n
|
||||
0000023488 00000 n
|
||||
0000023615 00000 n
|
||||
0000023936 00000 n
|
||||
0000023987 00000 n
|
||||
0000024114 00000 n
|
||||
0000024435 00000 n
|
||||
0000024486 00000 n
|
||||
0000024613 00000 n
|
||||
0000024934 00000 n
|
||||
0000024985 00000 n
|
||||
0000025112 00000 n
|
||||
0000025433 00000 n
|
||||
0000025484 00000 n
|
||||
0000025611 00000 n
|
||||
0000025932 00000 n
|
||||
0000025983 00000 n
|
||||
0000026110 00000 n
|
||||
0000026431 00000 n
|
||||
0000026482 00000 n
|
||||
0000026609 00000 n
|
||||
0000026930 00000 n
|
||||
0000026981 00000 n
|
||||
0000027108 00000 n
|
||||
0000027235 00000 n
|
||||
0000027362 00000 n
|
||||
0000027489 00000 n
|
||||
trailer <<
|
||||
/DocChecksum /DA785F789D02970D387C264D0A6C8CB0
|
||||
/Info 2 0 R
|
||||
@ -2739,5 +2739,5 @@ trailer <<
|
||||
/ID [<976442cb303b8d5e88a36a127de2a19f><1f7f023bcea1641cee1f72048a9d0676>]
|
||||
>>
|
||||
startxref
|
||||
27545
|
||||
27546
|
||||
%%EOF
|
||||
|
Loading…
x
Reference in New Issue
Block a user