Commit f78ea057ca766e083c53f1c0284944b96a42b1b8

Authored by Jay Berkenbilt
1 parent 23bcfeb3

Switch annotation flattening to use the form xobjects

Instead of directly putting the contents of the annotation appearance
streams into the page's content stream, add commands to render the
form xobjects directly. This is a more robust way to do it than the
original solution as it works properly with patterns and avoids
problems with resource name clashes between the pages and the form
xobjects.
ChangeLog
1 1 2018-12-31 Jay Berkenbilt <ejb@ql.org>
2 2  
3   - * Add several methods for flattening form fields and annotations:
  3 + * Add methods for flattening form fields and annotations:
4 4 - QPDFPageDocumentHelper::flattenAnnotations - integrate
5 5 annotation appearance streams into page contents with special
6 6 handling for form fields: if appearance streams are up to date
... ... @@ -11,15 +11,11 @@
11 11 be found.
12 12 - QPDFAnnotationObjectHelper::getPageContentForAppearance -
13 13 generate the content stream fragment to render an appearance
14   - stream in a page's content stream. Called by flattenAnnotations.
15   - - QPDFAnnotationObjectHelper::getAnnotationAppearanceMatrix -
16   - calculate the matrix that will transform from the appearance
17   - stream coordinates to the page coordinates. Called by
18   - getPageContentForAppearance.
19   -
20   - * Add method QPDFObjectHandle::mergeDictionary(), which
21   - recursively merges dictionaries with semantics designed for
22   - merging resource dictionaries. See detailed description in
  14 + stream in a page's content stream as a form xobject. Called by
  15 + flattenAnnotations.
  16 +
  17 + * Add method QPDFObjectHandle::mergeResources(), which merges
  18 + resource dictionaries. See detailed description in
23 19 QPDFObjectHandle.hh.
24 20  
25 21 * Add QPDFObjectHandle::Matrix, similar to
... ...
include/qpdf/QPDFAnnotationObjectHelper.hh
... ... @@ -72,23 +72,14 @@ class QPDFAnnotationObjectHelper: public QPDFObjectHelper
72 72 QPDFObjectHandle getAppearanceStream(std::string const& which,
73 73 std::string const& state = "");
74 74  
75   - // Return a matrix that transforms from the annotation's
76   - // appearance stream's coordinates to the page's coordinates. This
77   - // method also honors the annotation's NoRotate flag if set. The
78   - // matrix is returned as a string representing the six floating
79   - // point numbers to be passed to a cm operator. Returns the empty
80   - // string if it is unable to compute the matrix for any reason.
81   - // The value "rotate" should be set to the page's /Rotate value or
82   - // 0 if none.
83   - QPDF_DLL
84   - std::string getAnnotationAppearanceMatrix(int rotate);
85   -
86 75 // Generate text suitable for addition to the containing page's
87   - // content stream that replaces this annotation's appearance
88   - // stream. The value "rotate" should be set to the page's /Rotate
89   - // value or 0 if none.
  76 + // content stream that draws this annotation's appearance stream
  77 + // as a form XObject. The value "name" is the resource name that
  78 + // will be used to refer to the form xobject. The value "rotate"
  79 + // should be set to the page's /Rotate value or 0 if none.
90 80 QPDF_DLL
91   - std::string getPageContentForAppearance(int rotate);
  81 + std::string getPageContentForAppearance(
  82 + std::string const& name, int rotate);
92 83  
93 84 private:
94 85 class Members
... ...
include/qpdf/QPDFObjectHandle.hh
... ... @@ -559,27 +559,46 @@ class QPDFObjectHandle
559 559 QPDF_DLL
560 560 bool isOrHasName(std::string const&);
561 561  
562   - // Merge dictionaries with the following behavior, where "object"
563   - // refers to the object whose method is invoked, and "other"
564   - // refers to the argument:
565   - // * If either object or other is not a dictionary, do nothing
566   - // * Otherwise
567   - // * For each key in other
568   - // * If key is absent in object, insert it
569   - // * If key is present in object
570   - // * If both values are dictionaries, merge the dictionary from
571   - // other into the one from object
572   - // * If both values are arrays, append scalar elements from
573   - // other's that are not present in object's onto object's,
574   - // and ignore non-scalar elements in other's
575   - // * Otherwise ignore
  562 + // Merge resource dictionaries. Assumes resource dictionaries have
  563 + // the property that the collection of keys of all first-level
  564 + // dictionary members contains no duplicates. This method does
  565 + // nothing if both this object and the other object are not
  566 + // dictionaries. Otherwise, it has following behavior, where
  567 + // "object" refers to the object whose method is invoked, and
  568 + // "other" refers to the argument:
  569 + //
  570 + // * For each key in "other" whose value is an array:
  571 + // * If "object" does not have that entry, shallow copy it.
  572 + // * Otherwise, if "object" has an array in the same place,
  573 + // append to that array any objects in "other"'s array that
  574 + // are not already present.
  575 + // * For each key in "other" whose value is a dictionary:
  576 + // * If "object" does not have that entry, shallow copy it.
  577 + // * Otherwise, for each key in the subdictionary:
  578 + // * If key is not present in "object"'s entry, shallow copy it.
  579 + // * Otherwise, ignore. Conflicts are not detected.
  580 + //
576 581 // The primary purpose of this method is to facilitate merging of
577   - // resource dictionaries. Conflicts are ignored. If needed, a
578   - // future version of qpdf may provide some mechanism for conflict
579   - // resolution, such as providing a handler that is invoked with
580   - // the path to the conflict.
581   - QPDF_DLL
582   - void mergeDictionary(QPDFObjectHandle other);
  582 + // resource dictionaries that are supposed to have the same scope
  583 + // as each other. For example, this can be used to merge a form
  584 + // XObject's /Resources dictionary with a form field's /DR.
  585 + // Conflicts are not detected. If, in the future, there should be
  586 + // a need to detect conflicts, this method could detect them and
  587 + // return a mapping from old to new names. This mapping could be
  588 + // used for filtering the stream. This would be necessary, for
  589 + // example, to merge a form XObject's resources with a page's
  590 + // resources with the intention of concatenating the content
  591 + // streams.
  592 + QPDF_DLL
  593 + void mergeResources(QPDFObjectHandle other);
  594 +
  595 + // Get all resource names from a resourcey dictionary. If this
  596 + // object is a dctionary, this method returns a set of all the
  597 + // keys in all top-level subdictionaries. For resources
  598 + // dictionaries, this is the collection of names that may be
  599 + // referenced in the content stream.
  600 + QPDF_DLL
  601 + std::set<std::string> getResourceNames();
583 602  
584 603 // Return the QPDF object that owns an indirect object. Returns
585 604 // null for a direct object.
... ... @@ -992,10 +1011,6 @@ class QPDFObjectHandle
992 1011 ParserCallbacks* callbacks);
993 1012 std::vector<QPDFObjectHandle> arrayOrStreamToStreamArray(
994 1013 std::string const& description, std::string& all_description);
995   - void mergeDictionaryInternal(
996   - QPDFObjectHandle other,
997   - std::set<QPDFObjGen>& visiting,
998   - int depth);
999 1014 static void warn(QPDF*, QPDFExc const&);
1000 1015  
1001 1016 class Members
... ...
libqpdf/QPDFAnnotationObjectHelper.cc
... ... @@ -80,19 +80,66 @@ QPDFAnnotationObjectHelper::getAppearanceStream(
80 80 }
81 81  
82 82 std::string
83   -QPDFAnnotationObjectHelper::getAnnotationAppearanceMatrix(int rotate)
  83 +QPDFAnnotationObjectHelper::getPageContentForAppearance(
  84 + std::string const& name, int rotate)
84 85 {
85   - // The appearance matrix is the transformation in effect when
86   - // rendering an appearance stream's content. The appearance stream
87   - // itself is a form XObject, which has a /BBox and an optional
88   - // /Matrix. The /BBox describes the bounding box of the annotation
89   - // in unrotated page coordinates. /Matrix may be applied to the
90   - // bounding box to transform the bounding box. The effect of this
91   - // is that the transformed box is still fit within the area the
92   - // annotation designates in its /Rect field.
  86 + if (! getAppearanceStream("/N").isStream())
  87 + {
  88 + return "";
  89 + }
  90 +
  91 + // The appearance matrix computed by this method is the
  92 + // transformation matrix that needs to be in effect when drawing
  93 + // this annotation's appearance stream on the page. The algorithm
  94 + // for computing the appearance matrix described in section 12.5.5
  95 + // of the ISO-32000 PDF spec is similar but not identical to what
  96 + // we are doing here.
  97 +
  98 + // When rendering an appearance stream associated with an
  99 + // annotation, there are four relevant components:
  100 + //
  101 + // * The appearance stream's bounding box (/BBox)
  102 + // * The appearance stream's matrix (/Matrix)
  103 + // * The annotation's rectangle (/Rect)
  104 + // * In the case of form fields with the NoRotate flag, the
  105 + // page's rotation
  106 +
  107 + // When rendering a form xobject in isolation, just drawn with a
  108 + // /Do operator, the is no form field, so page rotation is not
  109 + // relevant, and there is no annotation, so /Rect is not relevant,
  110 + // so only /BBox and /Matrix are relevant. The effect of these are
  111 + // as follows:
  112 +
  113 + // * /BBox is treated as a clipping region
  114 + // * /Matrix is applied as a transformation prior to rendering the
  115 + // appearance stream.
  116 +
  117 + // There is no relationship between /BBox and /Matrix in this
  118 + // case.
  119 +
  120 + // When rendering a form xobject in the context of an annotation,
  121 + // things are a little different. In particular, a matrix is
  122 + // established such that /BBox, when transformed by /Matrix, would
  123 + // fit completely inside of /Rect. /BBox is no longer a clipping
  124 + // region. To illustrate the difference, consider a /Matrix of
  125 + // [2 0 0 2 0 0], which is scaling by a factor of two along both
  126 + // axes. If the appearance stream drew a rectangle equal to /BBox,
  127 + // in the case of the form xobject in isolation, this matrix would
  128 + // cause only the lower-left quadrant of the rectangle to be
  129 + // visible since the scaling would cause the rest of it to fall
  130 + // outside of the clipping region. In the case of the form xobject
  131 + // displayed in the context of an annotation, such a matrix would
  132 + // have no effect at all because it would be applied to the
  133 + // bounding box first, and then when the resulting enclosing
  134 + // quadrilateral was transformed to fit into /Rect, the effect of
  135 + // the scaling would be undone.
  136 +
  137 + // Our job is to create a transformation matrix that compensates
  138 + // for these differences so that the appearance stream of an
  139 + // annotation can be drawn as a regular form xobject.
93 140  
94   - // The algorithm for computing the appearance matrix described in
95   - // section 12.5.5 of the ISO-32000 PDF spec. It is as follows:
  141 + // To do this, we perform the following steps, which overlap
  142 + // significantly with the algorithm in 12.5.5:
96 143  
97 144 // 1. Transform the four corners of /BBox by applying /Matrix to
98 145 // them, creating an arbitrarily transformed quadrilateral.
... ... @@ -103,38 +150,22 @@ QPDFAnnotationObjectHelper::getAnnotationAppearanceMatrix(int rotate)
103 150  
104 151 // 3. Compute matrix A that maps the lower left and upper right
105 152 // corners of T to the annotation's /Rect. This can be done by
106   - // translating the lower left corner and then scaling so that
107   - // the upper right corner also matches.
  153 + // scaling so that the sizes match and translating so that the
  154 + // scaled T exactly overlaps /Rect.
108 155  
109   - // 4. Concatenate /Matrix to A to get matrix AA. This matrix
110   - // translates from appearance stream coordinates to page
111   - // coordinates.
  156 + // If the annotation's /F flag has bit 4 set, this means that
  157 + // annotation is to be rotated about its upper left corner to
  158 + // counteract any rotation of the page so it remains upright. To
  159 + // achieve this effect, we do the following extra steps:
112 160  
113   - // If the annotation's /F flag has bit 4 set, we modify the matrix
114   - // to also rotate the annotation in the opposite direction, and we
115   - // adjust the destination rectangle by rotating it about the upper
116   - // left hand corner so that the annotation will appear upright on
117   - // the rotated page.
  161 + // 1. Perform the rotation on /BBox box prior to transforming it
  162 + // with /Matrix (by replacing matrix with concatenation of
  163 + // matrix onto the rotation)
118 164  
119   - // You can see that the above algorithm works by imagining the
120   - // following:
  165 + // 2. Rotate the destination rectangle by the specified amount
121 166  
122   - // * In the simple case of where /BBox = /Rect and /Matrix is the
123   - // identity matrix, the transformed quadrilateral in step 1 will
124   - // be the bounding box. Since the bounding box is upright, T
125   - // will be the bounding box. Since /BBox = /Rect, matrix A is
126   - // the identity matrix, and matrix AA in step 4 is also the
127   - // identity matrix.
128   - //
129   - // * Imagine that the rectangle is different from the bounding
130   - // box. In this case, matrix A just transforms the bounding box
131   - // to the rectangle by scaling and translating, effectively
132   - // squeezing or stretching it into /Rect.
133   - //
134   - // * Imagine that /Matrix rotates the annotation by 30 degrees.
135   - // The transformed bounding box would stick out, and T would be
136   - // too big. In this case, matrix A shrinks T down until it fits
137   - // in /Rect.
  167 + // 3. Apply the rotation to A as computed above to get the final
  168 + // appearance matrix.
138 169  
139 170 QPDFObjectHandle rect_obj = this->oh.getKey("/Rect");
140 171 QPDFObjectHandle flags = this->oh.getKey("/F");
... ... @@ -157,7 +188,9 @@ QPDFAnnotationObjectHelper::getAnnotationAppearanceMatrix(int rotate)
157 188 QTC::TC("qpdf", "QPDFAnnotationObjectHelper default matrix");
158 189 }
159 190 QPDFObjectHandle::Rectangle rect = rect_obj.getArrayAsRectangle();
160   - if (rotate && flags.isInteger() && (flags.getIntValue() & 16))
  191 + bool do_rotate = (rotate && flags.isInteger() &&
  192 + (flags.getIntValue() & 16));
  193 + if (do_rotate)
