diff --git a/.github/tl_packages b/.github/tl_packages index 0630b10..ea7ca2b 100644 --- a/.github/tl_packages +++ b/.github/tl_packages @@ -34,6 +34,7 @@ l3backend l3build l3kernel l3packages +l3experimental latex latex-fonts latex-lab diff --git a/luamml-structelemwriter.lua b/luamml-structelemwriter.lua index 97a90ac..7c2e549 100644 --- a/luamml-structelemwriter.lua +++ b/luamml-structelemwriter.lua @@ -1,5 +1,6 @@ local struct_begin = token.create'tag_struct_begin:n' local struct_use = token.create'tag_struct_use:n' +local struct_use_num = token.create'tag_struct_use_num:n' local struct_end = token.create'tag_struct_end:' local mc_begin = token.create'tag_mc_begin:n' @@ -65,6 +66,11 @@ local function write_elem(tree, stash) return tex.sprint(struct_use, '{', tree[':struct'], '}') end) end + if tree[':structnum'] then + return tex.runtoks(function() + return tex.sprint(struct_use_num, '{', tree[':structnum'], '}') + end) + end if not tree[0] then print('ERR', require'inspect'(tree)) end local i = 0 for attr, val in next, tree do if type(attr) == 'string' and not string.find(attr, ':') and attr ~= 'xmlns' then diff --git a/luamml-tex-annotate.lua b/luamml-tex-annotate.lua index 050a00a..958b3ee 100644 --- a/luamml-tex-annotate.lua +++ b/luamml-tex-annotate.lua @@ -83,6 +83,18 @@ local function annotate() end end end + if annotation.structnum ~= nil then + local saved = props.mathml_filter + local structnum = annotation.structnum + function props.mathml_filter(mml, core) + mml[':structnum'] = structnum + if saved then + return saved(mml, core) + else + return mml, core + end + end + end else tex.error'Unable to annotate nucleus of node without nucleus' end diff --git a/luamml.dtx b/luamml.dtx index 651185a..c45dca1 100644 --- a/luamml.dtx +++ b/luamml.dtx @@ -93,7 +93,23 @@ % } % \end{verbatim} % produces a |TeX| element in the output instead of trying to import \TeX~as a mathematical expression. -% The table structure is explained in an appendix. +% +% It it possible to add a structure around the construct, stash that structure +% and then to tell \cmd{luamml_annotate:en} to insert it later inside the math. +% For this the keys \texttt{struct} (which takes a label as argument) or \texttt{structnum} +% (which takes a structure number) can be used. For example +% \begin{verbatim} +% $a = b \quad +% \tagstructbegin{tag=mtext,stash}\tagmcbegin{} +% \luamml_annotate:en{nucleus=true,structnum=\tag_get:n{struct_num}} +% {\mbox{some~text~with~\emph{structure}}} +% \tagmcend\tagstructend +% $ +% \end{verbatim} +% Such a construction should check that the flag for structure elements has actually +% been set to avoid orphaned structures if the stashed structure is ignored. +% +% More about the table structure is explained in an appendix. % % \section{Features \& Limitations} % Currently all mathematical expressions which purely contain Unicode encoded math mode material without embedded non-math should get converted successfully. diff --git a/testfiles-lua/test_structnum.pvt b/testfiles-lua/test_structnum.pvt new file mode 100644 index 0000000..a9e3ca3 --- /dev/null +++ b/testfiles-lua/test_structnum.pvt @@ -0,0 +1,35 @@ +\ExplSyntaxOn +\sys_gset_rand_seed:n{42} +\ExplSyntaxOff +\DocumentMetadata{ + lang=en, + testphase={phase-III,math}, + pdfversion=2.0, + pdfstandard=ua-2, + pdfstandard=a-4f, + uncompress +} +\input{regression-test} +\documentclass{article} + +\usepackage{unicode-math} + +% suppress writing of luamml-mathml +\tagpdfsetup{math/mathml/luamml/write=false} % + +% suppress mathml-AF reading +\tagpdfsetup{math/mathml/sources=} % +\tagpdfsetup{math/mathml/AF=false} +\begin{document} +\ExplSyntaxOn + +\luamml_structelem: +$a = b \quad + \tagstructbegin{tag=mtext,stash}\tagmcbegin{} + \luamml_annotate:en{nucleus=true,structnum=\tag_get:n{struct_num}} + {\mbox{some~text~with~\emph{structure}}} + \tagmcend\tagstructend +$ +\ExplSyntaxOff +\end{document} + diff --git a/testfiles-lua/test_structnum.tpf b/testfiles-lua/test_structnum.tpf new file mode 100644 index 0000000..6cd2230 --- /dev/null +++ b/testfiles-lua/test_structnum.tpf @@ -0,0 +1,783 @@ +%PDF-2.0 +%ÌÕÁÔÅØÐÄÆ +22 0 obj +<< /N 3 /Length 3268 >> +[BINARY STREAM] +endobj +23 0 obj +<< /Type /OutputIntent /S /GTS_PDFA1 /DestOutputProfile 22 0 R /OutputConditionIdentifier (IEC\040sRGB) /Info (IEC\04061966-2.1\040Default\040RGB\040colour\040space\040-\040sRGB) /RegistryName (http://www.iec.ch) >> +endobj +29 0 obj +<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<> /Length 192 >> +stream +$a=b\quad \tagstructbegin {tag=mtext,stash}\tagmcbegin {}\luamml_annotate:en {nucleus=true,structnum=\tag_get:n {struct_num}}{\mbox {some text with \emph {structure}}}\tagmcend \tagstructend $ +endstream +endobj +30 0 obj +<< /Type /Filespec /AFRelationship /Source /Desc (TeX source) /F (tag-AFfile1.tex) /UF /EF<> >> +endobj +36 0 obj +<< /O/NSO/NS130R/lspace(0.278em)/rspace(0.278em) >> +endobj +39 0 obj +<< /O/NSO/NS130R/width(9.963pt) >> +endobj +40 0 obj +<< /Type /Metadata /Subtype /XML /Length 16669 >> +stream + + + + + + + + XMP Media Management Schema + xmpMM + http://ns.adobe.com/xap/1.0/mm/ + + + + OriginalDocumentID + URI + internal + The common identifier for all versions and renditions of a document. + + + + + + PDF/A Identification Schema + pdfaid + http://www.aiim.org/pdfa/ns/id/ + + + + year + Integer + internal + Year of standard + + + rev + Integer + internal + Revision year of standard + + + + + + PDF/UA Universal Accessibility Schema + pdfuaid + http://www.aiim.org/pdfua/ns/id/ + + + + part + Integer + internal + Part of ISO 14289 standard + + + rev + Integer + internal + Revision of ISO 14289 standard + + + + + + PDF/X ID Schema + pdfxid + http://www.npes.org/pdfx/ns/id/ + + + + GTS_PDFXVersion + Text + internal + ID of PDF/X standard + + + + + + PRISM Basic Metadata + prism + http://prismstandard.org/namespaces/basic/3.0/ + + + + complianceProfile + Text + internal + PRISM specification compliance profile to which this document adheres + + + publicationName + Text + external + Publication name + + + aggregationType + Text + external + Publication type + + + bookEdition + Text + external + Edition of the book in which the document was published + + + volume + Text + external + Publication volume number + + + number + Text + external + Publication issue number within a volume + + + pageRange + Text + external + Page range for the document within the print version of its publication + + + issn + Text + external + ISSN for the printed publication in which the document was published + + + eIssn + Text + external + ISSN for the electronic publication in which the document was published + + + isbn + Text + external + ISBN for the publication in which the document was published + + + doi + Text + external + Digital Object Identifier for the document + + + url + URL + external + URL at which the document can be found + + + byteCount + Integer + internal + Approximate file size in octets + + + pageCount + Integer + internal + Number of pages in the print version of the document + + + subtitle + Text + external + Document's subtitle + + + + + + PDF Declarations Schema + pdfd + http://pdfa.org/declarations/ + + + + declarations + Bag declaration + external + An unordered array of PDF Declaration entries, where each PDF Declaration representing a statement of conformance with an identified external standard or profile, along with optional information identifying the nature of the claim. + + + + + + + claim + http://pdfa.org/declarations/ + pdfd + A structure describing properties of an individualclaim. + + + + claimReport + Text + A URL to a report containing details of the specific conformance claim. + + + claimCredentials + Text + The claimant's credentials. + + + claimDate + Text + A date identifying when the claim was made. + + + claimBy + Text + The name of the organization and/or individual and/or software making the claim. + + + + + + declaration + http://pdfa.org/declarations/ + pdfd + A structure describing a single PDF Declaration asserting conformance with an externally-identified standard or profile. + + + + conformsTo + Text + A property containing a URI specifying the standard or profile by the PDF Declaration. This property is intended to mirror the Dublin Core property dc:conformsTo. + + + claimData + Bag claim + An unordered array of claim data, where each claim identifies the nature of the claim. + + + + + + + + + + luahbtex-NN.NN.NN + 2.0 + 4 + F + 2020 + 2 + 2024 + + + + http://pdfa.org/declarations/wtpdf#accessibility1.0 + + + + LaTeX Project + 2016-05-20 + + + + + + http://pdfa.org/declarations/wtpdf#reuse1.0 + + + + LaTeX Project + 2016-05-20 + + + + + + + + + Text + + + + + en + + + + + 2016-05-20T09:00:00Z + + + application/pdf + test_structnum.tex + LaTeX + 2016-05-20T09:00:00Z + 2016-05-20T09:00:00Z + 2016-05-20T09:00:00Z + uuid:2b6fecb9-b74a-4265-883d-138c87e7152f + uuid:0a57c455-157a-4141-8c19-6237d832fc80 + three + 1 + + + + +endstream +endobj +43 0 obj +<< /Length 653 >> +stream +/opacity1 gs +/Artifact BMC +EMC +/mi<> BDC +BT +/F20 9.96264 Tf +1 0 0 1 148.712 657.235 Tm [<0510>]TJ +ET +EMC +/mo<> BDC +BT +/F20 9.96264 Tf +1 0 0 1 156.75 657.235 Tm [<001E>]TJ +ET +EMC +/mi<> BDC +BT +/F20 9.96264 Tf +1 0 0 1 167.268 657.235 Tm [<0511>]TJ +ET +EMC +/mtext<> BDC +BT +/F15 9.96264 Tf +1 0 0 1 181.505 657.235 Tm [<00620051004B0032006700690032007400690067007200420069003F0067>]TJ +ET +EMC +/Em<> BDC +BT +/F32 9.96264 Tf +1 0 0 1 249.898 657.235 Tm [<006200690060006D002B0069006D0060>51<0032>]TJ +ET +EMC +/Artifact BMC +EMC +/Artifact BMC +BT +/F15 9.96264 Tf +1 0 0 1 303.133 89.365 Tm [<0052>]TJ +ET +EMC +/Artifact BMC +EMC +endstream +endobj +42 0 obj +<< /Type /Page /Contents 43 0 R /Resources 41 0 R /MediaBox [ 0 0 612 792 ] /StructParents 0/Tabs /S /Parent 47 0 R >> +endobj +41 0 obj +<< /ExtGState 1 0 R /Font << /F20 44 0 R /F15 45 0 R /F32 46 0 R >> >> +endobj +1 0 obj +<< /opacity1 <> >> +endobj +48 0 obj +<< /Marked true >> +endobj +49 0 obj +[ 23 0 R ] +endobj +50 0 obj +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<> /Length 33 >> +stream +PDF standard A-4F requires a file +endstream +endobj +51 0 obj +<< /Type /Filespec /AFRelationship /Unspecified /Desc (note about PDF/A-4F) /F (readme.txt) /UF /EF<> >> +endobj +52 0 obj +<< /Names[(readme) 51 0 R] >> +endobj +6 0 obj +<< /Nums [0 [ 34 0 R 35 0 R 37 0 R 31 0 R 32 0 R] +] >> +endobj +53 0 obj +<< /Limits [(ID.002) (ID.014)]/Names [(ID.002) 21 0 R (ID.003) 24 0 R (ID.004) 25 0 R (ID.005) 26 0 R (ID.006) 27 0 R (ID.007) 28 0 R (ID.008) 31 0 R (ID.009) 32 0 R (ID.010) 33 0 R (ID.011) 34 0 R (ID.012) 35 0 R (ID.013) 37 0 R (ID.014) 38 0 R ] >> +endobj +54 0 obj +<< /Kids [53 0 R] >> +endobj +7 0 obj +<< /Artifact /NonStruct /DocumentFragment /Art /Aside /Note /H7 /H6 /H8 /H6 /H9 /H6 /H10 /H6 /Title /P /FENote /Note /Sub /Span /Em /Span /Strong /Span /title /P /part /P /section /H1 /subsection /H2 /subsubsection /H3 /paragraph /H4 /subparagraph /H5 /list /L /itemize /L /enumerate /L /description /L /quote /BlockQuote /quotation /BlockQuote /verbatim /P /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P /theorem-like /Sect /codeline /Span /float /Note /figures /Sect /tables /Sect >> +endobj +55 0 obj +<< /justify <> +/inline <> + >> +endobj +9 0 obj +<< /Type /Namespace /NS (http://iso.org/pdf/ssn) >> +endobj +11 0 obj +<< /Type /Namespace /NS (http://iso.org/pdf2/ssn) >> +endobj +13 0 obj +<< /Type /Namespace /NS (http://www.w3.org/1998/Math/MathML) >> +endobj +16 0 obj +<< /title [/Title 11 0 R] /part [/Title 11 0 R] /section [/H1 11 0 R] /subsection [/H2 11 0 R] /subsubsection [/H3 11 0 R] /paragraph [/H4 11 0 R] /subparagraph [/H5 11 0 R] /list [/L 11 0 R] /itemize [/L 11 0 R] /enumerate [/L 11 0 R] /description [/L 11 0 R] /quote [/BlockQuote 9 0 R] /quotation [/BlockQuote 9 0 R] /verbatim [/P 11 0 R] /item [/LI 11 0 R] /itemlabel [/Lbl 11 0 R] /itembody [/LBody 11 0 R] /footnote [/FENote 11 0 R] /footnotemark [/Lbl 11 0 R] /footnotelabel [/Lbl 11 0 R] /text-unit [/Part 11 0 R] /text [/P 11 0 R] /theorem-like [/Sect 11 0 R] /codeline [/Sub 11 0 R] /float [/Aside 11 0 R] /figures [/Sect 11 0 R] /tables [/Sect 11 0 R] >> +endobj +15 0 obj +<< /Type /Namespace /NS (https://www.latex-project.org/ns/dflt/2022) /RoleMapNS 16 0 R >> +endobj +18 0 obj +<< /chapter [/H1 11 0 R] /section [/H2 11 0 R] /subsection [/H3 11 0 R] /subsubsection [/H4 11 0 R] /paragraph [/H5 11 0 R] /subparagraph [/H6 11 0 R] >> +endobj +17 0 obj +<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> +endobj +19 0 obj +<< /Type /Namespace /NS (data:,C9B55C18-275C-494E-C10F-E4B83CD03F23) >> +endobj +8 0 obj +[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] +endobj +21 0 obj +<< /Type /StructElem /S /Document /NS 11 0 R /P 5 0 R /K 26 0 R /ID (ID.002) >> +endobj +24 0 obj +<< /Type /StructElem /S /Artifact /NS 15 0 R /P 5 0 R /ID (ID.003) >> +endobj +25 0 obj +<< /Type /StructElem /S /Artifact /NS 15 0 R /P 5 0 R /ID (ID.004) >> +endobj +26 0 obj +<< /Type /StructElem /S /text-unit /NS 15 0 R /P 21 0 R /K 27 0 R /ID (ID.005) >> +endobj +27 0 obj +<< /Type /StructElem /C /justify /S /text /NS 15 0 R /P 26 0 R /K [ 28 0 R ] /ID (ID.006) >> +endobj +28 0 obj +<< /Type /StructElem /C /inline /AF [30 0 R] /T /S /Formula /NS 11 0 R /P 27 0 R /K [ 33 0 R] /ID (ID.007) >> +endobj +31 0 obj +<< /Type /StructElem /S /mtext /NS 13 0 R /P 33 0 R /K [<> 32 0 R ] /ID (ID.008) >> +endobj +32 0 obj +<< /Type /StructElem /S /Em /NS 11 0 R /P 31 0 R /K <> /ID (ID.009) >> +endobj +33 0 obj +<< /Type /StructElem /S /math /NS 13 0 R /P 28 0 R /K [34 0 R 35 0 R 37 0 R 38 0 R 31 0 R] /ID (ID.010) >> +endobj +34 0 obj +<< /Type /StructElem /S /mi /NS 13 0 R /P 33 0 R /K <> /ID (ID.011) >> +endobj +35 0 obj +<< /Type /StructElem /A 36 0 R /S /mo /NS 13 0 R /P 33 0 R /K <> /ID (ID.012) >> +endobj +37 0 obj +<< /Type /StructElem /S /mi /NS 13 0 R /P 33 0 R /K <> /ID (ID.013) >> +endobj +38 0 obj +<< /Type /StructElem /A 39 0 R /S /mspace /NS 13 0 R /P 33 0 R /ID (ID.014) >> +endobj +5 0 obj +<< /Type /StructTreeRoot /Namespaces 8 0 R /IDTree 54 0 R /ClassMap 55 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 21 0 R >> +endobj +56 0 obj +[ 43 [ 460 ] 50 [ 460 ] 96 [ 422 ] 98 [ 409 ] 105 [ 332 ] 109 [ 537 ] ] +endobj +58 0 obj +<< /Subtype /CIDFontType0C /Length 1274 >> +[BINARY STREAM] +endobj +57 0 obj +<< /Type /FontDescriptor /FontName /ADNFRA+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 58 0 R >> +endobj +59 0 obj +<< /Length 757 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-ADNFRA-LMRoman10-Italic-0) +%%Title: (TeX-ADNFRA-LMRoman10-Italic-0 TeX ADNFRA-LMRoman10-Italic 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (ADNFRA-LMRoman10-Italic) +/Supplement 0 +>> def +/CMapName /TeX-Identity-ADNFRA-LMRoman10-Italic def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +0 beginbfrange +endbfrange +6 beginbfchar +<002B> <0063> +<0032> <0065> +<0060> <0072> +<0062> <0073> +<0069> <0074> +<006D> <0075> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj +46 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ADNFRA+LMRoman10-Italic /DescendantFonts [ 60 0 R ] /ToUnicode 59 0 R >> +endobj +60 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ADNFRA+LMRoman10-Italic /FontDescriptor 57 0 R /W 56 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +61 0 obj +[ 50 [ 444 ] 63 [ 556 ] 66 [ 278 ] 75 [ 833 ] 81 [ 500 500 ] 98 [ 394 ] 103 [ 333 ] 105 [ 389 ] 114 [ 722 ] 116 [ 528 ] ] +endobj +63 0 obj +<< /Subtype /CIDFontType0C /Length 1812 >> +[BINARY STREAM] +endobj +62 0 obj +<< /Type /FontDescriptor /FontName /GZYIXU+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 63 0 R >> +endobj +64 0 obj +<< /Length 833 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-GZYIXU-LMRoman10-Regular-0) +%%Title: (TeX-GZYIXU-LMRoman10-Regular-0 TeX GZYIXU-LMRoman10-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (GZYIXU-LMRoman10-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-GZYIXU-LMRoman10-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +0 beginbfrange +endbfrange +11 beginbfchar +<0032> <0065> +<003F> <0068> +<0042> <0069> +<004B> <006D> +<0051> <006F> +<0052> <0031> +<0062> <0073> +<0067> <0020> +<0069> <0074> +<0072> <0077> +<0074> <0078> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj +45 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GZYIXU+LMRoman10-Regular /DescendantFonts [ 65 0 R ] /ToUnicode 64 0 R >> +endobj +65 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GZYIXU+LMRoman10-Regular /FontDescriptor 62 0 R /W 61 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +66 0 obj +[ 30 [ 778 ] 1296 [ 529 429 ] ] +endobj +68 0 obj +<< /Subtype /CIDFontType0C /Length 984 >> +[BINARY STREAM] +endobj +67 0 obj +<< /Type /FontDescriptor /FontName /NFEDYW+LatinModernMath-Regular /Flags 4 /FontBBox [ -1042 -3060 4082 3560 ] /Ascent 806 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 68 0 R >> +endobj +69 0 obj +<< /Length 758 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-NFEDYW-LatinModernMath-Regular-0) +%%Title: (TeX-NFEDYW-LatinModernMath-Regular-0 TeX NFEDYW-LatinModernMath-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (NFEDYW-LatinModernMath-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-NFEDYW-LatinModernMath-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +0 beginbfrange +endbfrange +3 beginbfchar +<001E> <003D> +<0510> +<0511> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj +44 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /NFEDYW+LatinModernMath-Regular /DescendantFonts [ 70 0 R ] /ToUnicode 69 0 R >> +endobj +70 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /NFEDYW+LatinModernMath-Regular /FontDescriptor 67 0 R /W 66 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +47 0 obj +<< /Type /Pages /Count 1 /Kids [ 42 0 R ] >> +endobj +71 0 obj +<< /EmbeddedFiles 52 0 R >> +endobj +72 0 obj +<< /Type /Catalog /Pages 47 0 R /Names 71 0 R /MarkInfo 48 0 R/OutputIntents 49 0 R/Lang (en)/Metadata 40 0 R/StructTreeRoot 5 0 R >> +endobj +xref +0 73 +0000000002 65535 f +0000021934 00000 n +0000000003 00000 f +0000000004 00000 f +0000000010 00000 f +0000026429 00000 n +0000022448 00000 n +0000022823 00000 n +0000024880 00000 n +0000023505 00000 n +0000000012 00000 f +0000023573 00000 n +0000000014 00000 f +0000023643 00000 n +0000000020 00000 f +0000024406 00000 n +0000023724 00000 n +0000024684 00000 n +0000024513 00000 n +0000024791 00000 n +0000000000 00000 f +0000024941 00000 n +0000000020 00000 n +0000003353 00000 n +0000025039 00000 n +0000025127 00000 n +0000025215 00000 n +0000025315 00000 n +0000025426 00000 n +0000003586 00000 n +0000003921 00000 n +0000025577 00000 n +0000025711 00000 n +0000025832 00000 n +0000025957 00000 n +0000026078 00000 n +0000004121 00000 n +0000026210 00000 n +0000026331 00000 n +0000004189 00000 n +0000004240 00000 n +0000021847 00000 n +0000021712 00000 n +0000020999 00000 n +0000035068 00000 n +0000032552 00000 n +0000029052 00000 n +0000035434 00000 n +0000021981 00000 n +0000022017 00000 n +0000022044 00000 n +0000022213 00000 n +0000022402 00000 n +0000022519 00000 n +0000022786 00000 n +0000023402 00000 n +0000026566 00000 n +0000028012 00000 n +0000026654 00000 n +0000028235 00000 n +0000029205 00000 n +0000029404 00000 n +0000031438 00000 n +0000029542 00000 n +0000031659 00000 n +0000032706 00000 n +0000032906 00000 n +0000034022 00000 n +0000032954 00000 n +0000034250 00000 n +0000035228 00000 n +0000035496 00000 n +0000035540 00000 n +trailer +<< /Size 73 /Root 72 0 R /ID [ <2350CAD05F8A7AF0AA4058486855344F> <2350CAD05F8A7AF0AA4058486855344F> ] >> +startxref +35690 +%%EOF