161 194 {
162 195 // If the the annotation flags include the NoRotate bit and
163 196 // the page is rotated, we have to rotate the annotation about
... ... @@ -229,39 +262,15 @@ QPDFAnnotationObjectHelper::getAnnotationAppearanceMatrix(int rotate)
229 262 AA.scale((rect.urx - rect.llx) / (t_urx - t_llx),
230 263 (rect.ury - rect.lly) / (t_ury - t_lly));
231 264 AA.translate(-t_llx, -t_lly);
232   - // Concatenate the user-specified matrix
233   - AA.concat(matrix);
234   - return AA.unparse();
235   -}
236   -
237   -std::string
238   -QPDFAnnotationObjectHelper::getPageContentForAppearance(int rotate)
239   -{
240   - QPDFObjectHandle as = getAppearanceStream("/N");
241   - if (! (as.isStream() && as.getDict().getKey("/BBox").isRectangle()))
  265 + if (do_rotate)
242 266 {
243   - return "";
  267 + AA.rotatex90(rotate);
244 268 }
245 269  
246   - QPDFObjectHandle::Rectangle rect =
247   - as.getDict().getKey("/BBox").getArrayAsRectangle();
248   - std::string cm = getAnnotationAppearanceMatrix(rotate);
249   - if (cm.empty())
250   - {
251   - return "";
252   - }
253   - std::string as_content = (
  270 + as.replaceKey("/Subtype", QPDFObjectHandle::newName("/Form"));
  271 + return (
254 272 "q\n" +
255   - cm + " cm\n" +
256   - QUtil::double_to_string(rect.llx, 5) + " " +
257   - QUtil::double_to_string(rect.lly, 5) + " " +
258   - QUtil::double_to_string(rect.urx - rect.llx, 5) + " " +
259   - QUtil::double_to_string(rect.ury - rect.lly, 5) + " " +
260   - "re W n\n");
261   - PointerHolder<Buffer> buf = as.getStreamData(qpdf_dl_all);
262   - as_content += std::string(
263   - reinterpret_cast<char *>(buf->getBuffer()),
264   - buf->getSize());
265   - as_content += "\nQ\n";
266   - return as_content;
  273 + AA.unparse() + " cm\n" +
  274 + name + " Do\n" +
  275 + "Q\n");
267 276 }
... ...
libqpdf/QPDFObjectHandle.cc
... ... @@ -826,23 +826,8 @@ QPDFObjectHandle::isOrHasName(std::string const&amp; value)
826 826 }
827 827  
828 828 void
829   -QPDFObjectHandle::mergeDictionary(QPDFObjectHandle other)
  829 +QPDFObjectHandle::mergeResources(QPDFObjectHandle other)
830 830 {
831   - std::set<QPDFObjGen> visiting;
832   - mergeDictionaryInternal(other, visiting, 0);
833   -}
834   -
835   -void
836   -QPDFObjectHandle::mergeDictionaryInternal(
837   - QPDFObjectHandle other,
838   - std::set<QPDFObjGen>& visiting,
839   - int depth)
840   -{
841   - if (depth > 100)
842   - {
843   - // Arbitrarily limit depth to avoid stack overflow
844   - return;
845   - }
846 831 if (! (isDictionary() && other.isDictionary()))
847 832 {
848 833 QTC::TC("qpdf", "QPDFObjectHandle merge top type mismatch");
... ... @@ -859,33 +844,22 @@ QPDFObjectHandle::mergeDictionaryInternal(
859 844 QPDFObjectHandle this_val = getKey(key);
860 845 if (this_val.isDictionary() && other_val.isDictionary())
861 846 {
862   - if (this_val.isIndirect() && other_val.isIndirect() &&
863   - (this_val.getObjGen() == other_val.getObjGen()))
  847 + if (this_val.isIndirect())
864 848 {
865   - QTC::TC("qpdf", "QPDFObjectHandle merge equal indirect");
  849 + QTC::TC("qpdf", "QPDFObjectHandle replace with copy");
  850 + this_val = this_val.shallowCopy();
  851 + replaceKey(key, this_val);
866 852 }
867   - else if (this_val.isIndirect() &&
868   - (visiting.count(this_val.getObjGen())))
  853 + std::set<std::string> other_val_keys = other_val.getKeys();
  854 + for (std::set<std::string>::iterator i2 =
  855 + other_val_keys.begin();
  856 + i2 != other_val_keys.end(); ++i2)
869 857 {
870   - QTC::TC("qpdf", "QPDFObjectHandle merge loop");
871   - }
872   - else
873   - {
874   - QPDFObjGen loop;
875   - if (this_val.isIndirect())
  858 + if (! this_val.hasKey(*i2))
876 859 {
877   - loop = this_val.getObjGen();
878   - visiting.insert(loop);
879 860 QTC::TC("qpdf", "QPDFObjectHandle merge shallow copy");
880   - this_val = this_val.shallowCopy();
881   - replaceKey(key, this_val);
882   - }
883   - QTC::TC("qpdf", "QPDFObjectHandle nested merge");
884   - this_val.mergeDictionaryInternal(
885   - other_val, visiting, 1 + depth);
886   - if (loop.getObj())
887   - {
888   - visiting.erase(loop);
  861 + this_val.replaceKey(
  862 + *i2, other_val.getKey(*i2).shallowCopy());
889 863 }
890 864 }
891 865 }
... ... @@ -923,9 +897,37 @@ QPDFObjectHandle::mergeDictionaryInternal(
923 897 else
924 898 {
925 899 QTC::TC("qpdf", "QPDFObjectHandle merge copy from other");
926   - replaceKey(key, other_val);
  900 + replaceKey(key, other_val.shallowCopy());
  901 + }
  902 + }
  903 +}
  904 +
  905 +std::set<std::string>
  906 +QPDFObjectHandle::getResourceNames()
  907 +{
  908 + // Return second-level dictionary keys
  909 + std::set<std::string> result;
  910 + if (! isDictionary())
  911 + {
  912 + return result;
  913 + }
  914 + std::set<std::string> keys = getKeys();
  915 + for (std::set<std::string>::iterator iter = keys.begin();
  916 + iter != keys.end(); ++iter)
  917 + {
  918 + std::string const& key = *iter;
  919 + QPDFObjectHandle val = getKey(key);
  920 + if (val.isDictionary())
  921 + {
  922 + std::set<std::string> val_keys = val.getKeys();
  923 + for (std::set<std::string>::iterator i2 = val_keys.begin();
  924 + i2 != val_keys.end(); ++i2)
  925 + {
  926 + result.insert(*i2);
  927 + }
927 928 }
928 929 }
  930 + return result;
929 931 }
930 932  
931 933 // Indirect object accessors
... ...
libqpdf/QPDFPageDocumentHelper.cc
1 1 #include <qpdf/QPDFPageDocumentHelper.hh>
2 2 #include <qpdf/QPDFAcroFormDocumentHelper.hh>
  3 +#include <qpdf/QUtil.hh>
3 4 #include <qpdf/QTC.hh>
4 5  
5 6 QPDFPageDocumentHelper::Members::~Members()
... ... @@ -121,6 +122,7 @@ QPDFPageDocumentHelper::flattenAnnotationsForPage(
121 122 {
122 123 rotate = rotate_obj.getIntValue();
123 124 }
  125 + int next_fx = 1;
124 126 for (std::vector<QPDFAnnotationObjectHelper>::iterator iter =
125 127 annots.begin();
126 128 iter != annots.end(); ++iter)
... ... @@ -140,18 +142,50 @@ QPDFPageDocumentHelper::flattenAnnotationsForPage(
140 142 }
141 143 if (process)
142 144 {
143   - resources.mergeDictionary(as.getDict().getKey("/Resources"));
144 145 if (is_widget)
145 146 {
146 147 QTC::TC("qpdf", "QPDFPageDocumentHelper merge DR");
147 148 QPDFFormFieldObjectHelper ff = afdh.getFieldForAnnotation(aoh);
148   - resources.mergeDictionary(ff.getInheritableFieldValue("/DR"));
  149 + QPDFObjectHandle as_resources =
  150 + as.getDict().getKey("/Resources");
  151 + if (as_resources.isIndirect())
  152 + {
  153 + QTC::TC("qpdf", "QPDFPageDocumentHelper indirect as resources");
  154 + as.getDict().replaceKey(
  155 + "/Resources", as_resources.shallowCopy());
  156 + as_resources = as.getDict().getKey("/Resources");
  157 + }
  158 + as_resources.mergeResources(
  159 + ff.getInheritableFieldValue("/DR"));
149 160 }
150 161 else
151 162 {
152 163 QTC::TC("qpdf", "QPDFPageDocumentHelper non-widget annotation");
153 164 }
154   - new_content += aoh.getPageContentForAppearance(rotate);
  165 + std::set<std::string> names = resources.getResourceNames();
  166 + std::string name;
  167 + while (next_fx < 1000000)
  168 + {
  169 + std::string candidate = "/Fxo" + QUtil::int_to_string(next_fx);
  170 + ++next_fx;
  171 + if (names.count(candidate) == 0)
  172 + {
  173 + name = candidate;
  174 + break;
  175 + }
  176 + }
  177 + if (name.empty())
  178 + {
  179 + // There are already more than a million /Fxo names.
  180 + // Somehow I doubt this is going to actually happen.
  181 + // Just pick a name and forget conflicts.
  182 + name = "/FxConflict";
  183 + }
  184 + resources.mergeResources(
  185 + QPDFObjectHandle::parse(
  186 + "<< /XObject << " + name + " null >> >>"));
  187 + resources.getKey("/XObject").replaceKey(name, as);
  188 + new_content += aoh.getPageContentForAppearance(name, rotate);
155 189 }
156 190 else
157 191 {
... ...
qpdf/qpdf.testcov
... ... @@ -371,12 +371,9 @@ qpdf required parameter 0
371 371 qpdf required choices 0
372 372 QPDFObjectHandle merge top type mismatch 0
373 373 QPDFObjectHandle merge shallow copy 0
374   -QPDFObjectHandle nested merge 0
375 374 QPDFObjectHandle merge array 0
376 375 QPDFObjectHandle merge array dup 0
377 376 QPDFObjectHandle merge copy from other 0
378   -QPDFObjectHandle merge loop 0
379   -QPDFObjectHandle merge equal indirect 0
380 377 QPDFAnnotationObjectHelper explicit matrix 0
381 378 QPDFAnnotationObjectHelper default matrix 0
382 379 QPDFAnnotationObjectHelper rotate 90 0
... ... @@ -389,3 +386,5 @@ QPDFPageDocumentHelper non-widget annotation 0
389 386 QPDFPageDocumentHelper remove annots 0
390 387 QPDFPageDocumentHelper replace indirect annots 0
391 388 QPDFPageDocumentHelper replace direct annots 0
  389 +QPDFObjectHandle replace with copy 0
  390 +QPDFPageDocumentHelper indirect as resources 0
... ...
qpdf/qtest/qpdf/comment-annotation-direct-out.pdf
... ... @@ -38,19 +38,13 @@ endobj
38 38 ]
39 39 /Parent 2 0 R
40 40 /Resources <<
41   - /ExtGState <<
42   - /GS0 <<
43   - /AIS false
44   - /BM /Normal
45   - /CA .6
46   - /Type /ExtGState
47   - /ca .6
48   - >>
49   - >>
50 41 /Font <<
51 42 /F1 11 0 R
52 43 >>
53 44 /ProcSet 12 0 R
  45 + /XObject <<
  46 + /Fxo1 13 0 R
  47 + >>
54 48 >>
55 49 /Type /Page
56 50 >>
... ... @@ -60,7 +54,7 @@ endobj
60 54 <<
61 55 /F 28
62 56 /Open false
63   - /Parent 13 0 R
  57 + /Parent 15 0 R
64 58 /Rect [
65 59 612
66 60 601
... ... @@ -114,14 +108,13 @@ stream
114 108 Q
115 109 q
116 110 1.00000 0.00000 0.00000 1.00000 235.00000 703.00000 cm
117   -0.00000 0.00000 18.00000 18.00000 re W n
118   -q 1 1 1 rg 0 i 1 w 4 M 1 j 0 J []0 d /GS0 gs 1 0 0 1 9 5.0908 cm 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c h f Q 0 G 1 1 0 rg 0 i 0.60 w 4 M 1 j 0 J []0 d 1 1 0 rg 0 G 0 i 0.59 w 4 M 1 j 0 J []0 d 1 0 0 1 9 5.0908 cm 0 0 m -0.142 0 -0.28 0.008 -0.418 0.015 c -2.199 -1.969 -5.555 -2.242 -4.642 -1.42 c -4.024 -0.862 -3.916 0.111 -3.954 0.916 c -5.658 1.795 -6.772 3.222 -6.772 4.839 c -6.772 7.509 -3.74 9.674 0 9.674 c 3.74 9.674 6.772 7.509 6.772 4.839 c 6.772 2.167 3.74 0 0 0 c 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c b
  111 +/Fxo1 Do
119 112 Q
120 113 endstream
121 114 endobj
122 115  
123 116 10 0 obj
124   -1032
  117 +71
125 118 endobj
126 119  
127 120 11 0 obj
... ... @@ -143,36 +136,6 @@ endobj
143 136  
144 137 13 0 obj
145 138 <<
146   - /AP <<
147   - /N 14 0 R
148   - >>
149   - /C [
150   - 1
151   - 1
152   - 0
153   - ]
154   - /CA 1
155   - /Contents (Salad)
156   - /CreationDate (D:20181231235455Z00'00)
157   - /F 28
158   - /M (D:20181231235455Z00'00)
159   - /Name /Comment
160   - /P 3 0 R
161   - /Popup 4 0 R
162   - /Rect [
163   - 235
164   - 703
165   - 253
166   - 721
167   - ]
168   - /Subtype /Text
169   - /T (Jay Berkenbilt)
170   - /Type /Annot
171   ->>
172   -endobj
173   -
174   -14 0 obj
175   -<<
176 139 /BBox [
177 140 0
178 141 0
... ... @@ -192,7 +155,7 @@ endobj
192 155 >>
193 156 /Subtype /Form
194 157 /Type /XObject
195   - /Length 15 0 R
  158 + /Length 14 0 R
196 159 >>
197 160 stream
198 161 q 1 1 1 rg 0 i 1 w 4 M 1 j 0 J []0 d /GS0 gs 1 0 0 1 9 5.0908 cm 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c h f Q 0 G 1 1 0 rg 0 i 0.60 w 4 M 1 j 0 J []0 d 1 1 0 rg 0 G 0 i 0.59 w 4 M 1 j 0 J []0 d 1 0 0 1 9 5.0908 cm 0 0 m -0.142 0 -0.28 0.008 -0.418 0.015 c -2.199 -1.969 -5.555 -2.242 -4.642 -1.42 c -4.024 -0.862 -3.916 0.111 -3.954 0.916 c -5.658 1.795 -6.772 3.222 -6.772 4.839 c -6.772 7.509 -3.74 9.674 0 9.674 c 3.74 9.674 6.772 7.509 6.772 4.839 c 6.772 2.167 3.74 0 0 0 c 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c b
... ... @@ -200,33 +163,63 @@ endstream
200 163 endobj
201 164  
202 165 %QDF: ignore_newline
203   -15 0 obj
  166 +14 0 obj
204 167 928
205 168 endobj
206 169  
  170 +15 0 obj
  171 +<<
  172 + /AP <<
  173 + /N 13 0 R
  174 + >>
  175 + /C [
  176 + 1
  177 + 1
  178 + 0
  179 + ]
  180 + /CA 1
  181 + /Contents (Salad)
  182 + /CreationDate (D:20181231235455Z00'00)
  183 + /F 28
  184 + /M (D:20181231235455Z00'00)
  185 + /Name /Comment
  186 + /P 3 0 R
  187 + /Popup 4 0 R
  188 + /Rect [
  189 + 235
  190 + 703
  191 + 253
  192 + 721
  193 + ]
  194 + /Subtype /Text
  195 + /T (Jay Berkenbilt)
  196 + /Type /Annot
  197 +>>
  198 +endobj
  199 +
207 200 xref
208 201 0 16
209 202 0000000000 65535 f
210 203 0000000025 00000 n
211 204 0000000079 00000 n
212 205 0000000161 00000 n
213   -0000000553 00000 n
214   -0000000716 00000 n
215   -0000000773 00000 n
216   -0000000814 00000 n
217   -0000000913 00000 n
218   -0000000955 00000 n
219   -0000002043 00000 n
220   -0000002065 00000 n
221   -0000002184 00000 n
222   -0000002220 00000 n
223   -0000002550 00000 n
224   -0000003794 00000 n
  206 +0000000453 00000 n
  207 +0000000616 00000 n
  208 +0000000673 00000 n
  209 +0000000714 00000 n
  210 +0000000813 00000 n
  211 +0000000855 00000 n
  212 +0000000982 00000 n
  213 +0000001002 00000 n
  214 +0000001121 00000 n
  215 +0000001157 00000 n
  216 +0000002401 00000 n
  217 +0000002422 00000 n
225 218 trailer <<
226 219 /Root 1 0 R
227 220 /Size 16
228 221 /ID [<c5b1999a07a3fdcd0c04cfeed299c25a><31415926535897932384626433832795>]
229 222 >>
230 223 startxref
231   -3815
  224 +2752
232 225 %%EOF
... ...
qpdf/qtest/qpdf/comment-annotation-out.pdf
... ... @@ -36,19 +36,13 @@ endobj
36 36 ]
37 37 /Parent 2 0 R
38 38 /Resources <<
39   - /ExtGState <<
40   - /GS0 <<
41   - /AIS false
42   - /BM /Normal
43   - /CA .6
44   - /Type /ExtGState
45   - /ca .6
46   - >>
47   - >>
48 39 /Font <<
49 40 /F1 11 0 R
50 41 >>
51 42 /ProcSet 12 0 R
  43 + /XObject <<
  44 + /Fxo1 13 0 R
  45 + >>
52 46 >>
53 47 /Type /Page
54 48 >>
... ... @@ -56,7 +50,7 @@ endobj
56 50  
57 51 4 0 obj
58 52 [
59   - 13 0 R
  53 + 15 0 R
60 54 ]
61 55 endobj
62 56  
... ... @@ -102,14 +96,13 @@ stream
102 96 Q
103 97 q
104 98 1.00000 0.00000 0.00000 1.00000 235.00000 703.00000 cm
105   -0.00000 0.00000 18.00000 18.00000 re W n
106   -q 1 1 1 rg 0 i 1 w 4 M 1 j 0 J []0 d /GS0 gs 1 0 0 1 9 5.0908 cm 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c h f Q 0 G 1 1 0 rg 0 i 0.60 w 4 M 1 j 0 J []0 d 1 1 0 rg 0 G 0 i 0.59 w 4 M 1 j 0 J []0 d 1 0 0 1 9 5.0908 cm 0 0 m -0.142 0 -0.28 0.008 -0.418 0.015 c -2.199 -1.969 -5.555 -2.242 -4.642 -1.42 c -4.024 -0.862 -3.916 0.111 -3.954 0.916 c -5.658 1.795 -6.772 3.222 -6.772 4.839 c -6.772 7.509 -3.74 9.674 0 9.674 c 3.74 9.674 6.772 7.509 6.772 4.839 c 6.772 2.167 3.74 0 0 0 c 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c b
  99 +/Fxo1 Do
107 100 Q
108 101 endstream
109 102 endobj
110 103  
111 104 10 0 obj
112   -1032
  105 +71
113 106 endobj
114 107  
115 108 11 0 obj
... ... @@ -131,9 +124,42 @@ endobj
131 124  
132 125 13 0 obj
133 126 <<
  127 + /BBox [
  128 + 0
  129 + 0
  130 + 18
  131 + 18
  132 + ]
  133 + /Resources <<
  134 + /ExtGState <<
  135 + /GS0 <<
  136 + /AIS false
  137 + /BM /Normal
  138 + /CA .6
  139 + /Type /ExtGState
  140 + /ca .6
  141 + >>
  142 + >>
  143 + >>
  144 + /Subtype /Form
  145 + /Type /XObject
  146 + /Length 14 0 R
  147 +>>
  148 +stream
  149 +q 1 1 1 rg 0 i 1 w 4 M 1 j 0 J []0 d /GS0 gs 1 0 0 1 9 5.0908 cm 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c h f Q 0 G 1 1 0 rg 0 i 0.60 w 4 M 1 j 0 J []0 d 1 1 0 rg 0 G 0 i 0.59 w 4 M 1 j 0 J []0 d 1 0 0 1 9 5.0908 cm 0 0 m -0.142 0 -0.28 0.008 -0.418 0.015 c -2.199 -1.969 -5.555 -2.242 -4.642 -1.42 c -4.024 -0.862 -3.916 0.111 -3.954 0.916 c -5.658 1.795 -6.772 3.222 -6.772 4.839 c -6.772 7.509 -3.74 9.674 0 9.674 c 3.74 9.674 6.772 7.509 6.772 4.839 c 6.772 2.167 3.74 0 0 0 c 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c b
  150 +endstream
  151 +endobj
  152 +
  153 +%QDF: ignore_newline
  154 +14 0 obj
  155 +928
  156 +endobj
  157 +
  158 +15 0 obj
  159 +<<
134 160 /F 28
135 161 /Open false
136   - /Parent 14 0 R
  162 + /Parent 16 0 R
137 163 /Rect [
138 164 612
139 165 601
... ... @@ -145,10 +171,10 @@ endobj
145 171 >>
146 172 endobj
147 173  
148   -14 0 obj
  174 +16 0 obj
149 175 <<
150 176 /AP <<
151   - /N 15 0 R
  177 + /N 13 0 R
152 178 >>
153 179 /C [
154 180 1
... ... @@ -162,7 +188,7 @@ endobj
162 188 /M (D:20181231235455Z00'00)
163 189 /Name /Comment
164 190 /P 3 0 R
165   - /Popup 13 0 R
  191 + /Popup 15 0 R
166 192 /Rect [
167 193 235
168 194 703
... ... @@ -175,63 +201,30 @@ endobj
175 201 >>
176 202 endobj
177 203  
178   -15 0 obj
179   -<<
180   - /BBox [
181   - 0
182   - 0
183   - 18
184   - 18
185   - ]
186   - /Resources <<
187   - /ExtGState <<
188   - /GS0 <<
189   - /AIS false
190   - /BM /Normal
191   - /CA .6
192   - /Type /ExtGState
193   - /ca .6
194   - >>
195   - >>
196   - >>
197   - /Subtype /Form
198   - /Type /XObject
199   - /Length 16 0 R
200   ->>
201   -stream
202   -q 1 1 1 rg 0 i 1 w 4 M 1 j 0 J []0 d /GS0 gs 1 0 0 1 9 5.0908 cm 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c h f Q 0 G 1 1 0 rg 0 i 0.60 w 4 M 1 j 0 J []0 d 1 1 0 rg 0 G 0 i 0.59 w 4 M 1 j 0 J []0 d 1 0 0 1 9 5.0908 cm 0 0 m -0.142 0 -0.28 0.008 -0.418 0.015 c -2.199 -1.969 -5.555 -2.242 -4.642 -1.42 c -4.024 -0.862 -3.916 0.111 -3.954 0.916 c -5.658 1.795 -6.772 3.222 -6.772 4.839 c -6.772 7.509 -3.74 9.674 0 9.674 c 3.74 9.674 6.772 7.509 6.772 4.839 c 6.772 2.167 3.74 0 0 0 c 7.74 12.616 m -7.74 12.616 l -8.274 12.616 -8.707 12.184 -8.707 11.649 c -8.707 -3.831 l -8.707 -4.365 -8.274 -4.798 -7.74 -4.798 c 7.74 -4.798 l 8.274 -4.798 8.707 -4.365 8.707 -3.831 c 8.707 11.649 l 8.707 12.184 8.274 12.616 7.74 12.616 c b
203   -endstream
204   -endobj
205   -
206   -%QDF: ignore_newline
207   -16 0 obj
208   -928
209   -endobj
210   -
211 204 xref
212 205 0 17
213 206 0000000000 65535 f
214 207 0000000025 00000 n
215 208 0000000079 00000 n
216 209 0000000161 00000 n
217   -0000000543 00000 n
218   -0000000595 00000 n
219   -0000000652 00000 n
220   -0000000693 00000 n
221   -0000000792 00000 n
222   -0000000834 00000 n
223   -0000001922 00000 n
224   -0000001944 00000 n
225   -0000002063 00000 n
226   -0000002099 00000 n
227   -0000002240 00000 n
228   -0000002571 00000 n
229   -0000003815 00000 n
  210 +0000000443 00000 n
  211 +0000000495 00000 n
  212 +0000000552 00000 n
  213 +0000000593 00000 n
  214 +0000000692 00000 n
  215 +0000000734 00000 n
  216 +0000000861 00000 n
  217 +0000000881 00000 n
  218 +0000001000 00000 n
  219 +0000001036 00000 n
  220 +0000002280 00000 n
  221 +0000002301 00000 n
  222 +0000002442 00000 n
230 223 trailer <<
231 224 /Root 1 0 R
232 225 /Size 17
233 226 /ID [<c5b1999a07a3fdcd0c04cfeed299c25a><31415926535897932384626433832795>]
234 227 >>
235 228 startxref
236   -3836
  229 +2773
237 230 %%EOF
... ...
qpdf/qtest/qpdf/form-field-types-out.pdf
No preview for this file type
qpdf/qtest/qpdf/form-filled-by-acrobat-out.pdf
No preview for this file type
qpdf/qtest/qpdf/manual-appearances-out.pdf
... ... @@ -55,6 +55,11 @@ endobj
55 55 /PDF
56 56 /Text
57 57 ]
  58 + /XObject <<
  59 + /Fxo1 13 0 R
  60 + /Fxo2 15 0 R
  61 + /Fxo3 17 0 R
  62 + >>
58 63 >>
59 64 /StructParents 0
60 65 /Type /Page
... ... @@ -66,14 +71,14 @@ endobj
66 71 /Count 9
67 72 /Kids [
68 73 3 0 R
69   - 13 0 R
70   - 14 0 R
71   - 15 0 R
72   - 16 0 R
73   - 17 0 R
74   - 18 0 R
75 74 19 0 R
76 75 20 0 R
  76 + 21 0 R
  77 + 22 0 R
  78 + 23 0 R
  79 + 24 0 R
  80 + 25 0 R
  81 + 26 0 R
77 82 ]
78 83 /Type /Pages
79 84 >>
... ... @@ -82,9 +87,9 @@ endobj
82 87 5 0 obj
83 88 <<
84 89 /K [
85   - 21 0 R
  90 + 27 0 R
86 91 ]
87   - /ParentTree 22 0 R
  92 + /ParentTree 28 0 R
88 93 /RoleMap <<
89 94 /Document /Document
90 95 /Standard /P
... ... @@ -148,7 +153,49 @@ stream
148 153 Q
149 154 q
150 155 1.00003 0.00000 0.00000 0.99996 129.84900 651.15100 cm
151   -0.00000 0.00000 67.30000 50.95000 re W n
  156 +/Fxo1 Do
  157 +Q
  158 +q
  159 +1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
  160 +/Fxo2 Do
  161 +Q
  162 +q
  163 +1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
  164 +/Fxo3 Do
  165 +Q
  166 +endstream
  167 +endobj
  168 +
  169 +11 0 obj
  170 +207
  171 +endobj
  172 +
  173 +12 0 obj
  174 +<<
  175 +>>
  176 +endobj
  177 +
  178 +13 0 obj
  179 +<<
  180 + /BBox [
  181 + 0
  182 + 0
  183 + 67.3
  184 + 50.95
  185 + ]
  186 + /Resources <<
  187 + /Font <<
  188 + >>
  189 + /ProcSet [
  190 + /PDF
  191 + /Text
  192 + ]
  193 + >>
  194 + /Subtype /Form
  195 + /Type /XObject
  196 + /Length 14 0 R
  197 +>>
  198 +stream
152 199 q
153 200 60 r
154 201 1 0 0 RG
... ... @@ -157,23 +204,76 @@ q
157 204 0 1 0 RG
158 205 5 5 15 15 re s
159 206 Q
  207 +endstream
  208 +endobj
160 209  
161   -Q
162   -q
163   -1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
164   -0.00000 0.00000 103.45000 53.00000 re W n
  210 +14 0 obj
  211 +66
  212 +endobj
  213 +
  214 +15 0 obj
  215 +<<
  216 + /BBox [
  217 + 0
  218 + 0
  219 + 103.45
  220 + 53
  221 + ]
  222 + /Resources <<
  223 + /Font <<
  224 + >>
  225 + /ProcSet [
  226 + /PDF
  227 + /Text
  228 + ]
  229 + >>
  230 + /Subtype /Form
  231 + /Type /XObject
  232 + /Length 16 0 R
  233 +>>
  234 +stream
165 235 q
166 236 0 1 0 RG
167 237 5 w
168 238 0 0 103.45 53 re s
169 239 0 0 1 RG
170 240 5 5 15 15 re s
  241 +1 w
  242 +1 0 0 RG
  243 +-10 25 m
  244 +113.45 25 l
  245 +52 -10 m
  246 +52 63 l
  247 +s
171 248 Q
  249 +endstream
  250 +endobj
172 251  
173   -Q
174   -q
175   -1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
176   -0.00000 0.00000 72.80000 98.00000 re W n
  252 +16 0 obj
  253 +113
  254 +endobj
  255 +
  256 +17 0 obj
  257 +<<
  258 + /BBox [
  259 + 0
  260 + 0
  261 + 72.8
  262 + 98
  263 + ]
  264 + /Resources <<
  265 + /Font <<
  266 + >>
  267 + /ProcSet [
  268 + /PDF
  269 + /Text
  270 + ]
  271 + >>
  272 + /Subtype /Form
  273 + /Type /XObject
  274 + /Length 18 0 R
  275 +>>
  276 +stream
177 277 q
178 278 0 0 1 RG
179 279 5 w
... ... @@ -181,27 +281,20 @@ q
181 281 1 0 0 RG
182 282 5 5 15 15 re s
183 283 Q
184   -
185   -Q
186 284 endstream
187 285 endobj
188 286  
189   -11 0 obj
190   -491
191   -endobj
192   -
193   -12 0 obj
194   -<<
195   ->>
  287 +18 0 obj
  288 +58
196 289 endobj
197 290  
198 291 %% Page 2
199   -13 0 obj
  292 +19 0 obj
200 293 <<
201 294 /Contents [
202   - 23 0 R
203   - 25 0 R
204   - 27 0 R
  295 + 29 0 R
  296 + 31 0 R
  297 + 33 0 R
205 298 ]
206 299 /Group <<
207 300 /CS /DeviceRGB
... ... @@ -216,11 +309,16 @@ endobj
216 309 ]
217 310 /Parent 4 0 R
218 311 /Resources <<
219   - /Font 29 0 R
  312 + /Font 35 0 R
220 313 /ProcSet [
221 314 /PDF
222 315 /Text
223 316 ]
  317 + /XObject <<
  318 + /Fxo1 36 0 R
  319 + /Fxo2 38 0 R
  320 + /Fxo3 40 0 R
  321 + >>
224 322 >>
225 323 /Rotate 90
226 324 /StructParents 0
... ... @@ -229,12 +327,12 @@ endobj
229 327 endobj
230 328  
231 329 %% Page 3
232   -14 0 obj
  330 +20 0 obj
233 331 <<
234 332 /Contents [
235   - 30 0 R
236   - 32 0 R
237   - 34 0 R
  333 + 42 0 R
  334 + 44 0 R
  335 + 46 0 R
238 336 ]
239 337 /Group <<
240 338 /CS /DeviceRGB
... ... @@ -249,11 +347,16 @@ endobj
249 347 ]
250 348 /Parent 4 0 R
251 349 /Resources <<
252   - /Font 36 0 R
  350 + /Font 48 0 R
253 351 /ProcSet [
254 352 /PDF
255 353 /Text
256 354 ]
  355 + /XObject <<
  356 + /Fxo1 49 0 R
  357 + /Fxo2 51 0 R
  358 + /Fxo3 53 0 R
  359 + >>
257 360 >>
258 361 /StructParents 0
259 362 /Type /Page
... ... @@ -261,12 +364,12 @@ endobj
261 364 endobj
262 365  
263 366 %% Page 4
264   -15 0 obj
  367 +21 0 obj
265 368 <<
266 369 /Contents [
267   - 37 0 R
268   - 39 0 R
269   - 41 0 R
  370 + 55 0 R
  371 + 57 0 R
  372 + 59 0 R
270 373 ]
271 374 /Group <<
272 375 /CS /DeviceRGB
... ... @@ -281,11 +384,16 @@ endobj
281 384 ]
282 385 /Parent 4 0 R
283 386 /Resources <<
284   - /Font 43 0 R
  387 + /Font 61 0 R
285 388 /ProcSet [
286 389 /PDF
287 390 /Text
288 391 ]
  392 + /XObject <<
  393 + /Fxo1 62 0 R
  394 + /Fxo2 64 0 R
  395 + /Fxo3 66 0 R
  396 + >>
289 397 >>
290 398 /Rotate 90
291 399 /StructParents 0
... ... @@ -294,12 +402,12 @@ endobj
294 402 endobj
295 403  
296 404 %% Page 5
297   -16 0 obj
  405 +22 0 obj
298 406 <<
299 407 /Contents [
300   - 44 0 R
301   - 46 0 R
302   - 48 0 R
  408 + 68 0 R
  409 + 70 0 R
  410 + 72 0 R
303 411 ]
304 412 /Group <<
305 413 /CS /DeviceRGB
... ... @@ -314,11 +422,16 @@ endobj
314 422 ]
315 423 /Parent 4 0 R
316 424 /Resources <<
317   - /Font 50 0 R
  425 + /Font 74 0 R
318 426 /ProcSet [
319 427 /PDF
320 428 /Text
321 429 ]
  430 + /XObject <<
  431 + /Fxo1 75 0 R
  432 + /Fxo2 77 0 R
  433 + /Fxo3 79 0 R
  434 + >>
322 435 >>
323 436 /Rotate 180
324 437 /StructParents 0
... ... @@ -327,12 +440,12 @@ endobj
327 440 endobj
328 441  
329 442 %% Page 6
330   -17 0 obj
  443 +23 0 obj
331 444 <<
332 445 /Contents [
333   - 51 0 R
334   - 53 0 R
335   - 55 0 R
  446 + 81 0 R
  447 + 83 0 R
  448 + 85 0 R
336 449 ]
337 450 /Group <<
338 451 /CS /DeviceRGB
... ... @@ -347,11 +460,16 @@ endobj
347 460 ]
348 461 /Parent 4 0 R
349 462 /Resources <<
350   - /Font 57 0 R
  463 + /Font 87 0 R
351 464 /ProcSet [
352 465 /PDF
353 466 /Text
354 467 ]
  468 + /XObject <<
  469 + /Fxo1 88 0 R
  470 + /Fxo2 90 0 R
  471 + /Fxo3 92 0 R
  472 + >>
355 473 >>
356 474 /Rotate 90
357 475 /StructParents 0
... ... @@ -360,12 +478,12 @@ endobj
360 478 endobj
361 479  
362 480 %% Page 7
363   -18 0 obj
  481 +24 0 obj
364 482 <<
365 483 /Contents [
366   - 58 0 R
367   - 60 0 R
368   - 62 0 R
  484 + 94 0 R
  485 + 96 0 R
  486 + 98 0 R
369 487 ]
370 488 /Group <<
371 489 /CS /DeviceRGB
... ... @@ -380,11 +498,16 @@ endobj
380 498 ]
381 499 /Parent 4 0 R
382 500 /Resources <<
383   - /Font 64 0 R
  501 + /Font 100 0 R
384 502 /ProcSet [
385 503 /PDF
386 504 /Text
387 505 ]
  506 + /XObject <<
  507 + /Fxo1 101 0 R
  508 + /Fxo2 103 0 R
  509 + /Fxo3 105 0 R
  510 + >>
388 511 >>
389 512 /StructParents 0
390 513 /Type /Page
... ... @@ -392,12 +515,12 @@ endobj
392 515 endobj
393 516  
394 517 %% Page 8
395   -19 0 obj
  518 +25 0 obj
396 519 <<
397 520 /Contents [
398   - 65 0 R
399   - 67 0 R
400   - 69 0 R
  521 + 107 0 R
  522 + 109 0 R
  523 + 111 0 R
401 524 ]
402 525 /Group <<
403 526 /CS /DeviceRGB
... ... @@ -412,11 +535,16 @@ endobj
412 535 ]
413 536 /Parent 4 0 R
414 537 /Resources <<
415   - /Font 71 0 R
  538 + /Font 113 0 R
416 539 /ProcSet [
417 540 /PDF
418 541 /Text
419 542 ]
  543 + /XObject <<
  544 + /Fxo1 114 0 R
  545 + /Fxo2 116 0 R
  546 + /Fxo3 118 0 R
  547 + >>
420 548 >>
421 549 /Rotate 270
422 550 /StructParents 0
... ... @@ -425,12 +553,12 @@ endobj
425 553 endobj
426 554  
427 555 %% Page 9
428   -20 0 obj
  556 +26 0 obj
429 557 <<
430 558 /Contents [
431   - 72 0 R
432   - 74 0 R
433   - 76 0 R
  559 + 120 0 R
  560 + 122 0 R
  561 + 124 0 R
434 562 ]
435 563 /Group <<
436 564 /CS /DeviceRGB
... ... @@ -445,24 +573,29 @@ endobj
445 573 ]
446 574 /Parent 4 0 R
447 575 /Resources <<
448   - /Font 78 0 R
  576 + /Font 126 0 R
449 577 /ProcSet [
450 578 /PDF
451 579 /Text
452 580 ]
  581 + /XObject <<
  582 + /Fxo1 127 0 R
  583 + /Fxo2 129 0 R
  584 + /Fxo3 131 0 R
  585 + >>
453 586 >>
454 587 /StructParents 0
455 588 /Type /Page
456 589 >>
457 590 endobj
458 591  
459   -21 0 obj
  592 +27 0 obj
460 593 <<
461 594 /K [
462   - 79 0 R
463   - 80 0 R
464   - 81 0 R
465   - 82 0 R
  595 + 133 0 R
  596 + 134 0 R
  597 + 135 0 R
  598 + 136 0 R
466 599 ]
467 600 /P 5 0 R
468 601 /Pg 3 0 R
... ... @@ -471,37 +604,37 @@ endobj
471 604 >>
472 605 endobj
473 606  
474   -22 0 obj
  607 +28 0 obj
475 608 <<
476 609 /Nums [
477 610 0
478 611 [
479   - 80 0 R
480   - 81 0 R
481   - 82 0 R
  612 + 134 0 R
  613 + 135 0 R
  614 + 136 0 R
482 615 ]
483 616 ]
484 617 >>
485 618 endobj
486 619  
487 620 %% Contents for page 2
488   -23 0 obj
  621 +29 0 obj
489 622 <<
490   - /Length 24 0 R
  623 + /Length 30 0 R
491 624 >>
492 625 stream
493 626 q
494 627 endstream
495 628 endobj
496 629  
497   -24 0 obj
  630 +30 0 obj
498 631 2
499 632 endobj
500 633  
501 634 %% Contents for page 2
502   -25 0 obj
  635 +31 0 obj
503 636 <<
504   - /Length 26 0 R
  637 + /Length 32 0 R
505 638 >>
506 639 stream
507 640 0.1 w
... ... @@ -525,21 +658,63 @@ endstream
525 658 endobj
526 659  
527 660 %QDF: ignore_newline
528   -26 0 obj
  661 +32 0 obj
529 662 240
530 663 endobj
531 664  
532 665 %% Contents for page 2
533   -27 0 obj
  666 +33 0 obj
534 667 <<
535   - /Length 28 0 R
  668 + /Length 34 0 R
536 669 >>
537 670 stream
538 671  
539 672 Q
540 673 q
541 674 1.00003 0.00000 0.00000 0.99996 129.84900 651.15100 cm
542   -0.00000 0.00000 67.30000 50.95000 re W n
  675 +/Fxo1 Do
  676 +Q
  677 +q
  678 +1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
  679 +/Fxo2 Do
  680 +Q
  681 +q
  682 +0.00000 1.00003 -0.99998 0.00000 392.14700 528.24900 cm
  683 +/Fxo3 Do
  684 +Q
  685 +endstream
  686 +endobj
  687 +
  688 +34 0 obj
  689 +208
  690 +endobj
  691 +
  692 +35 0 obj
  693 +<<
  694 +>>
  695 +endobj
  696 +
  697 +36 0 obj
  698 +<<
  699 + /BBox [
  700 + 0
  701 + 0
  702 + 67.3
  703 + 50.95
  704 + ]
  705 + /Resources <<
  706 + /Font <<
  707 + >>
  708 + /ProcSet [
  709 + /PDF
  710 + /Text
  711 + ]
  712 + >>
  713 + /Subtype /Form
  714 + /Type /XObject
  715 + /Length 37 0 R
  716 +>>
  717 +stream
543 718 q
544 719 1 0 0 RG
545 720 5 w
... ... @@ -547,23 +722,76 @@ q
547 722 0 1 0 RG
548 723 5 5 15 15 re s
549 724 Q
  725 +endstream
  726 +endobj
550 727  
551   -Q
552   -q
553   -1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
554   -0.00000 0.00000 103.45000 53.00000 re W n
  728 +37 0 obj
  729 +61
  730 +endobj
  731 +
  732 +38 0 obj
  733 +<<
  734 + /BBox [
  735 + 0
  736 + 0
  737 + 103.45
  738 + 53
  739 + ]
  740 + /Resources <<
  741 + /Font <<
  742 + >>
  743 + /ProcSet [
  744 + /PDF
  745 + /Text
  746 + ]
  747 + >>
  748 + /Subtype /Form
  749 + /Type /XObject
  750 + /Length 39 0 R
  751 +>>
  752 +stream
555 753 q
556 754 0 1 0 RG
557 755 5 w
558 756 0 0 103.45 53 re s
559 757 0 0 1 RG
560 758 5 5 15 15 re s
  759 +1 w
  760 +1 0 0 RG
  761 +-10 25 m
  762 +113.45 25 l
  763 +52 -10 m
  764 +52 63 l
  765 +s
561 766 Q
  767 +endstream
  768 +endobj
562 769  
563   -Q
564   -q
565   -0.00000 1.00003 -0.99998 0.00000 392.14700 528.24900 cm
566   -0.00000 0.00000 72.80000 98.00000 re W n
  770 +39 0 obj
  771 +113
  772 +endobj
  773 +
  774 +40 0 obj
  775 +<<
  776 + /BBox [
  777 + 0
  778 + 0
  779 + 72.8
  780 + 98
  781 + ]
  782 + /Resources <<
  783 + /Font <<
  784 + >>
  785 + /ProcSet [
  786 + /PDF
  787 + /Text
  788 + ]
  789 + >>
  790 + /Subtype /Form
  791 + /Type /XObject
  792 + /Length 41 0 R
  793 +>>
  794 +stream
567 795 q
568 796 0 0 1 RG
569 797 5 w
... ... @@ -571,38 +799,31 @@ q
571 799 1 0 0 RG
572 800 5 5 15 15 re s
573 801 Q
574   -
575   -Q
576 802 endstream
577 803 endobj
578 804  
579   -28 0 obj
580   -487
581   -endobj
582   -
583   -29 0 obj
584   -<<
585   ->>
  805 +41 0 obj
  806 +58
586 807 endobj
587 808  
588 809 %% Contents for page 3
589   -30 0 obj
  810 +42 0 obj
590 811 <<
591   - /Length 31 0 R
  812 + /Length 43 0 R
592 813 >>
593 814 stream
594 815 q
595 816 endstream
596 817 endobj
597 818  
598   -31 0 obj
  819 +43 0 obj
599 820 2
600 821 endobj
601 822  
602 823 %% Contents for page 3
603   -32 0 obj
  824 +44 0 obj
604 825 <<
605   - /Length 33 0 R
  826 + /Length 45 0 R
606 827 >>
607 828 stream
608 829 0.1 w
... ... @@ -626,84 +847,188 @@ endstream
626 847 endobj
627 848  
628 849 %QDF: ignore_newline
629   -33 0 obj
  850 +45 0 obj
630 851 240
631 852 endobj
632 853  
633 854 %% Contents for page 3
634   -34 0 obj
  855 +46 0 obj
635 856 <<
636   - /Length 35 0 R
  857 + /Length 47 0 R
637 858 >>
638 859 stream
639 860  
640 861 Q
641 862 q
642   -0.65131 0.36563 -0.46062 0.51700 153.31752 651.15100 cm
643   -0.00000 0.00000 67.30000 50.95000 re W n
644   -q
645   -1 0 0 RG
646   -5 w
647   -0 0 67.3 50.95 re s
648   -0 1 0 RG
649   -5 5 15 15 re s
650   -Q
651   -
  863 +0.92124 0.00000 0.00000 0.73126 153.31752 651.15100 cm
  864 +/Fxo1 Do
652 865 Q
653 866 q
654   -0.88367 0.26685 0.22710 0.47909 129.84900 542.75100 cm
655   -0.00000 0.00000 103.45000 53.00000 re W n
656   -q
657   -0 1 0 RG
658   -5 w
659   -0 0 103.45 53 re s
660   -0 0 1 RG
661   -5 5 15 15 re s
662   -Q
663   -
  867 +0.88367 0.00000 0.00000 0.47909 129.84900 542.75100 cm
  868 +/Fxo2 Do
664 869 Q
665 870 q
666 871 1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
667   -0.00000 0.00000 72.80000 98.00000 re W n
668   -q
669   -0 0 1 RG
670   -5 w
671   -0 0 72.8 98 re s
672   -1 0 0 RG
673   -5 5 15 15 re s
674   -Q
675   -
  872 +/Fxo3 Do
676 873 Q
677 874 endstream
678 875 endobj
679 876  
680   -35 0 obj
681   -487
  877 +47 0 obj
  878 +207
682 879 endobj
683 880  
684   -36 0 obj
  881 +48 0 obj
685 882 <<
686 883 >>
687 884 endobj
688 885  
689   -%% Contents for page 4
690   -37 0 obj
  886 +49 0 obj
691 887 <<
692   - /Length 38 0 R
  888 + /BBox [
  889 + 0
  890 + 0
  891 + 67.3
  892 + 50.95
  893 + ]
  894 + /Matrix [
  895 + .707
  896 + .5
  897 + -.5
  898 + .707
  899 + 0
  900 + 0
  901 + ]
  902 + /Resources <<
  903 + /Font <<
  904 + >>
  905 + /ProcSet [
  906 + /PDF
  907 + /Text
  908 + ]
  909 + >>
  910 + /Subtype /Form
  911 + /Type /XObject
  912 + /Length 50 0 R
693 913 >>
694 914 stream
695 915 q
  916 +1 0 0 RG
  917 +5 w
  918 +0 0 67.3 50.95 re s
  919 +0 1 0 RG
  920 +5 5 15 15 re s
  921 +Q
696 922 endstream
697 923 endobj
698 924  
699   -38 0 obj
  925 +50 0 obj
  926 +61
  927 +endobj
  928 +
  929 +51 0 obj
  930 +<<
  931 + /BBox [
  932 + 0
  933 + 0
  934 + 103.45
  935 + 53
  936 + ]
  937 + /Matrix [
  938 + 1
  939 + .557
  940 + .257
  941 + 1
  942 + 0
  943 + 0
  944 + ]
  945 + /Resources <<
  946 + /Font <<
  947 + >>
  948 + /ProcSet [
  949 + /PDF
  950 + /Text
  951 + ]
  952 + >>
  953 + /Subtype /Form
  954 + /Type /XObject
  955 + /Length 52 0 R
  956 +>>
  957 +stream
  958 +q
  959 +0 1 0 RG
  960 +5 w
  961 +0 0 103.45 53 re s
  962 +0 0 1 RG
  963 +5 5 15 15 re s
  964 +1 w
  965 +1 0 0 RG
  966 +-10 25 m
  967 +113.45 25 l
  968 +52 -10 m
  969 +52 63 l
  970 +s
  971 +Q
  972 +endstream
  973 +endobj
  974 +
  975 +52 0 obj
  976 +113
  977 +endobj
  978 +
  979 +53 0 obj
  980 +<<
  981 + /BBox [
  982 + 0
  983 + 0
  984 + 72.8
  985 + 98
  986 + ]
  987 + /Resources <<
  988 + /Font <<
  989 + >>
  990 + /ProcSet [
  991 + /PDF
  992 + /Text
  993 + ]
  994 + >>
  995 + /Subtype /Form
  996 + /Type /XObject
  997 + /Length 54 0 R
  998 +>>
  999 +stream
  1000 +q
  1001 +0 0 1 RG
  1002 +5 w
  1003 +0 0 72.8 98 re s
  1004 +1 0 0 RG
  1005 +5 5 15 15 re s
  1006 +Q
  1007 +endstream
  1008 +endobj
  1009 +
  1010 +54 0 obj
  1011 +58
  1012 +endobj
  1013 +
  1014 +%% Contents for page 4
  1015 +55 0 obj
  1016 +<<
  1017 + /Length 56 0 R
  1018 +>>
  1019 +stream
  1020 +q
  1021 +endstream
  1022 +endobj
  1023 +
  1024 +56 0 obj
700 1025 2
701 1026 endobj
702 1027  
703 1028 %% Contents for page 4
704   -39 0 obj
  1029 +57 0 obj
705 1030 <<
706   - /Length 40 0 R
  1031 + /Length 58 0 R
707 1032 >>
708 1033 stream
709 1034 0.1 w
... ... @@ -727,21 +1052,71 @@ endstream
727 1052 endobj
728 1053  
729 1054 %QDF: ignore_newline
730   -40 0 obj
  1055 +58 0 obj
731 1056 240
732 1057 endobj
733 1058  
734 1059 %% Contents for page 4
735   -41 0 obj
  1060 +59 0 obj
736 1061 <<
737   - /Length 42 0 R
  1062 + /Length 60 0 R
738 1063 >>
739 1064 stream
740 1065  
741 1066 Q
742 1067 q
743   -0.65131 0.36563 -0.46062 0.51700 153.31752 651.15100 cm
744   -0.00000 0.00000 67.30000 50.95000 re W n
  1068 +0.92124 0.00000 0.00000 0.73126 153.31752 651.15100 cm
  1069 +/Fxo1 Do
  1070 +Q
  1071 +q
  1072 +0.88367 0.00000 0.00000 0.47909 129.84900 542.75100 cm
  1073 +/Fxo2 Do
  1074 +Q
  1075 +q
  1076 +1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
  1077 +/Fxo3 Do
  1078 +Q
  1079 +endstream
  1080 +endobj
  1081 +
  1082 +60 0 obj
  1083 +207
  1084 +endobj
  1085 +
  1086 +61 0 obj
  1087 +<<
  1088 +>>
  1089 +endobj
  1090 +
  1091 +62 0 obj
  1092 +<<
  1093 + /BBox [
  1094 + 0
  1095 + 0
  1096 + 67.3
  1097 + 50.95
  1098 + ]
  1099 + /Matrix [
  1100 + .707
  1101 + .5
  1102 + -.5
  1103 + .707
  1104 + 0
  1105 + 0
  1106 + ]
  1107 + /Resources <<
  1108 + /Font <<
  1109 + >>
  1110 + /ProcSet [
  1111 + /PDF
  1112 + /Text
  1113 + ]
  1114 + >>
  1115 + /Subtype /Form
  1116 + /Type /XObject
  1117 + /Length 63 0 R
  1118 +>>
  1119 +stream
745 1120 q
746 1121 60 r
747 1122 1 0 0 RG
... ... @@ -750,23 +1125,84 @@ q
750 1125 0 1 0 RG
751 1126 5 5 15 15 re s
752 1127 Q
  1128 +endstream
  1129 +endobj
753 1130  
754   -Q
755   -q
756   -0.88367 0.26685 0.22710 0.47909 129.84900 542.75100 cm
757   -0.00000 0.00000 103.45000 53.00000 re W n
  1131 +63 0 obj
  1132 +66
  1133 +endobj
  1134 +
  1135 +64 0 obj
  1136 +<<
  1137 + /BBox [
  1138 + 0
  1139 + 0
  1140 + 103.45
  1141 + 53
  1142 + ]
  1143 + /Matrix [
  1144 + 1
  1145 + .557
  1146 + .257
  1147 + 1
  1148 + 0
  1149 + 0
  1150 + ]
  1151 + /Resources <<
  1152 + /Font <<
  1153 + >>
  1154 + /ProcSet [
  1155 + /PDF
  1156 + /Text
  1157 + ]
  1158 + >>
  1159 + /Subtype /Form
  1160 + /Type /XObject
  1161 + /Length 65 0 R
  1162 +>>
  1163 +stream
758 1164 q
759 1165 0 1 0 RG
760 1166 5 w
761 1167 0 0 103.45 53 re s
762 1168 0 0 1 RG
763 1169 5 5 15 15 re s
  1170 +1 w
  1171 +1 0 0 RG
  1172 +-10 25 m
  1173 +113.45 25 l
  1174 +52 -10 m
  1175 +52 63 l
  1176 +s
764 1177 Q
  1178 +endstream
  1179 +endobj
765 1180  
766   -Q
767   -q
768   -1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
769   -0.00000 0.00000 72.80000 98.00000 re W n
  1181 +65 0 obj
  1182 +113
  1183 +endobj
  1184 +
  1185 +66 0 obj
  1186 +<<
  1187 + /BBox [
  1188 + 0
  1189 + 0
  1190 + 72.8
  1191 + 98
  1192 + ]
  1193 + /Resources <<
  1194 + /Font <<
  1195 + >>
  1196 + /ProcSet [
  1197 + /PDF
  1198 + /Text
  1199 + ]
  1200 + >>
  1201 + /Subtype /Form
  1202 + /Type /XObject
  1203 + /Length 67 0 R
  1204 +>>
  1205 +stream
770 1206 q
771 1207 0 0 1 RG
772 1208 5 w
... ... @@ -774,38 +1210,31 @@ q
774 1210 1 0 0 RG
775 1211 5 5 15 15 re s
776 1212 Q
777   -
778   -Q
779 1213 endstream
780 1214 endobj
781 1215  
782   -42 0 obj
783   -492
784   -endobj
785   -
786   -43 0 obj
787   -<<
788   ->>
  1216 +67 0 obj
  1217 +58
789 1218 endobj
790 1219  
791 1220 %% Contents for page 5
792   -44 0 obj
  1221 +68 0 obj
793 1222 <<
794   - /Length 45 0 R
  1223 + /Length 69 0 R
795 1224 >>
796 1225 stream
797 1226 q
798 1227 endstream
799 1228 endobj
800 1229  
801   -45 0 obj
  1230 +69 0 obj
802 1231 2
803 1232 endobj
804 1233  
805 1234 %% Contents for page 5
806   -46 0 obj
  1235 +70 0 obj
807 1236 <<
808   - /Length 47 0 R
  1237 + /Length 71 0 R
809 1238 >>
810 1239 stream
811 1240 0.1 w
... ... @@ -829,21 +1258,63 @@ endstream
829 1258 endobj
830 1259  
831 1260 %QDF: ignore_newline
832   -47 0 obj
  1261 +71 0 obj
833 1262 240
834 1263 endobj
835 1264  
836 1265 %% Contents for page 5
837   -48 0 obj
  1266 +72 0 obj
838 1267 <<
839   - /Length 49 0 R
  1268 + /Length 73 0 R
840 1269 >>
841 1270 stream
842 1271  
843 1272 Q
844 1273 q
845 1274 1.00003 0.00000 0.00000 0.99996 129.84900 651.15100 cm
846   -0.00000 0.00000 67.30000 50.95000 re W n
  1275 +/Fxo1 Do
  1276 +Q
  1277 +q
  1278 +1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
  1279 +/Fxo2 Do
  1280 +Q
  1281 +q
  1282 +-1.00003 0.00000 0.00000 -0.99998 294.14900 626.24700 cm
  1283 +/Fxo3 Do
  1284 +Q
  1285 +endstream
  1286 +endobj
  1287 +
  1288 +73 0 obj
  1289 +209
  1290 +endobj
  1291 +
  1292 +74 0 obj
  1293 +<<
  1294 +>>
  1295 +endobj
  1296 +
  1297 +75 0 obj
  1298 +<<
  1299 + /BBox [
  1300 + 0
  1301 + 0
  1302 + 67.3
  1303 + 50.95
  1304 + ]
  1305 + /Resources <<
  1306 + /Font <<
  1307 + >>
  1308 + /ProcSet [
  1309 + /PDF
  1310 + /Text
  1311 + ]
  1312 + >>
  1313 + /Subtype /Form
  1314 + /Type /XObject
  1315 + /Length 76 0 R
  1316 +>>
  1317 +stream
847 1318 q
848 1319 1 0 0 RG
849 1320 5 w
... ... @@ -851,23 +1322,76 @@ q
851 1322 0 1 0 RG
852 1323 5 5 15 15 re s
853 1324 Q
  1325 +endstream
  1326 +endobj
854 1327  
855   -Q
856   -q
857   -1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
858   -0.00000 0.00000 103.45000 53.00000 re W n
  1328 +76 0 obj
  1329 +61
  1330 +endobj
  1331 +
  1332 +77 0 obj
  1333 +<<
  1334 + /BBox [
  1335 + 0
  1336 + 0
  1337 + 103.45
  1338 + 53
  1339 + ]
  1340 + /Resources <<
  1341 + /Font <<
  1342 + >>
  1343 + /ProcSet [
  1344 + /PDF
  1345 + /Text
  1346 + ]
  1347 + >>
  1348 + /Subtype /Form
  1349 + /Type /XObject
  1350 + /Length 78 0 R
  1351 +>>
  1352 +stream
859 1353 q
860 1354 0 1 0 RG
861 1355 5 w
862 1356 0 0 103.45 53 re s
863 1357 0 0 1 RG
864 1358 5 5 15 15 re s
  1359 +1 w
  1360 +1 0 0 RG
  1361 +-10 25 m
  1362 +113.45 25 l
  1363 +52 -10 m
  1364 +52 63 l
  1365 +s
865 1366 Q
  1367 +endstream
  1368 +endobj
866 1369  
867   -Q
868   -q
869   --1.00003 0.00000 0.00000 -0.99998 294.14900 626.24700 cm
870   -0.00000 0.00000 72.80000 98.00000 re W n
  1370 +78 0 obj
  1371 +113
  1372 +endobj
  1373 +
  1374 +79 0 obj
  1375 +<<
  1376 + /BBox [
  1377 + 0
  1378 + 0
  1379 + 72.8
  1380 + 98
  1381 + ]
  1382 + /Resources <<
  1383 + /Font <<
  1384 + >>
  1385 + /ProcSet [
  1386 + /PDF
  1387 + /Text
  1388 + ]
  1389 + >>
  1390 + /Subtype /Form
  1391 + /Type /XObject
  1392 + /Length 80 0 R
  1393 +>>
  1394 +stream
871 1395 q
872 1396 0 0 1 RG
873 1397 5 w
... ... @@ -875,38 +1399,31 @@ q
875 1399 1 0 0 RG
876 1400 5 5 15 15 re s
877 1401 Q
878   -
879   -Q
880 1402 endstream
881 1403 endobj
882 1404  
883   -49 0 obj
884   -488
885   -endobj
886   -
887   -50 0 obj
888   -<<
889   ->>
  1405 +80 0 obj
  1406 +58
890 1407 endobj
891 1408  
892 1409 %% Contents for page 6
893   -51 0 obj
  1410 +81 0 obj
894 1411 <<
895   - /Length 52 0 R
  1412 + /Length 82 0 R
896 1413 >>
897 1414 stream
898 1415 q
899 1416 endstream
900 1417 endobj
901 1418  
902   -52 0 obj
  1419 +82 0 obj
903 1420 2
904 1421 endobj
905 1422  
906 1423 %% Contents for page 6
907   -53 0 obj
  1424 +83 0 obj
908 1425 <<
909   - /Length 54 0 R
  1426 + /Length 84 0 R
910 1427 >>
911 1428 stream
912 1429 0.1 w
... ... @@ -930,21 +1447,71 @@ endstream
930 1447 endobj
931 1448  
932 1449 %QDF: ignore_newline
933   -54 0 obj
  1450 +84 0 obj
934 1451 240
935 1452 endobj
936 1453  
937 1454 %% Contents for page 6
938   -55 0 obj
  1455 +85 0 obj
939 1456 <<
940   - /Length 56 0 R
  1457 + /Length 86 0 R
941 1458 >>
942 1459 stream
943 1460  
944 1461 Q
945 1462 q
946   --0.36563 0.65131 -0.51700 -0.46062 180.79700 725.56752 cm
947   -0.00000 0.00000 67.30000 50.95000 re W n
  1463 +0.00000 0.92124 -0.73126 0.00000 180.79700 725.56752 cm
  1464 +/Fxo1 Do
  1465 +Q
  1466 +q
  1467 +0.00000 0.44193 -0.23955 0.00000 254.71087 551.55555 cm
  1468 +/Fxo2 Do
  1469 +Q
  1470 +q
  1471 +0.00000 1.00003 -0.99998 0.00000 392.14700 528.24900 cm
  1472 +/Fxo3 Do
  1473 +Q
  1474 +endstream
  1475 +endobj
  1476 +
  1477 +86 0 obj
  1478 +210
  1479 +endobj
  1480 +
  1481 +87 0 obj
  1482 +<<
  1483 +>>
  1484 +endobj
  1485 +
  1486 +88 0 obj
  1487 +<<
  1488 + /BBox [
  1489 + 0
  1490 + 0
  1491 + 67.3
  1492 + 50.95
  1493 + ]
  1494 + /Matrix [
  1495 + .707
  1496 + .5
  1497 + -.5
  1498 + .707
  1499 + 0
  1500 + 0
  1501 + ]
  1502 + /Resources <<
  1503 + /Font <<
  1504 + >>
  1505 + /ProcSet [
  1506 + /PDF
  1507 + /Text
  1508 + ]
  1509 + >>
  1510 + /Subtype /Form
  1511 + /Type /XObject
  1512 + /Length 89 0 R
  1513 +>>
  1514 +stream
948 1515 q
949 1516 1 0 0 RG
950 1517 5 w
... ... @@ -952,23 +1519,84 @@ q
952 1519 0 1 0 RG
953 1520 5 5 15 15 re s
954 1521 Q
  1522 +endstream
  1523 +endobj
955 1524  
956   -Q
957   -q
958   --0.26685 0.88387 -0.47909 0.22671 182.84700 595.74900 cm
959   -0.00000 0.00000 103.45000 53.00000 re W n
  1525 +89 0 obj
  1526 +61
  1527 +endobj
  1528 +
  1529 +90 0 obj
  1530 +<<
  1531 + /BBox [
  1532 + 0
  1533 + 0
  1534 + 103.45
  1535 + 53
  1536 + ]
  1537 + /Matrix [
  1538 + 2
  1539 + 1.114
  1540 + .513
  1541 + 2
  1542 + 100
  1543 + 300
  1544 + ]
  1545 + /Resources <<
  1546 + /Font <<
  1547 + >>
  1548 + /ProcSet [
  1549 + /PDF
  1550 + /Text
  1551 + ]
  1552 + >>
  1553 + /Subtype /Form
  1554 + /Type /XObject
  1555 + /Length 91 0 R
  1556 +>>
  1557 +stream
960 1558 q
961 1559 0 1 0 RG
962 1560 5 w
963 1561 0 0 103.45 53 re s
964 1562 0 0 1 RG
965 1563 5 5 15 15 re s
  1564 +1 w
  1565 +1 0 0 RG
  1566 +-10 25 m
  1567 +113.45 25 l
  1568 +52 -10 m
  1569 +52 63 l
  1570 +s
966 1571 Q
  1572 +endstream
  1573 +endobj
967 1574  
968   -Q
969   -q
970   -0.00000 1.00003 -0.99998 0.00000 392.14700 528.24900 cm
971   -0.00000 0.00000 72.80000 98.00000 re W n
  1575 +91 0 obj
  1576 +113
  1577 +endobj
  1578 +
  1579 +92 0 obj
  1580 +<<
  1581 + /BBox [
  1582 + 0
  1583 + 0
  1584 + 72.8
  1585 + 98
  1586 + ]
  1587 + /Resources <<
  1588 + /Font <<
  1589 + >>
  1590 + /ProcSet [
  1591 + /PDF
  1592 + /Text
  1593 + ]
  1594 + >>
  1595 + /Subtype /Form
  1596 + /Type /XObject
  1597 + /Length 93 0 R
  1598 +>>
  1599 +stream
972 1600 q
973 1601 0 0 1 RG
974 1602 5 w
... ... @@ -976,38 +1604,31 @@ q
976 1604 1 0 0 RG
977 1605 5 5 15 15 re s
978 1606 Q
979   -
980   -Q
981 1607 endstream
982 1608 endobj
983 1609  
984   -56 0 obj
985   -492
986   -endobj
987   -
988   -57 0 obj
989   -<<
990   ->>
  1610 +93 0 obj
  1611 +58
991 1612 endobj
992 1613  
993 1614 %% Contents for page 7
994   -58 0 obj
  1615 +94 0 obj
995 1616 <<
996   - /Length 59 0 R
  1617 + /Length 95 0 R
997 1618 >>
998 1619 stream
999 1620 q
1000 1621 endstream
1001 1622 endobj
1002 1623  
1003   -59 0 obj
  1624 +95 0 obj
1004 1625 2
1005 1626 endobj
1006 1627  
1007 1628 %% Contents for page 7
1008   -60 0 obj
  1629 +96 0 obj
1009 1630 <<
1010   - /Length 61 0 R
  1631 + /Length 97 0 R
1011 1632 >>
1012 1633 stream
1013 1634 0.1 w
... ... @@ -1031,21 +1652,63 @@ endstream
1031 1652 endobj
1032 1653  
1033 1654 %QDF: ignore_newline
1034   -61 0 obj
  1655 +97 0 obj
1035 1656 240
1036 1657 endobj
1037 1658  
1038 1659 %% Contents for page 7
1039   -62 0 obj
  1660 +98 0 obj
1040 1661 <<
1041   - /Length 63 0 R
  1662 + /Length 99 0 R
1042 1663 >>
1043 1664 stream
1044 1665  
1045 1666 Q
1046 1667 q
1047 1668 1.00003 0.00000 0.00000 0.99996 129.84900 651.15100 cm
1048   -0.00000 0.00000 67.30000 50.95000 re W n
  1669 +/Fxo1 Do
  1670 +Q
  1671 +q
  1672 +1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
  1673 +/Fxo2 Do
  1674 +Q
  1675 +q
  1676 +1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
  1677 +/Fxo3 Do
  1678 +Q
  1679 +endstream
  1680 +endobj
  1681 +
  1682 +99 0 obj
  1683 +207
  1684 +endobj
  1685 +
  1686 +100 0 obj
  1687 +<<
  1688 +>>
  1689 +endobj
  1690 +
  1691 +101 0 obj
  1692 +<<
  1693 + /BBox [
  1694 + 0
  1695 + 0
  1696 + 67.3
  1697 + 50.95
  1698 + ]
  1699 + /Resources <<
  1700 + /Font <<
  1701 + >>
  1702 + /ProcSet [
  1703 + /PDF
  1704 + /Text
  1705 + ]
  1706 + >>
  1707 + /Subtype /Form
  1708 + /Type /XObject
  1709 + /Length 102 0 R
  1710 +>>
  1711 +stream
1049 1712 q
1050 1713 60 r
1051 1714 1 0 0 RG
... ... @@ -1054,23 +1717,76 @@ q
1054 1717 0 1 0 RG
1055 1718 5 5 15 15 re s
1056 1719 Q
  1720 +endstream
  1721 +endobj
1057 1722  
1058   -Q
1059   -q
1060   -1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
1061   -0.00000 0.00000 103.45000 53.00000 re W n
  1723 +102 0 obj
  1724 +66
  1725 +endobj
  1726 +
  1727 +103 0 obj
  1728 +<<
  1729 + /BBox [
  1730 + 0
  1731 + 0
  1732 + 103.45
  1733 + 53
  1734 + ]
  1735 + /Resources <<
  1736 + /Font <<
  1737 + >>
  1738 + /ProcSet [
  1739 + /PDF
  1740 + /Text
  1741 + ]
  1742 + >>
  1743 + /Subtype /Form
  1744 + /Type /XObject
  1745 + /Length 104 0 R
  1746 +>>
  1747 +stream
1062 1748 q
1063 1749 0 1 0 RG
1064 1750 5 w
1065 1751 0 0 103.45 53 re s
1066 1752 0 0 1 RG
1067 1753 5 5 15 15 re s
  1754 +1 w
  1755 +1 0 0 RG
  1756 +-10 25 m
  1757 +113.45 25 l
  1758 +52 -10 m
  1759 +52 63 l
  1760 +s
1068 1761 Q
  1762 +endstream
  1763 +endobj
1069 1764  
1070   -Q
1071   -q
1072   -1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
1073   -0.00000 0.00000 72.80000 98.00000 re W n
  1765 +104 0 obj
  1766 +113
  1767 +endobj
  1768 +
  1769 +105 0 obj
  1770 +<<
  1771 + /BBox [
  1772 + 0
  1773 + 0
  1774 + 72.8
  1775 + 98
  1776 + ]
  1777 + /Resources <<
  1778 + /Font <<
  1779 + >>
  1780 + /ProcSet [
  1781 + /PDF
  1782 + /Text
  1783 + ]
  1784 + >>
  1785 + /Subtype /Form
  1786 + /Type /XObject
  1787 + /Length 106 0 R
  1788 +>>
  1789 +stream
1074 1790 q
1075 1791 0 0 1 RG
1076 1792 5 w
... ... @@ -1078,38 +1794,31 @@ q
1078 1794 1 0 0 RG
1079 1795 5 5 15 15 re s
1080 1796 Q
1081   -
1082   -Q
1083 1797 endstream
1084 1798 endobj
1085 1799  
1086   -63 0 obj
1087   -491
1088   -endobj
1089   -
1090   -64 0 obj
1091   -<<
1092   ->>
  1800 +106 0 obj
  1801 +58
1093 1802 endobj
1094 1803  
1095 1804 %% Contents for page 8
1096   -65 0 obj
  1805 +107 0 obj
1097 1806 <<
1098   - /Length 66 0 R
  1807 + /Length 108 0 R
1099 1808 >>
1100 1809 stream
1101 1810 q
1102 1811 endstream
1103 1812 endobj
1104 1813  
1105   -66 0 obj
  1814 +108 0 obj
1106 1815 2
1107 1816 endobj
1108 1817  
1109 1818 %% Contents for page 8
1110   -67 0 obj
  1819 +109 0 obj
1111 1820 <<
1112   - /Length 68 0 R
  1821 + /Length 110 0 R
1113 1822 >>
1114 1823 stream
1115 1824 0.1 w
... ... @@ -1133,21 +1842,63 @@ endstream
1133 1842 endobj
1134 1843  
1135 1844 %QDF: ignore_newline
1136   -68 0 obj
  1845 +110 0 obj
1137 1846 240
1138 1847 endobj
1139 1848  
1140 1849 %% Contents for page 8
1141   -69 0 obj
  1850 +111 0 obj
1142 1851 <<
1143   - /Length 70 0 R
  1852 + /Length 112 0 R
1144 1853 >>
1145 1854 stream
1146 1855  
1147 1856 Q
1148 1857 q
1149 1858 1.00003 0.00000 0.00000 0.99996 129.84900 651.15100 cm
1150   -0.00000 0.00000 67.30000 50.95000 re W n
  1859 +/Fxo1 Do
  1860 +Q
  1861 +q
  1862 +1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
  1863 +/Fxo2 Do
  1864 +Q
  1865 +q
  1866 +0.00000 -1.00003 0.99998 0.00000 196.15100 528.24900 cm
  1867 +/Fxo3 Do
  1868 +Q
  1869 +endstream
  1870 +endobj
  1871 +
  1872 +112 0 obj
  1873 +208
  1874 +endobj
  1875 +
  1876 +113 0 obj
  1877 +<<
  1878 +>>
  1879 +endobj
  1880 +
  1881 +114 0 obj
  1882 +<<
  1883 + /BBox [
  1884 + 0
  1885 + 0
  1886 + 67.3
  1887 + 50.95
  1888 + ]
  1889 + /Resources <<
  1890 + /Font <<
  1891 + >>
  1892 + /ProcSet [
  1893 + /PDF
  1894 + /Text
  1895 + ]
  1896 + >>
  1897 + /Subtype /Form
  1898 + /Type /XObject
  1899 + /Length 115 0 R
  1900 +>>
  1901 +stream
1151 1902 q
1152 1903 1 0 0 RG
1153 1904 5 w
... ... @@ -1155,23 +1906,76 @@ q
1155 1906 0 1 0 RG
1156 1907 5 5 15 15 re s
1157 1908 Q
  1909 +endstream
  1910 +endobj
1158 1911  
1159   -Q
1160   -q
1161   -1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
1162   -0.00000 0.00000 103.45000 53.00000 re W n
  1912 +115 0 obj
  1913 +61
  1914 +endobj
  1915 +
  1916 +116 0 obj
  1917 +<<
  1918 + /BBox [
  1919 + 0
  1920 + 0
  1921 + 103.45
  1922 + 53
  1923 + ]
  1924 + /Resources <<
  1925 + /Font <<
  1926 + >>
  1927 + /ProcSet [
  1928 + /PDF
  1929 + /Text
  1930 + ]
  1931 + >>
  1932 + /Subtype /Form
  1933 + /Type /XObject
  1934 + /Length 117 0 R
  1935 +>>
  1936 +stream
1163 1937 q
1164 1938 0 1 0 RG
1165 1939 5 w
1166 1940 0 0 103.45 53 re s
1167 1941 0 0 1 RG
1168 1942 5 5 15 15 re s
  1943 +1 w
  1944 +1 0 0 RG
  1945 +-10 25 m
  1946 +113.45 25 l
  1947 +52 -10 m
  1948 +52 63 l
  1949 +s
1169 1950 Q
  1951 +endstream
  1952 +endobj
1170 1953  
1171   -Q
1172   -q
1173   -0.00000 -1.00003 0.99998 0.00000 196.15100 528.24900 cm
1174   -0.00000 0.00000 72.80000 98.00000 re W n
  1954 +117 0 obj
  1955 +113
  1956 +endobj
  1957 +
  1958 +118 0 obj
  1959 +<<
  1960 + /BBox [
  1961 + 0
  1962 + 0
  1963 + 72.8
  1964 + 98
  1965 + ]
  1966 + /Resources <<
  1967 + /Font <<
  1968 + >>
  1969 + /ProcSet [
  1970 + /PDF
  1971 + /Text
  1972 + ]
  1973 + >>
  1974 + /Subtype /Form
  1975 + /Type /XObject
  1976 + /Length 119 0 R
  1977 +>>
  1978 +stream
1175 1979 q
1176 1980 0 0 1 RG
1177 1981 5 w
... ... @@ -1179,38 +1983,31 @@ q
1179 1983 1 0 0 RG
1180 1984 5 5 15 15 re s
1181 1985 Q
1182   -
1183   -Q
1184 1986 endstream
1185 1987 endobj
1186 1988  
1187   -70 0 obj
1188   -487
1189   -endobj
1190   -
1191   -71 0 obj
1192   -<<
1193   ->>
  1989 +119 0 obj
  1990 +58
1194 1991 endobj
1195 1992  
1196 1993 %% Contents for page 9
1197   -72 0 obj
  1994 +120 0 obj
1198 1995 <<
1199   - /Length 73 0 R
  1996 + /Length 121 0 R
1200 1997 >>
1201 1998 stream
1202 1999 q
1203 2000 endstream
1204 2001 endobj
1205 2002  
1206   -73 0 obj
  2003 +121 0 obj
1207 2004 2
1208 2005 endobj
1209 2006  
1210 2007 %% Contents for page 9
1211   -74 0 obj
  2008 +122 0 obj
1212 2009 <<
1213   - /Length 75 0 R
  2010 + /Length 123 0 R
1214 2011 >>
1215 2012 stream
1216 2013 0.1 w
... ... @@ -1234,21 +2031,63 @@ endstream
1234 2031 endobj
1235 2032  
1236 2033 %QDF: ignore_newline
1237   -75 0 obj
  2034 +123 0 obj
1238 2035 240
1239 2036 endobj
1240 2037  
1241 2038 %% Contents for page 9
1242   -76 0 obj
  2039 +124 0 obj
1243 2040 <<
1244   - /Length 77 0 R
  2041 + /Length 125 0 R
1245 2042 >>
1246 2043 stream
1247 2044  
1248 2045 Q
1249 2046 q
1250 2047 1.00003 0.00000 0.00000 0.99996 129.84900 651.15100 cm
1251   -0.00000 0.00000 67.30000 50.95000 re W n
  2048 +/Fxo1 Do
  2049 +Q
  2050 +q
  2051 +1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
  2052 +/Fxo2 Do
  2053 +Q
  2054 +q
  2055 +1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
  2056 +/Fxo3 Do
  2057 +Q
  2058 +endstream
  2059 +endobj
  2060 +
  2061 +125 0 obj
  2062 +207
  2063 +endobj
  2064 +
  2065 +126 0 obj
  2066 +<<
  2067 +>>
  2068 +endobj
  2069 +
  2070 +127 0 obj
  2071 +<<
  2072 + /BBox [
  2073 + 0
  2074 + 0
  2075 + 67.3
  2076 + 50.95
  2077 + ]
  2078 + /Resources <<
  2079 + /Font <<
  2080 + >>
  2081 + /ProcSet [
  2082 + /PDF
  2083 + /Text
  2084 + ]
  2085 + >>
  2086 + /Subtype /Form
  2087 + /Type /XObject
  2088 + /Length 128 0 R
  2089 +>>
  2090 +stream
1252 2091 q
1253 2092 1 0 0 RG
1254 2093 5 w
... ... @@ -1256,23 +2095,76 @@ q
1256 2095 0 1 0 RG
1257 2096 5 5 15 15 re s
1258 2097 Q
  2098 +endstream
  2099 +endobj
1259 2100  
1260   -Q
1261   -q
1262   -1.00002 0.00000 0.00000 0.99996 129.84900 542.75100 cm
1263   -0.00000 0.00000 103.45000 53.00000 re W n
  2101 +128 0 obj
  2102 +61
  2103 +endobj
  2104 +
  2105 +129 0 obj
  2106 +<<
  2107 + /BBox [
  2108 + 0
  2109 + 0
  2110 + 103.45
  2111 + 53
  2112 + ]
  2113 + /Resources <<
  2114 + /Font <<
  2115 + >>
  2116 + /ProcSet [
  2117 + /PDF
  2118 + /Text
  2119 + ]
  2120 + >>
  2121 + /Subtype /Form
  2122 + /Type /XObject
  2123 + /Length 130 0 R
  2124 +>>
  2125 +stream
1264 2126 q
1265 2127 0 1 0 RG
1266 2128 5 w
1267 2129 0 0 103.45 53 re s
1268 2130 0 0 1 RG
1269 2131 5 5 15 15 re s
  2132 +1 w
  2133 +1 0 0 RG
  2134 +-10 25 m
  2135 +113.45 25 l
  2136 +52 -10 m
  2137 +52 63 l
  2138 +s
1270 2139 Q
  2140 +endstream
  2141 +endobj
1271 2142  
1272   -Q
1273   -q
1274   -1.00003 0.00000 0.00000 0.99998 294.14900 430.25100 cm
1275   -0.00000 0.00000 72.80000 98.00000 re W n
  2143 +130 0 obj
  2144 +113
  2145 +endobj
  2146 +
  2147 +131 0 obj
  2148 +<<
  2149 + /BBox [
  2150 + 0
  2151 + 0
  2152 + 72.8
  2153 + 98
  2154 + ]
  2155 + /Resources <<
  2156 + /Font <<
  2157 + >>
  2158 + /ProcSet [
  2159 + /PDF
  2160 + /Text
  2161 + ]
  2162 + >>
  2163 + /Subtype /Form
  2164 + /Type /XObject
  2165 + /Length 132 0 R
  2166 +>>
  2167 +stream
1276 2168 q
1277 2169 0 0 1 RG
1278 2170 5 w
... ... @@ -1280,67 +2172,60 @@ q
1280 2172 1 0 0 RG
1281 2173 5 5 15 15 re s
1282 2174 Q
1283   -
1284   -Q
1285 2175 endstream
1286 2176 endobj
1287 2177  
1288   -77 0 obj
1289   -486
1290   -endobj
1291   -
1292   -78 0 obj
1293   -<<
1294   ->>
  2178 +132 0 obj
  2179 +58
1295 2180 endobj
1296 2181  
1297   -79 0 obj
  2182 +133 0 obj
1298 2183 <<
1299   - /A 83 0 R
1300   - /P 21 0 R
  2184 + /A 137 0 R
  2185 + /P 27 0 R
1301 2186 /Pg 3 0 R
1302 2187 /S /Standard
1303 2188 /Type /StructElem
1304 2189 >>
1305 2190 endobj
1306 2191  
1307   -80 0 obj
  2192 +134 0 obj
1308 2193 <<
1309 2194 /K [
1310 2195 0
1311 2196 ]
1312   - /P 21 0 R
  2197 + /P 27 0 R
1313 2198 /Pg 3 0 R
1314 2199 /S /Form
1315 2200 /Type /StructElem
1316 2201 >>
1317 2202 endobj
1318 2203  
1319   -81 0 obj
  2204 +135 0 obj
1320 2205 <<
1321 2206 /K [
1322 2207 1
1323 2208 ]
1324   - /P 21 0 R
  2209 + /P 27 0 R
1325 2210 /Pg 3 0 R
1326 2211 /S /Form
1327 2212 /Type /StructElem
1328 2213 >>
1329 2214 endobj
1330 2215  
1331   -82 0 obj
  2216 +136 0 obj
1332 2217 <<
1333 2218 /K [
1334 2219 2
1335 2220 ]
1336   - /P 21 0 R
  2221 + /P 27 0 R
1337 2222 /Pg 3 0 R
1338 2223 /S /Form
1339 2224 /Type /StructElem
1340 2225 >>
1341 2226 endobj
1342 2227  
1343   -83 0 obj
  2228 +137 0 obj
1344 2229 <<
1345 2230 /O /Layout
1346 2231 /Placement /Block
... ... @@ -1348,98 +2233,152 @@ endobj
1348 2233 endobj
1349 2234  
1350 2235 xref
1351   -0 84
  2236 +0 138
1352 2237 0000000000 65535 f
1353 2238 0000000025 00000 n
1354 2239 0000000219 00000 n
1355 2240 0000000414 00000 n
1356   -0000000731 00000 n
1357   -0000000891 00000 n
1358   -0000001063 00000 n
1359   -0000001120 00000 n
1360   -0000001161 00000 n
1361   -0000001478 00000 n
1362   -0000001521 00000 n
1363   -0000002069 00000 n
1364   -0000002090 00000 n
1365   -0000002123 00000 n
1366   -0000002466 00000 n
1367   -0000002796 00000 n
1368   -0000003139 00000 n
1369   -0000003483 00000 n
1370   -0000003826 00000 n
1371   -0000004156 00000 n
1372   -0000004500 00000 n
1373   -0000004820 00000 n
1374   -0000004956 00000 n
1375   -0000005073 00000 n
1376   -0000005132 00000 n
1377   -0000005174 00000 n
1378   -0000005493 00000 n
1379   -0000005537 00000 n
1380   -0000006081 00000 n
1381   -0000006102 00000 n
1382   -0000006148 00000 n
1383   -0000006207 00000 n
1384   -0000006249 00000 n
1385   -0000006568 00000 n
1386   -0000006612 00000 n
1387   -0000007156 00000 n
1388   -0000007177 00000 n
1389   -0000007223 00000 n
1390   -0000007282 00000 n
1391   -0000007324 00000 n
1392   -0000007643 00000 n
1393   -0000007687 00000 n
1394   -0000008236 00000 n
1395   -0000008257 00000 n
1396   -0000008303 00000 n
1397   -0000008362 00000 n
1398   -0000008404 00000 n
1399   -0000008723 00000 n
1400   -0000008767 00000 n
1401   -0000009312 00000 n
1402   -0000009333 00000 n
1403   -0000009379 00000 n
1404   -0000009438 00000 n
1405   -0000009480 00000 n
1406   -0000009799 00000 n
1407   -0000009843 00000 n
1408   -0000010392 00000 n
1409   -0000010413 00000 n
1410   -0000010459 00000 n
1411   -0000010518 00000 n
1412   -0000010560 00000 n
1413   -0000010879 00000 n
1414   -0000010923 00000 n
1415   -0000011471 00000 n
1416   -0000011492 00000 n
1417   -0000011538 00000 n
1418   -0000011597 00000 n
1419   -0000011639 00000 n
1420   -0000011958 00000 n
1421   -0000012002 00000 n
1422   -0000012546 00000 n
1423   -0000012567 00000 n
1424   -0000012613 00000 n
1425   -0000012672 00000 n
1426   -0000012714 00000 n
1427   -0000013033 00000 n
1428   -0000013077 00000 n
1429   -0000013620 00000 n
1430   -0000013641 00000 n
1431   -0000013664 00000 n
1432   -0000013758 00000 n
1433   -0000013853 00000 n
1434   -0000013948 00000 n
1435   -0000014043 00000 n
  2241 +0000000811 00000 n
  2242 +0000000971 00000 n
  2243 +0000001143 00000 n
  2244 +0000001200 00000 n
  2245 +0000001241 00000 n
  2246 +0000001558 00000 n
  2247 +0000001601 00000 n
  2248 +0000001865 00000 n
  2249 +0000001886 00000 n
  2250 +0000001909 00000 n
  2251 +0000002196 00000 n
  2252 +0000002216 00000 n
  2253 +0000002549 00000 n
  2254 +0000002570 00000 n
  2255 +0000002846 00000 n
  2256 +0000002876 00000 n
  2257 +0000003299 00000 n
  2258 +0000003709 00000 n
  2259 +0000004132 00000 n
  2260 +0000004556 00000 n
  2261 +0000004979 00000 n
  2262 +0000005393 00000 n
  2263 +0000005824 00000 n
  2264 +0000006231 00000 n
  2265 +0000006371 00000 n
  2266 +0000006491 00000 n
  2267 +0000006550 00000 n
  2268 +0000006592 00000 n
  2269 +0000006911 00000 n
  2270 +0000006955 00000 n
  2271 +0000007220 00000 n
  2272 +0000007241 00000 n
  2273 +0000007264 00000 n
  2274 +0000007546 00000 n
  2275 +0000007566 00000 n
  2276 +0000007899 00000 n
  2277 +0000007920 00000 n
  2278 +0000008196 00000 n
  2279 +0000008239 00000 n
  2280 +0000008298 00000 n
  2281 +0000008340 00000 n
  2282 +0000008659 00000 n
  2283 +0000008703 00000 n
  2284 +0000008967 00000 n
  2285 +0000008988 00000 n
  2286 +0000009011 00000 n
  2287 +0000009354 00000 n
  2288 +0000009374 00000 n
  2289 +0000009765 00000 n
  2290 +0000009786 00000 n
  2291 +0000010062 00000 n
  2292 +0000010105 00000 n
  2293 +0000010164 00000 n
  2294 +0000010206 00000 n
  2295 +0000010525 00000 n
  2296 +0000010569 00000 n
  2297 +0000010833 00000 n
  2298 +0000010854 00000 n
  2299 +0000010877 00000 n
  2300 +0000011225 00000 n
  2301 +0000011245 00000 n
  2302 +0000011636 00000 n
  2303 +0000011657 00000 n
  2304 +0000011933 00000 n
  2305 +0000011976 00000 n
  2306 +0000012035 00000 n
  2307 +0000012077 00000 n
  2308 +0000012396 00000 n
  2309 +0000012440 00000 n
  2310 +0000012706 00000 n
  2311 +0000012727 00000 n
  2312 +0000012750 00000 n
  2313 +0000013032 00000 n
  2314 +0000013052 00000 n
  2315 +0000013385 00000 n
  2316 +0000013406 00000 n
  2317 +0000013682 00000 n
  2318 +0000013725 00000 n
  2319 +0000013784 00000 n
  2320 +0000013826 00000 n
  2321 +0000014145 00000 n
  2322 +0000014189 00000 n
  2323 +0000014456 00000 n
  2324 +0000014477 00000 n
  2325 +0000014500 00000 n
  2326 +0000014843 00000 n
  2327 +0000014863 00000 n
  2328 +0000015259 00000 n
  2329 +0000015280 00000 n
  2330 +0000015556 00000 n
  2331 +0000015599 00000 n
  2332 +0000015658 00000 n
  2333 +0000015700 00000 n
  2334 +0000016019 00000 n
  2335 +0000016063 00000 n
  2336 +0000016327 00000 n
  2337 +0000016348 00000 n
  2338 +0000016372 00000 n
  2339 +0000016661 00000 n
  2340 +0000016682 00000 n
  2341 +0000017017 00000 n
  2342 +0000017039 00000 n
  2343 +0000017317 00000 n
  2344 +0000017361 00000 n
  2345 +0000017422 00000 n
  2346 +0000017465 00000 n
  2347 +0000017786 00000 n
  2348 +0000017831 00000 n
  2349 +0000018098 00000 n
  2350 +0000018120 00000 n
  2351 +0000018144 00000 n
  2352 +0000018428 00000 n
  2353 +0000018449 00000 n
  2354 +0000018784 00000 n
  2355 +0000018806 00000 n
  2356 +0000019084 00000 n
  2357 +0000019128 00000 n
  2358 +0000019189 00000 n
  2359 +0000019232 00000 n
  2360 +0000019553 00000 n
  2361 +0000019598 00000 n
  2362 +0000019864 00000 n
  2363 +0000019886 00000 n
  2364 +0000019910 00000 n
  2365 +0000020194 00000 n
  2366 +0000020215 00000 n
  2367 +0000020550 00000 n
  2368 +0000020572 00000 n
  2369 +0000020850 00000 n
  2370 +0000020871 00000 n
  2371 +0000020967 00000 n
  2372 +0000021063 00000 n
  2373 +0000021159 00000 n
  2374 +0000021255 00000 n
1436 2375 trailer <<
1437 2376 /DocChecksum /DA785F789D02970D387C264D0A6C8CB0
1438 2377 /Info 2 0 R
1439 2378 /Root 1 0 R
1440   - /Size 84
  2379 + /Size 138
1441 2380 /ID [<976442cb303b8d5e88a36a127de2a19f><31415926535897932384626433832795>]
1442 2381 >>
1443 2382 startxref
1444   -14099
  2383 +21312
1445 2384 %%EOF
... ...
qpdf/qtest/qpdf/manual-appearances.pdf
... ... @@ -956,12 +956,19 @@ q
956 956 0 0 103.45 53 re s
957 957 0 0 1 RG
958 958 5 5 15 15 re s
  959 +1 w
  960 +1 0 0 RG
  961 +-10 25 m
  962 +113.45 25 l
  963 +52 -10 m
  964 +52 63 l
  965 +s
959 966 Q
960 967 endstream
961 968 endobj
962 969  
963 970 38 0 obj
964   -60
  971 +113
965 972 endobj
966 973  
967 974 %% Original object ID: 39 0
... ... @@ -1084,12 +1091,19 @@ q
1084 1091 0 0 103.45 53 re s
1085 1092 0 0 1 RG
1086 1093 5 5 15 15 re s
  1094 +1 w
  1095 +1 0 0 RG
  1096 +-10 25 m
  1097 +113.45 25 l
  1098 +52 -10 m
  1099 +52 63 l
  1100 +s
1087 1101 Q
1088 1102 endstream
1089 1103 endobj
1090 1104  
1091 1105 46 0 obj
1092   -60
  1106 +113
1093 1107 endobj
1094 1108  
1095 1109 %% Original object ID: 47 0
... ... @@ -1227,12 +1241,19 @@ q
1227 1241 0 0 103.45 53 re s
1228 1242 0 0 1 RG
1229 1243 5 5 15 15 re s
  1244 +1 w
  1245 +1 0 0 RG
  1246 +-10 25 m
  1247 +113.45 25 l
  1248 +52 -10 m
  1249 +52 63 l
  1250 +s
1230 1251 Q
1231 1252 endstream
1232 1253 endobj
1233 1254  
1234 1255 54 0 obj
1235   -60
  1256 +113
1236 1257 endobj
1237 1258  
1238 1259 %% Original object ID: 55 0
... ... @@ -1372,12 +1393,19 @@ q
1372 1393 0 0 103.45 53 re s
1373 1394 0 0 1 RG
1374 1395 5 5 15 15 re s
  1396 +1 w
  1397 +1 0 0 RG
  1398 +-10 25 m
  1399 +113.45 25 l
  1400 +52 -10 m
  1401 +52 63 l
  1402 +s
1375 1403 Q
1376 1404 endstream
1377 1405 endobj
1378 1406  
1379 1407 62 0 obj
1380   -60
  1408 +113
1381 1409 endobj
1382 1410  
1383 1411 %% Original object ID: 63 0
... ... @@ -1500,12 +1528,19 @@ q
1500 1528 0 0 103.45 53 re s
1501 1529 0 0 1 RG
1502 1530 5 5 15 15 re s
  1531 +1 w
  1532 +1 0 0 RG
  1533 +-10 25 m
  1534 +113.45 25 l
  1535 +52 -10 m
  1536 +52 63 l
  1537 +s
1503 1538 Q
1504 1539 endstream
1505 1540 endobj
1506 1541  
1507 1542 70 0 obj
1508   -60
  1543 +113
1509 1544 endobj
1510 1545  
1511 1546 %% Original object ID: 71 0
... ... @@ -1644,12 +1679,19 @@ q
1644 1679 0 0 103.45 53 re s
1645 1680 0 0 1 RG
1646 1681 5 5 15 15 re s
  1682 +1 w
  1683 +1 0 0 RG
  1684 +-10 25 m
  1685 +113.45 25 l
  1686 +52 -10 m
  1687 +52 63 l
  1688 +s
1647 1689 Q
1648 1690 endstream
1649 1691 endobj
1650 1692  
1651 1693 78 0 obj
1652   -60
  1694 +113
1653 1695 endobj
1654 1696  
1655 1697 %% Original object ID: 79 0
... ... @@ -1772,12 +1814,19 @@ q
1772 1814 0 0 103.45 53 re s
1773 1815 0 0 1 RG
1774 1816 5 5 15 15 re s
  1817 +1 w
  1818 +1 0 0 RG
  1819 +-10 25 m
  1820 +113.45 25 l
  1821 +52 -10 m
  1822 +52 63 l
  1823 +s
1775 1824 Q
1776 1825 endstream
1777 1826 endobj
1778 1827  
1779 1828 86 0 obj
1780   -60
  1829 +113
1781 1830 endobj
1782 1831  
1783 1832 %% Original object ID: 87 0
... ... @@ -1900,12 +1949,19 @@ q
1900 1949 0 0 103.45 53 re s
1901 1950 0 0 1 RG
1902 1951 5 5 15 15 re s
  1952 +1 w
  1953 +1 0 0 RG
  1954 +-10 25 m
  1955 +113.45 25 l
  1956 +52 -10 m
  1957 +52 63 l
  1958 +s
1903 1959 Q
1904 1960 endstream
1905 1961 endobj
1906 1962  
1907 1963 94 0 obj
1908   -60
  1964 +113
1909 1965 endobj
1910 1966  
1911 1967 %% Original object ID: 95 0
... ... @@ -2027,12 +2083,19 @@ q
2027 2083 0 0 103.45 53 re s
2028 2084 0 0 1 RG
2029 2085 5 5 15 15 re s
  2086 +1 w
  2087 +1 0 0 RG
  2088 +-10 25 m
  2089 +113.45 25 l
  2090 +52 -10 m
  2091 +52 63 l
  2092 +s
2030 2093 Q
2031 2094 endstream
2032 2095 endobj
2033 2096  
2034 2097 102 0 obj
2035   -60
  2098 +113
2036 2099 endobj
2037 2100  
2038 2101 %% Original object ID: 103 0
... ... @@ -2568,106 +2631,106 @@ xref
2568 2631 0000010828 00000 n
2569 2632 0000011049 00000 n
2570 2633 0000011097 00000 n
2571   -0000011311 00000 n
2572   -0000011359 00000 n
2573   -0000011569 00000 n
2574   -0000011617 00000 n
2575   -0000011835 00000 n
2576   -0000011883 00000 n
2577   -0000011944 00000 n
2578   -0000012321 00000 n
2579   -0000012537 00000 n
2580   -0000012585 00000 n
2581   -0000012797 00000 n
2582   -0000012845 00000 n
2583   -0000013124 00000 n
2584   -0000013172 00000 n
2585   -0000013233 00000 n
2586   -0000013600 00000 n
2587   -0000013874 00000 n
2588   -0000013922 00000 n
2589   -0000014134 00000 n
2590   -0000014182 00000 n
2591   -0000014466 00000 n
2592   -0000014514 00000 n
2593   -0000014575 00000 n
2594   -0000014955 00000 n
2595   -0000015229 00000 n
2596   -0000015277 00000 n
2597   -0000015489 00000 n
2598   -0000015537 00000 n
2599   -0000015755 00000 n
2600   -0000015803 00000 n
2601   -0000015864 00000 n
2602   -0000016245 00000 n
  2634 +0000011364 00000 n
  2635 +0000011413 00000 n
  2636 +0000011623 00000 n
  2637 +0000011671 00000 n
  2638 +0000011889 00000 n
  2639 +0000011937 00000 n
  2640 +0000011998 00000 n
  2641 +0000012375 00000 n
  2642 +0000012644 00000 n
  2643 +0000012693 00000 n
  2644 +0000012905 00000 n
  2645 +0000012953 00000 n
  2646 +0000013232 00000 n
  2647 +0000013280 00000 n
  2648 +0000013341 00000 n
  2649 +0000013708 00000 n
  2650 +0000014035 00000 n
  2651 +0000014084 00000 n
  2652 +0000014296 00000 n
  2653 +0000014344 00000 n
  2654 +0000014628 00000 n
  2655 +0000014676 00000 n
  2656 +0000014737 00000 n
  2657 +0000015117 00000 n
  2658 +0000015444 00000 n
  2659 +0000015493 00000 n
  2660 +0000015705 00000 n
  2661 +0000015753 00000 n
  2662 +0000015971 00000 n
  2663 +0000016019 00000 n
  2664 +0000016080 00000 n
2603 2665 0000016461 00000 n
2604   -0000016509 00000 n
2605   -0000016721 00000 n
2606   -0000016769 00000 n
2607   -0000017048 00000 n
2608   -0000017096 00000 n
2609   -0000017157 00000 n
2610   -0000017537 00000 n
2611   -0000017816 00000 n
2612   -0000017864 00000 n
2613   -0000018076 00000 n
2614   -0000018124 00000 n
2615   -0000018347 00000 n
2616   -0000018395 00000 n
2617   -0000018456 00000 n
2618   -0000018823 00000 n
2619   -0000019039 00000 n
2620   -0000019087 00000 n
2621   -0000019299 00000 n
2622   -0000019347 00000 n
2623   -0000019565 00000 n
2624   -0000019613 00000 n
2625   -0000019674 00000 n
2626   -0000020055 00000 n
2627   -0000020271 00000 n
2628   -0000020319 00000 n
2629   -0000020531 00000 n
2630   -0000020579 00000 n
2631   -0000020797 00000 n
2632   -0000020845 00000 n
2633   -0000020907 00000 n
2634   -0000021276 00000 n
2635   -0000021494 00000 n
2636   -0000021544 00000 n
2637   -0000021758 00000 n
2638   -0000021831 00000 n
2639   -0000022152 00000 n
2640   -0000022203 00000 n
2641   -0000022375 00000 n
2642   -0000022502 00000 n
2643   -0000022629 00000 n
2644   -0000022950 00000 n
2645   -0000023001 00000 n
2646   -0000023128 00000 n
2647   -0000023449 00000 n
2648   -0000023500 00000 n
2649   -0000023627 00000 n
2650   -0000023948 00000 n
2651   -0000023999 00000 n
2652   -0000024126 00000 n
2653   -0000024447 00000 n
2654   -0000024498 00000 n
2655   -0000024625 00000 n
2656   -0000024946 00000 n
2657   -0000024997 00000 n
2658   -0000025124 00000 n
2659   -0000025445 00000 n
2660   -0000025496 00000 n
2661   -0000025623 00000 n
2662   -0000025944 00000 n
2663   -0000025995 00000 n
2664   -0000026122 00000 n
2665   -0000026443 00000 n
2666   -0000026494 00000 n
2667   -0000026621 00000 n
2668   -0000026748 00000 n
2669   -0000026875 00000 n
2670   -0000027002 00000 n
  2666 +0000016730 00000 n
  2667 +0000016779 00000 n
  2668 +0000016991 00000 n
  2669 +0000017039 00000 n
  2670 +0000017318 00000 n
  2671 +0000017366 00000 n
  2672 +0000017427 00000 n
  2673 +0000017807 00000 n
  2674 +0000018139 00000 n
  2675 +0000018188 00000 n
  2676 +0000018400 00000 n
  2677 +0000018448 00000 n
  2678 +0000018671 00000 n
  2679 +0000018719 00000 n
  2680 +0000018780 00000 n
  2681 +0000019147 00000 n
  2682 +0000019416 00000 n
  2683 +0000019465 00000 n
  2684 +0000019677 00000 n
  2685 +0000019725 00000 n
  2686 +0000019943 00000 n
  2687 +0000019991 00000 n
  2688 +0000020052 00000 n
  2689 +0000020433 00000 n
  2690 +0000020702 00000 n
  2691 +0000020751 00000 n
  2692 +0000020963 00000 n
  2693 +0000021011 00000 n
  2694 +0000021229 00000 n
  2695 +0000021277 00000 n
  2696 +0000021339 00000 n
  2697 +0000021708 00000 n
  2698 +0000021979 00000 n
  2699 +0000022030 00000 n
  2700 +0000022244 00000 n
  2701 +0000022317 00000 n
  2702 +0000022638 00000 n
  2703 +0000022689 00000 n
  2704 +0000022861 00000 n
  2705 +0000022988 00000 n
  2706 +0000023115 00000 n
  2707 +0000023436 00000 n
  2708 +0000023487 00000 n
  2709 +0000023614 00000 n
  2710 +0000023935 00000 n
  2711 +0000023986 00000 n
  2712 +0000024113 00000 n
  2713 +0000024434 00000 n
  2714 +0000024485 00000 n
  2715 +0000024612 00000 n
  2716 +0000024933 00000 n
  2717 +0000024984 00000 n
  2718 +0000025111 00000 n
  2719 +0000025432 00000 n
  2720 +0000025483 00000 n
  2721 +0000025610 00000 n
  2722 +0000025931 00000 n
  2723 +0000025982 00000 n
  2724 +0000026109 00000 n
  2725 +0000026430 00000 n
  2726 +0000026481 00000 n
  2727 +0000026608 00000 n
  2728 +0000026929 00000 n
  2729 +0000026980 00000 n
  2730 +0000027107 00000 n
  2731 +0000027234 00000 n
  2732 +0000027361 00000 n
  2733 +0000027488 00000 n
2671 2734 trailer <<
2672 2735 /DocChecksum /DA785F789D02970D387C264D0A6C8CB0
2673 2736 /Info 2 0 R
... ... @@ -2676,5 +2739,5 @@ trailer &lt;&lt;
2676 2739 /ID [<976442cb303b8d5e88a36a127de2a19f><1f7f023bcea1641cee1f72048a9d0676>]
2677 2740 >>
2678 2741 startxref
2679   -27059
  2742 +27545
2680 2743 %%EOF
... ...
qpdf/qtest/qpdf/merge-dict.out
... ... @@ -6,11 +6,9 @@
6 6 "/b": "conflict: seen",
7 7 "/c": [
8 8 2,
9   - 3,
10   - 1
  9 + 3
11 10 ],
12 11 "/d": {
13   - "/x": 24,
14 12 "/y": 25,
15 13 "/z": 26
16 14 },
... ... @@ -33,4 +31,14 @@
33 31 "two"
34 32 ]
35 33 }
  34 +/A
  35 +/B
  36 +/C
  37 +/a
  38 +/b
  39 +/c
  40 +/d
  41 +/e
  42 +/indirect2
  43 +/recursive
36 44 test 50 done
... ...
qpdf/qtest/qpdf/need-appearances-out.pdf
No preview for this file type
qpdf/test_driver.cc
... ... @@ -1760,10 +1760,16 @@ void runtest(int n, char const* filename1, char const* arg2)
1760 1760 // merge-dict.pdf
1761 1761 QPDFObjectHandle d1 = pdf.getTrailer().getKey("/Dict1");
1762 1762 QPDFObjectHandle d2 = pdf.getTrailer().getKey("/Dict2");
1763   - d1.mergeDictionary(d2);
  1763 + d1.mergeResources(d2);
1764 1764 std::cout << d1.getJSON().unparse() << std::endl;
1765 1765 // Top-level type mismatch
1766   - d1.mergeDictionary(d2.getKey("/k1"));
  1766 + d1.mergeResources(d2.getKey("/k1"));
  1767 + std::set<std::string> names = d1.getResourceNames();
  1768 + for (std::set<std::string>::iterator iter = names.begin();
  1769 + iter != names.end(); ++iter)
  1770 + {
  1771 + std::cout << *iter << std::endl;
  1772 + }
1767 1773 }
1768 1774 else
1769 1775 {
... ...