From 8b72ecd0c096af2788f6f59a7df4fccec7e48a5d Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Fri, 9 Oct 2026 14:45:40 +0800 Subject: [PATCH 1/7] feat(docx): convert embedded Word, Excel and PowerPoint objects Word stores an embedded Office document as a package part behind an OLE object. The backend kept only the preview picture of the object, so the content of the document was lost. Add the opt-in MsWordBackendOptions.process_embedded_objects option. When it is set, the backend converts each embedded .docx, .xlsx or .pptx part with its own backend and copies the result into a group, after the preview picture of the object. - The copy remaps captions, footnotes, references, comments and rich table cells, because DoclingDocument.add_document keeps their old indexes. It also removes the page provenance, because a Word document has no pages. - The embedded document uses the default options of its backend, so the objects embedded in it are not converted. - Each part is converted once, also when several objects share it. - Linked objects, binary OLE objects and documents that fail to convert keep only their preview picture, with a warning for a failure. Refs #2051 Signed-off-by: Daniel Nguyen --- docling/backend/msword_backend.py | 185 ++++++++++++++++++++++++++- docling/datamodel/backend_options.py | 13 ++ 2 files changed, 193 insertions(+), 5 deletions(-) diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py index 827f0e0e9a..4d265d8694 100644 --- a/docling/backend/msword_backend.py +++ b/docling/backend/msword_backend.py @@ -12,7 +12,7 @@ from copy import deepcopy from io import BytesIO from pathlib import Path -from typing import Any, Callable, Final, NamedTuple +from typing import Any, Callable, Final, NamedTuple, TypeVar from urllib.parse import urlparse from docling_core.types.doc import ( @@ -22,6 +22,7 @@ DocItemLabel, DoclingDocument, DocumentOrigin, + FloatingItem, GroupLabel, ImageRef, ListGroup, @@ -51,6 +52,8 @@ get_pil_from_dml_docx, ) from docling.backend.docx.latex.omml import oMath2Latex +from docling.backend.msexcel_backend import MsExcelDocumentBackend +from docling.backend.mspowerpoint_backend import MsPowerpointDocumentBackend from docling.backend.utils.image import normalize_image_for_png from docling.datamodel.backend_options import MsWordBackendOptions from docling.datamodel.base_models import FormatToMimeType @@ -149,6 +152,7 @@ ) _MC_NS: Final[str] = "http://schemas.openxmlformats.org/markup-compatibility/2006" _V_NS: Final[str] = "urn:schemas-microsoft-com:vml" +_O_NS: Final[str] = "urn:schemas-microsoft-com:office:office" _WPS_NS: Final[str] = ( "http://schemas.microsoft.com/office/word/2010/wordprocessingShape" ) @@ -166,12 +170,23 @@ "wp": _WP_NS, "mc": _MC_NS, "v": _V_NS, + "o": _O_NS, "wps": _WPS_NS, "w10": _W10_NS, "a14": _A14_NS, "w14": _W14_NS, } +_EMBEDDED_DOCUMENT_FORMATS: Final[dict[str, InputFormat]] = { + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": InputFormat.DOCX, + "application/vnd.ms-word.document.macroEnabled.12": InputFormat.DOCX, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": InputFormat.XLSX, + "application/vnd.ms-excel.sheet.macroEnabled.12": InputFormat.XLSX, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": InputFormat.PPTX, + "application/vnd.ms-powerpoint.presentation.macroEnabled.12": InputFormat.PPTX, +} +"""Content types of the embedded OLE packages that are converted, by input format.""" + _OOXML_ROOT_RELS: Final[str] = "_rels/.rels" """OPC root relationships part; its ``officeDocument`` type identifies Strict vs Transitional.""" @@ -649,6 +664,22 @@ def _normalize_strict_ooxml(archive: zipfile.ZipFile) -> BytesIO: return normalized +_RefT = TypeVar("_RefT", bound=RefItem) + + +def _remap_refs(refs: list[_RefT], copies: dict[str, NodeItem]) -> list[_RefT]: + """Point references at the copies of their targets. + + A reference to an item that was not copied is dropped. A ``FineRef`` keeps + its character range. + """ + return [ + ref.model_copy(update={"cref": copies[ref.cref].self_ref}) + for ref in refs + if ref.cref in copies + ] + + class _NestedList(NamedTuple): """A list opened under an open list's item for its larger left indentation. @@ -805,6 +836,12 @@ def __init__( self.vml_imagedata_xpath_expr = etree.XPath( ".//v:imagedata", namespaces=_OOXML_NAMESPACES ) + self.ole_object_xpath_expr = etree.XPath( + "ancestor::w:object[1]/o:OLEObject", namespaces=_OOXML_NAMESPACES + ) + # Part names of the embedded documents already converted, so a part that + # several objects share is converted only once. + self.converted_embedded_parts: set[str] = set() # self.initialise(path_or_stream) # Word file: self.path_or_stream: BytesIO | Path = path_or_stream @@ -923,6 +960,7 @@ def convert(self) -> DoclingDocument: # Reset mappings for a fresh conversion pass self.paragraph_comment_map.clear() self.paragraph_to_items.clear() + self.converted_embedded_parts.clear() doc, _ = self._walk_linear(self.docx_obj.element.body, doc) self._add_header_footer(self.docx_obj, doc) # Add comments and link them to annotated paragraphs @@ -3939,14 +3977,151 @@ def _handle_vml_pictures( ) is_spacer = self._is_invisible_spacer(pil_image) - elem_ref.append( - self._add_picture_to_doc( - doc, parent, pil_image, is_spacer=is_spacer - ) + embedded = ( + self._convert_embedded_object(imagedata) + if isinstance(self.options, MsWordBackendOptions) + and self.options.process_embedded_objects + else None ) + if embedded is None: + elem_ref.append( + self._add_picture_to_doc( + doc, parent, pil_image, is_spacer=is_spacer + ) + ) + else: + filename, embedded_doc = embedded + object_group = doc.add_group( + label=GroupLabel.SECTION, + name=f"embedded: {filename}", + parent=parent, + content_layer=self.content_layer, + ) + elem_ref.append( + self._add_picture_to_doc( + doc, object_group, pil_image, is_spacer=is_spacer + ) + ) + self._add_embedded_document(doc, embedded_doc, object_group) return elem_ref + def _convert_embedded_object( + self, imagedata: Any + ) -> tuple[str, DoclingDocument] | None: + """Convert the Office document embedded in the OLE object of a VML picture. + + Word stores an embedded Word, Excel or PowerPoint document as a package + part, and the ``v:imagedata`` only holds its preview picture. + + Args: + imagedata: The ``v:imagedata`` element of the preview picture. + + Returns: + The file name of the embedded part and its converted document, or + ``None`` if the picture is not the preview of an embedded Word, Excel + or PowerPoint document, if the part was already converted, or if the + conversion fails. + """ + ole_objects = self.ole_object_xpath_expr(imagedata) + if not ole_objects: + return None + rel_id = ole_objects[0].get(f"{{{_R_NS}}}id") + rels = self.current_part.rels + if rel_id is None or rel_id not in rels or rels[rel_id].is_external: + return None + part = rels[rel_id].target_part + input_format = _EMBEDDED_DOCUMENT_FORMATS.get(part.content_type) + if input_format is None or part.partname in self.converted_embedded_parts: + return None + self.converted_embedded_parts.add(part.partname) + + backend_cls: type[DeclarativeDocumentBackend] + if input_format == InputFormat.XLSX: + backend_cls = MsExcelDocumentBackend + elif input_format == InputFormat.PPTX: + backend_cls = MsPowerpointDocumentBackend + else: + backend_cls = MsWordDocumentBackend + + filename = part.partname.filename + try: + in_doc = InputDocument( + path_or_stream=BytesIO(part.blob), + format=input_format, + backend=backend_cls, + filename=filename, + ) + if not in_doc.valid: + _log.warning(f"Embedded document {filename} cannot be opened") + return None + backend = in_doc._backend + assert isinstance(backend, DeclarativeDocumentBackend) + try: + return filename, backend.convert() + finally: + backend.unload() + except Exception as exc: + # A broken or unsupported embedded document must not fail the + # conversion of the Word document. Its preview picture is kept. + _log.warning(f"Embedded document {filename} cannot be converted: {exc}") + return None + + def _add_embedded_document( + self, doc: DoclingDocument, embedded_doc: DoclingDocument, parent: NodeItem + ) -> None: + """Copy the body of an embedded document under a node of this document. + + ``DoclingDocument.add_document`` copies the tree, but the captions, + footnotes, references, comments and rich table cells of the copies still + point at item indexes of the embedded document, so they are remapped + here. The page provenance is removed, because a Word document has no + pages. + + Args: + doc: The DoclingDocument being constructed. + embedded_doc: The converted embedded document. + parent: The node that receives the copied items. + """ + first_copy = len(parent.children) + doc.add_document(embedded_doc, parent=parent) + + copies: dict[str, NodeItem] = {} + for source_ref, copy_ref in zip( + embedded_doc.body.children, parent.children[first_copy:], strict=True + ): + for (source, _), (copy, _) in zip( + embedded_doc.iterate_items( + root=source_ref.resolve(embedded_doc), + with_groups=True, + traverse_pictures=True, + included_content_layers=set(ContentLayer), + ), + doc.iterate_items( + root=copy_ref.resolve(doc), + with_groups=True, + traverse_pictures=True, + included_content_layers=set(ContentLayer), + ), + strict=True, + ): + copies[source.self_ref] = copy + + for item in copies.values(): + if item.content_layer == ContentLayer.BODY: + item.content_layer = self.content_layer + if isinstance(item, DocItem): + item.prov = [] + item.comments = _remap_refs(item.comments, copies) + if isinstance(item, FloatingItem): + item.captions = _remap_refs(item.captions, copies) + item.footnotes = _remap_refs(item.footnotes, copies) + item.references = _remap_refs(item.references, copies) + if isinstance(item, TableItem): + for cell in item.data.table_cells: + if isinstance(cell, RichTableCell): + cell.ref = copies[cell.ref.cref].get_ref() + def _handle_drawingml(self, doc: DoclingDocument, drawingml_els: Any): """Handle DrawingML elements by converting to image via DOCX->PDF->PNG. diff --git a/docling/datamodel/backend_options.py b/docling/datamodel/backend_options.py index 61c386b554..3c8a1d478d 100644 --- a/docling/datamodel/backend_options.py +++ b/docling/datamodel/backend_options.py @@ -499,6 +499,19 @@ class MsWordBackendOptions(BaseBackendOptions): ), ) + process_embedded_objects: bool = Field( + False, + description=( + "Whether to convert the Word, Excel and PowerPoint documents that are " + "embedded as OLE objects. The content of each one is added after the " + "preview picture of the object, and both are grouped together. An " + "embedded document is converted with the default options of its " + "backend, so the objects embedded in it are not converted. Linked " + "objects and other embedded objects keep only their preview picture. " + "Opt-in (default False)." + ), + ) + use_outline_level_for_headings: Annotated[ bool, Field( From 29f82777eea5b505eed1b373dec400afa7a5748b Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Fri, 9 Oct 2026 14:45:40 +0800 Subject: [PATCH 2/7] test(docx): cover the conversion of embedded objects Add a fixture made in Microsoft Word. It embeds a workbook, a presentation, a Word document that embeds a workbook of its own, and a text file. The author name and local paths were removed from it. The tests check the default behaviour, the position and content of each embedded document, the single conversion level, DocTags export, rich table cell references, broken and linked objects, a missing format extra, and a part that two objects share. Signed-off-by: Daniel Nguyen --- .../docx_embedded_objects.docx | Bin 0 -> 63499 bytes tests/test_backend_msword_embedded_objects.py | 261 ++++++++++++++++++ 2 files changed, 261 insertions(+) create mode 100644 tests/data/docx/embedded_objects/docx_embedded_objects.docx create mode 100644 tests/test_backend_msword_embedded_objects.py diff --git a/tests/data/docx/embedded_objects/docx_embedded_objects.docx b/tests/data/docx/embedded_objects/docx_embedded_objects.docx new file mode 100644 index 0000000000000000000000000000000000000000..0c18496e44975a4fc38e5af9a25efe5ad94d4199 GIT binary patch literal 63499 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%0D$ z+iW=&G-G}_lD+);FVy#lt%&+QM`Ly0RwoHdHNSOEZ86`5JUGA2v0YwCw=}h@#Yq?2 zk`5H}t3l=0AU%V0#v;i88V#Agw%x~vmTkB8!+Ds1b1()cp_=BOMkgUd&-I{mZ;AW^ zXsmWozXa4f!Kqf4Kf{i7$vaNsv$Y4#!f_Zbu0_=} zzZ7PZh2~d^{2C~(qxJxm*@iR*_l^nO@Aq?;oc!b^huQ{_T9FO_ugxm4KTl)+AbR5% z`s8sq1>?9woPyJ?hfY8@mWJUB{+-3TNvz9a%Q5#k0x!ZS_NS3sp&$8lX`+2)wJ10F zmZ}?e|wbz)Zc`hc}@`+loA=cF{jYUOwYM zY5@E9)vJBo)-rX~E1c5D$@Y0szKUm!rD^ZHL1W&=`Wh%rQ`n~qnI1;whm7+^rnwfT zvZ=D?4H`D2DbDi-+k$*xsn)Y!ow@IEANIv%IEk<^to6ngeUx;)TJ&l3#uoXc#lA_v z_ltQ`0XXGc5`+1Ey@Aw?6bH{rcvzYi8xOfJ-VN9nF=ea!;=+>Oz9`pBTAR-x(UpgM zXOnKX1rKhcHRyoBzo63*%=f@icLzI-yBD2VY2u_FpV36~kuCRYo|8WFaa*d)d{4tm zIMW!uAxfS)F;5C+`=DG${N7=yqq)4#w6^pi<$QE{SXh1+gvdCA`Q50^ z({KXUaN7A#;eJ2nj$t{|TE}To#}v2x(w|NFhxGg;<53^^xh)YQKk?~7nTG+2@6)}I zYXc~|=6&Rv)|lz+Kz8kd*>5w*_UJ;_0a>j zm9y_|SN2l5qm+Xa%dtV%GuD}z8TZLNZSc;K)V5aS$|1Iu$vhb~X+ zGV|ect~|ampQP5?sAzlLn0H!_ZGk(Y);)*%{m3jaT$y z{BpU@XB;cTJo)ZwuER~p!_io%UG7JR6DxZM@1EG5P?&cXF7);O_x$)Cdb)hwQ*dTo z*e2ju9otFAwrv|ue!rcErH!+KkjW4-1qwiSS8lob-@sgM2WC|w6z=T-rLCT_T~*cTDZ8Z`52Vs*-N_oKHS0u z6jaT$)}e@U4}H7$7WUKhW!#rN_7;Ax9htfI-=dvZ!+BFzx}?*M$)V@U5D7C$g}0W#lCz!ZIY z@*mn~o413A9C31u_BEXKCtBN83h%q&nd=na@o;G*tgCge2og8UQ2gwvHJn}H=`}65 ziP4#TvsIAoAP4}%Z$-JA|NMYt%E+)Hti@T22ES@ za%$)~a^$)F|BT{m>YLYh*0_M65Ti4nJDm5S9D7U3BV}YQPC(YktJ0GCFB57T$Dx`3 z{h}sh;JLQN5+B$o2XZX4I$dsL9^-}BQI+-33h?C4Lw&&hNl6AuZ;oU$6XALSVD9uNg6Fuxv_nkn&r)(_bNo%f?T_^>s&KOsuu)k!X0-@#sX?Mr*p-CfHCZmR6 zKa0L3fXvb?;+({p!T(loj$ZV|{B~nqaZRroFNmNqHWPL;ZNvWF^f6GROs)Eul(uYQ zY*5Ipf@h8jG<_B2_uO!}ehC*gc$)G7eE8@`?sczn^eMm5nF zvp06N{YRTK{7ZiJ239%VZ^tX?r^I3pVvxV!@E}6pvdjOEW$xP8Vx@wc zgp)6M+98=zb~J`p90-%B-KW}EAb~m(*_ymuz9wK2@v+YhlAkJzJkg3OnQq5AGbNp& zHeI6}NF&dP)NE8>RC$H5qS(}FdRCeV7d~Vi%g#PlVElqxe{Uk!us4skjOcid_?6L* zUJXuI?%Y@O--yT$%11y3%bBJ-U4`U-Op<|o^eWm|7z)X>q95LIv5R6UP^;>Phykwt zK>a?0o}s&H(Phb|rvDPA#68tWi242?6!7@<^*LFnlPY}+`=aeA8=%J{x4Om|Y(8f_ zpKsKj1Ys!^N@mi*I%oy-jmSFK1Y)Km4nl*|= zYMC!IQQeN7ATHZ2r)2AyG`TCuR*IpB3+hFO>I4-E!>cXa0&1`M5 z8GG6q_B_CT_y$J7N_d#hFNF#Q+_Q|gz$6Y!{4M~KKMhbxFAxNO{QdVxaens=>bRVk zgxi@47u;z^j|2_3lbF0EXXcMC=AbqAjHSmwo3J(P4e={q7Jp#m?XQ@P8Cj(NI*sRw z_3EPjGUEjEFLO{Pkt%^@ZB*rLx>KK4fCgI|6c=ZTx7+4%R7aXs99uZ|eSC^UrWJ1VBoZnIVLgtGSNC!Ksx? z9kIWfX(Qq#gi4;eRwx$nPIyGz9{d7%A(b-)6k=q`(d~e^axaw?8+*TPPlGgvsv=Gr zVG&I6W-3+=R?L(-4m`>!$mm??cnB%C$r_<~E!V1Ls2b}98XK-v++(HZ->Qkp|2kY@ zFd42WZ04<%VhbUGQ!Qi?!f>4;0S`u`H4W`t!n|{!@AaGdO0f+^|9r)?d!!3o?p#5h1#8}rA488x@NpNftU2|?$i2kVB*ft24iA?rouWPnW zG)<_h`E6M(-u@Ah+%cO=?|;L`l&_?x4!@=~_+lzx?ob3V#AtC;2n$_pSSx6-`}+wB z1UTfiN1fY!@%(nVBdyjPf|XW^^7WJ#-NWJ%h`KhEh&`~q`3AeCxUXx{`jOj`3PhM>0k$-`ubxzN8baiFLXsh5W}bFP)O}zB#5-!KLimUeyqF_l!+z zs=*C5hsI&Xk=;N-%jn4?QQ74#?!WVvyce#`cxoTea%GkLdtG6qdRYu9`MQFC8P~-G zcTJ{~Y+NCfTiPeN2E+n?B0fFd>+NT6nO7J7O&&~{%@4Z0q_W3dXJ4(%rL+pJ2$YxY z?Kg678k%qh=Vd9jp_oCPvYdaDsO*KPH}7%8;R5Sw#xR&dZ*n$&&F*AYDk#vNYRq6} z9VnWB^RKUESuTXY4JaB};uV>D9f!U{<%oF}^nYA7Yha=(bSe&ZHPJ-Gpj|$3B9(Mb zv|WGU4gid-R@9XhsPm!~z3NDTpSwX2u*10qFLBT2SH9_LhIY$pkA=?fNMvUHN<{KJ zpNrO4(0cv(;#Z1peOyhaoxBsL?|QQ<&51?bkK6c{@E*lW9TdcF+|u*gyTH2` zw;YxSxe%+CXZGGYaITv3(XiL47gLVA$>qe~DdSPmWm7d0?BKrI)A}8%GZ1Qy6W^0z zDwvdZaRH(9SxxLZTr1`#q7L(WVOl#HKF3;%c&W7mIAKY<9_d!~JGRk`&-@&bj^+31 zibVy3%TSM3`g|hrBb18E50*XpJw5Q9EuO&6-0+6?Jb_64>&yPKCdlhqQ)XondPX)0 zWfPCfYFv~5UMYaaRaB=+`lS$>{}qQFxpTuf1o=sFWd$IVwYfZ5WSGVfpqgNNSZ4Tk zZH6Wj>))XD#J`PCQ^UrSEKEb5D_8fczJ5xi!Lf<KsAO61sZrmOZ^Dq-!^YaJ3 zTaqNhNHKti3QWfhW}V2k1`Qs*rRp?b3KAk^h~M8Y})`NR|wmg%(?G zVa79d#ThN_nD{`DQKW1fiqw401iF>DzF!e}tx(hlJRqJMR>1I=GUw-K4lk)cbl(Q_@+gcL-|%jm1iGvLLkLTF%KtZ>@#0W(o@W)QT5{R9}(3rn!uaC-`Ka94Fx# zrk5UnmUMuCip+DXbu9Q#d9p_cj)M1x+C4YcO7KYhRBMYAy2GHadM(U*b#n}$XE8TD z;BJ)n!H(!o9v$2fD^W|GaLOvSnqznUOIvW|6%f=o;}?V0^aZxwV;T7CwEB>0)BA9^ zqUv8}4_p3t%|H4Sg9&}xf2#E=ds6q=Cj5x0#V`O}Y7%beQ!ecq{C>A|^uF+?`?K}1 zaS$A&{D-5v8JN&6kkj7WQ^5>g18g2Iu}VW=5gb@e8Fa|mn-vx$^EJf!jgRi+6w+D9 zj7Y{Gl@}r~ghDk9B@A=82V*%&);9e1v0-C?CMY1yjEI9TyQhVq{@=-nWo17^kdDxgOQ@@tZ-@Wl)6*I=dBL8`E$i;FJAWG`_;;T>jW#jw)?NyY|BL(<3*X~tO_!88(-Uw?owQxeR}W6 zq3hu{a$VUTdpXJYe9##_xe5rodc1cTJi5}YJFDfDM%mG!3U=?8YQ|*-t;46Au(Ef) z+VMKe2w-dIynD*l{Sve>&^Eqtir7<*JC_n9&2+2X>(z{^=mFDHDJ;$9jclZ`HdVx} z?HBiguOs6ft1dzs;`Hg5b~MSWtnPL}n9Yl}>GLYK)y-HjQMuG6#o-87st);3OJ|%$ zpb4{1!LUy0XG_DC9Vjz;y1}s42QOXwb^`kdyEp(Z4(}*&T*#QJDP+zR&)0IKC0ypj zdJ#pO7B8(q^X4mBTZA1M3kP1>`{qfHV#$N8l3fwz$6#-H%`WzO7nnK^s(+NL2Vx6$NqgHx_Ne5h z1EP3dnIYhQg&x!%ZuAQc1CS4x>$3+)+;!@1Prg1kojCCf{L>?rdh3NGV-6zFZ})Ru>uyY?5}PE`w|cWzG;Kzw!N%4Mb}muHgb)`j$r}Y? z7}{jpMt-I+c=Jl*3dc$NWs#tMAEWcxTBe`$_F-+GaoC(wvKT9;4H0E?689kt5h8&L z42qU3XfI35x|rMXDF34;CE`Nk2_NIR*dG=JHBJ?d))_5n@) z4RgpnI~+-J$E#`eoOG5|=vcvF%7{eQyi|DC)#{N;IiAzf7s^O%-*#>>+n!pb(#YjQ z+A^RC;kgJ<4G{2Ygx~Ea%vjTTagHm5apRDVUi(JwmBNvv3*U&4j-()kB)F2D)CVIxV<;~@M8Ub;XMK)MP*3GK)RtiAR^i64Xz-xhY|OR zX@>rFlVTZVN=7Apw)fTQSlvTc<|LJX(nR%aE&h_O zV~6jqJ^%EF5FCYSp6w2^w|a-)7+lge#*2(dt*FqxJaFkLiqdpSsyR&lb%prGoKepX z`3Y+SVtkyV3E8_e%ICeQLR~59h+W|^$HHzfy|Pq7hmvAO?**-CPC=PRXVyuxbUj{7 zXn~#HC$b1Szh5Sp;-J};%ARkWF1_1dOhEu+0FzZQPaP}PU*;d&umxVTD6bH>UhKm-_$ zFRHqYlJT^K&n}2{8=V6Cb@cjf=Un?7JHGJ0!i?X}n=+_bK!5-QyAPNv_FK=;|^~jg_=FJE4ZMW+X@J6!+>2k=O9FVsMRASV&zw z)D+UxG9uWkB>0%RT534^x8xs3xEtScJb}ssHwctW-1Wv?k~;Qd>eG|+!{|FLY`Hl% zdJ__$z0`pzq5RS=lYb@9^_|VP_d=MZQZB8@Ow^+$5zO%yAeKDH?>HWYfoMsdDj2W1 z3nz~inQ zTwqlsl1sNVddYYk*HCge00p%Qphg;fi3_Z(!OH%~D!!WPwy>~_isI64oUE;9)Z-W2 zs9{q-lw3|*(P=epj*Z-oU(jebM$L!1y@-Le!6Gf$RgLM%%dX-VXmi?S;j7Kf%)G7L z=J)91|B~+a!)KL)nPtOFx;Bo%#4_$#YS2cP{l!KZ7KL}@BUO02EH_nlAW@e0tMVg%W7f-1a3Zf4^K`H~8A3}8uRt@F@lDnV+! zS579pvv8XCv50#>)30zt0W?K3Nh6nUp604$swk(zvVOlV9U2>#_0U;720plK$}5NL zvjVLAL>D3qQXr6SBy-gUCS-KuZ=F?pZ?obX@VfZn+(%ikYjA&27(XyZknIg!%&|ds zh?Zm>j0AM>~pmn%@u+zYK}Be5zXBQ&S3~E@iYsiyiZw+1vs$kCSqnBV%KLaX#S$S$p;*^!O?7lsr)6D9 z>E)4GPh~_dufy#`flxGUKIReSCimQ09WmMxh;l+$8Z-(gzw1~OR$toD`ebubg=C9a z6WJeV%a-(VqS*2GS2RnaG|j*Jq>Io#gv&2r)!GcT)1wWpl;Vgz72b8rlOj0UKv~c5 zAItvGsG)hSc1mVDNT|SS2*-mV0gFP)Zll5L+AZmLThR11<0YW8QS-a`t77~aEnfBj zA5fGeIWG_+?xc8xg_OCPgf7GK9RGN$N+TK_?G$eyMDMhfvA{ z$#$6hX`Ih>Y4aow*HMz$V^u?z1(_~UyYES1Ys!`J_(H==&@r+F19V$%T$<;wx#Sj5 z0!Xwud3|!Rq~!eRZ$+ia1VvfcQnMv5GXTa@Q(*Ll8}`deCs+G|Ml?>Sg_3PnZL zU|6%VD@`+TZ5a8g7J=Lr{=TIzZEAd#vs)UCfzt5CE%c30LKs$6_a~oIYEp6+L8ph{ z@0Z3xz&t~hMvm95f5#*RIWfkzYUf-wzfjtSlT}w64;(i>(uU9Ke8J1H(*1TD9mt z(UwldudJK^n->YTQfA8+0-egQjYiWvWLIRJ%XIZA2qZ_6@~|xQT;h`xWXBVf0N+?~ zDd(nn>pOIsue%l^P`>MhtT<(6a65$x7*HwcF`G#!O2g#>MAJ>%uIM>2w);h!nyoWs z7@;ZMEF6S=E`qXNp#TEn^pFcU2`YGTB|k2K_jZ($7BRFI5Bs1E@Unejyv?y~MT_vK zVUAD+dtReDFx)A-GUtz@W3syjSM=VYqa8(%adutVHyd5uOMYAO2i8B)b~bZB1rfk- zo3G*wP+ZL0|9o{-cDz`vzN>aWh~#Xf$L=#*6^(D!=X+-s2UaUNIESljOp7&%s-fa0 zPsM*jz}&DXlCPl@G|60hX!btzhNj~Hkw8y+2w>)FG|9u)>JMhQIYk)_BDbf^C+I{_b?f7Box z9PzGMlh6{qva;&c)hmV6Wd63%Fr{UV1MW6aeiE+!&vWE}ZV=^k9mu;2WkrexaxU!m zIhzlYj;<^r{_ut;db4PxHME9t_%V}GYY4B7`nAxmrW-n^02@cDM++@hR7Tik9E`as z|8{0l-&8xA>DKS8UV8!j>-#yXIOj<46ZNLQbo^jOL5$F$pF%M%7cCgKV{HaJmD zU-Xw3uKfc#>>br5i*BBx-SDn}lk)wG<1~z9y8!c*(fUhms6gk%jU)KV&LcD&usIa& zLFiw71;AMJJ~c=pL~TLUbg%Mwfc{lY`#e2@S!e-;5T(*AFM`#{{nqiF0E8U3?7JiF zB7DkwQg>}13{SVL8y3&32^e4<&7yG0{@PzxYr5S^O(IA?xO{=bJk)&@HiSygG`a!h z-NBNqceH_(pYsT3jGRHq2hdo`QX;E*-k7%Lg~iIg=y?H>WbkJNF55W!@Lz^~R6a8j z8IjaS#eW-}>IcHxzlBJae-p_GXl|JBr?lFrZE3%+Z(N!Pt20ptigWwucvRcDL-X_59G@o94dariyaEtNfXCLa1QQanyG(k>ZQksVU! zqHcvD={@W~O@r?9#4#sf6AuxSZ342FY{i2#VKo)JAY%KPaS@`3N~VcrJ>_~a?nu%C z6nX@}J5|>tQZIqkLIDADthm@*%O*ka*acjeQo*ufthz9W(vx5(&5)n~W>}vBbg9i? zhii*Ix_~Q);Pl}J&1eevo}+32mAGxXD(l=ivAyan9DE9;T)h<(Jh2ceHILyu>Z#%> zRFEXvqRL>j;YAwDy=$MW$&m5X9;@`Pp9oy`_YT}7oQaACn0W_V1DFGzhOT`n#c79Q zurswyd5mOY7t#2yhx==NMiQaV{4;r{^`=bCr3{oQh@vDDtu>i4CoZS3th5f3dQg4Xp-rFoTd<<~YS=rdBg!$a8fDBIodtWUK z&li0`y%J%6B~(WDF#D+AEIqpe9UMgt@#$zEi;iYJWbM%kf?k>@OTced<%RR2e;Hxf z%s9TBWJ{s8zm10c9zdib>gU^))^|GJPms4soqGNSl#k0re*cfYvG)tQ{di<V11k_^hE>fhzh&Xp0m@%Y9Ms;^_NNn zU(^{w8B2|6)p%F9?VY>hr~Wx+==qCzzkxsGP}|*7x6#-3D^8nM^5zIjC8oJgN}iJv z@wj0&wesX~EeK6kBFzz+r*3A$}DO)RC+I@2g8$Y&pDf^YJy0)j2rKGgrVrY@o)!oM(zpSFEUr_Wlpz zs|GpUL22{tq^k2?Um@3Z!JbQv{3^J!81aq@_w@r8m0X~}3Mh53%yTGsFG6nNogzdI z&;97`NWU(GSfUmT!nc$ALex=viutB+slpZ7j;-+77G)|Q_XMZd#cridbdk=}pG_Vr zXPzsw1C(snnDGfMAuU_Zn}f?+#j3UWlG=JbM->-EXvw~LsZ$drGR^O1mx4!gy+2M| zhZ-e$)%*^mKi4{84-6S<(TE`rrui_LCBRfiXUrU8k8)XU5yA-S<)SO1Ga~B%oNV#+ zLuL(qhiJ2e7G3DA?I>rEdrnn*IQkk!KwrmSt+=pTp!@gusczd&&%kWhIgt~|Y_8Ef zhS?v>U*HBbq^}KfGqMVQAxG)y)5QJnot_Zxt(ge&wyUl!iHDlwwD>84W{ZFQb{Bu| zld`4cNua64#*36aTt3=`?|Wf8xCVJ0ca?q`8GXSWC2(qZ`FbuJfUGPb?~3Z5UuA1+ z2osv!khAzhVYK#*{M2rCgh#`KvK+mQvzO;)n&G@gYe+Iq6KMOk22<{ZC9If5M{Cno z!!+vrFBRgHiczOpYf~s(Lo(~AZXzpw;3L*3bbS~n(2))2X;MUpTGLQ;TU(Q2-5ky1 zV0iPyDB@&t2W|(R!eAtr$Q5tKr5r{RYb3A$hj@>LVBsTrFN%v3>?&cu*T8wi9feLYH+LK=_bmtK!}Urw;mO-fl6-GB|?gz`2XvdGg4y#fNkZICn@hShp5i zE!<9tYRQxuqq@R`RF)>Hv+|>G1x}uFjWZVVg%}}>d1S1;fJZ}d!rwLIh=q~8gJYy*V zrs+FR-Ym?l;+jIj$j#`MeZ)^LSq;{WLwFbnNHNThadY4J)Y`_YKK-CzswD$EnK7qW zd`F$NUq=b0LKxiLXZr0du($8A*xZW*Us#)TtG*nm_fKxf;mgGlm&n3HFH=Bx)MCg% z9Js*+q?_&#%PCGnHyV2{F?@*yAMijpfOY=~aqaa~AT~KK$56WMzC|KseYEMTSYX)P zz8wVg_dzI%s8`VFWXi}67z(;97(x}aZAC?WkV+sUUUoC?*Pz2>ppCfohs<`@Ir%|} z_{|OW6DX9fxq_U)r7z=6tV$?mk7MIL9JHtnXX&!++Hg@)Fq}XtL?>NJT z1s>B?Sxz&hWo#%Izm=@EM^y z!_`*rstDTNISp=g(rqqwX+&u1-dUDABpRpi?-x!`%y-M^OtxIl&k<$M{2mltY&U95 zutjQ4(x})AdjIXhJ|EI=d-r1 zYiT8?s&%`6Ybp77;xpyB{P6YGD*C9v2V8$L2ku@y|2f!X-Kj8n^wdh6c=@XLulaDj z*BkT!C)?p?j|7$emGC>f+fSk8=C4gDKstxT8c?b9w| z;{cRpD*_ck){(#NkgG$DE@W3(Ic4ZIb1*a z1q*m!ju!PRcxMaEs7sZ##|=Z-xCTj5OHMM-O6vA}s%`)2LrA!&`muN3h5cZh4 z0Y?tUhffP~P=00&`9i{WIayK$Iv{Q8MrLSvguFu30N~*f6g(`~9w$uuq%0^6b41~4 zHDq#gj)Xg{$R6nPH0arO)brYPZE;sRj2+X z1b=6_CLQdE6?fSfTD**$F}hPuN%3jN8+?v;Klp;LD9L@M3Zqd@5>v}7rBz=gCDKmf z+Yb+!C;-}h&qHeL4GbXmE#4mbagCz2H9jf%$X2jw&Euc|14ZbBv&W-@g;M0eh5-RSU zA%xoyyFby?Y)c869tDLL7kUrGO(t+R&hp@SW_+-p++G*&g$!M<-pXns6k^z<0<1V5 zM&L7J+a+%+_I5s^&xA(-o9l|ngUn883L=8y=!b3-xi4)v+mi?$h_N?y`N7FKTUvGY z`3isEr*9#lBdS!O=xSvXV7D+Y>2XH2qFW|;7z87)@VWHxi%S>*e*Tb;{)#YS2=9sm8Ui##0@(+eeu7*Er~<1?1_>P}!mHi9K^B#N z>f0yA&c0S1#dbQYGU@fKe(GWl-yO7$uV02`?89bD{{3 zUI)1m2s{`uZ=R@Z&+xbWO}? z;+l{P?_*L8qJLwMsGCa;kEMUC;yn_tm&d1b43Kwcw}{}#l~y*av>Fzs^!fK|iW4g_ zr%`igjR|P0ZiCL=|7)^r4C5mWzoh9Wdn(gzt(FQo2%*(JU=kNmjvuILrNf*R46B}_ zT$ITtUcbsba_deZ8Q2cN?47GgVnyn6-?Q@-jw}N6?ENSyGX#CvmLoycvOe_RYV}CL zC5&PIN-I>P>+Hvo>Mf_v(Xk)dfc74bz}Br^4}v{$6*fPj{CL02)-6-s7i*EOodSl|;xxFV<|i~4~A76v{V8n#Sq z-H6(MT9!y$6l;GaBCzV4<2T%9pI)2?>Afnf&N`Sa)b_|rwXxo<-=8bOcgUVVACdL1 z-NiPA=&-HWN}6W%_pH;+XcI^*F3%HN{G*}7=D3zMBw@!%fGZNCVqz-qiTj1u4tUmV zz%6R#_}^eoK!IXJ(Je^7n>@UIAaggyi!s&ak&tn=MMS9I#?oCQ5^_glM^se|WGpxH zzFk=1ezn&325}J82YUJoT}ZVV)36G|cPXYcoADgfO@q0;AX4rcYg0G)P^Kr)RpK}< zIy=$7=~hH1((n7Gr;O&EtpmaXM5qY@B;ZF7r+<8V;x+HhfL43au?WY~#JtqxCG;?) zvp)BAO301&*ua4-rwKmmB2iijWSYgu(Vpt~3!N}uRZK)-lctx{z73>#j^ zlRtf4_skEUPBRoXT8*GDZC?GP1x+)szi9c+?&5Cmj-4R8@RuME^lfNdpJ+MV<@P8gv!$@&w-3mkhJ`gbb@YBnU~7Su>a z+YOY&Vi?R1O(SMSO_KnlQ!j2c-ml={cx9`7|`Iv&uO%A_Lz0S0^NpEA- zp_i<)yr1y6X=izJZt5DYTBJ<6W*DJaIBqEP3Clza(DWFZK{9C_&yjaLCZ(B3P6;ZO5$Lg<}1g~XoUkTmL z5K!-$V?s@GOy-`fGv=qd=i@8|SnQNiBmz!k?0zbna8b1pKOnw^ZY=*vt z%K{)o7o8w>bXrh%>Z&5p(X;c*6=Ko#rG_%-@H2jvaJ{`U-4M)c`zGgJhqpg+lW*>! zY&bNL;ZzquQ-DJ6pqPiB6McfV7+LIsTT*sql@-J~a2tsqZcNN4qE|K0R zB&&Bb&80YeD}9CNADJif{wjeGdFMuSELa9d=8;Ua4q{nPJOkEF%X;HoH=kQ0AgwvIWr-`;}+?KyTC z<`G3vnttbe+)hp7Q3{s?-$;MhOsgPryR=!{1p+3%RBsE3V_d+j2>#0)WlrHRpTH>+(T53I^BF_3LUIT2%BhO zwI7NHRvhC1O zIy?LQr%ne{MU)vvBG*Qv;moCB2B!h@+YyR~VLQRz<&bk5>3Ez2a(Q?WjRRW}sX%Ay ztWcM(IX%%Q&0pJIxDsfykjbw(rh&8;_2G&yrgelSInIzIG0{KOOp|$|fBu!@XzLWI z`?FpQR=-Ld(ibKRWj_aqxIpB6tXMUqLAz~N9C*~qrXo70AIF4|iTODtclrGljO zI~)_~!cd@j-VdY`xe_Lx^Zog!y+1ooREzhpSCk>s+y*UC>@QX7MrYfAvr6p8-;n1o zun2p^Fo39kzv}8&1GUIE8O}~CChvWn5@L4;UG3M=6*$|xgDj#7EIkKYZNuhEj87H~ z;P?LsYE3r}6jV@B@Sjvh;=V_g?xCf!zb{+Pllopd?szJE4>RpIH6LK28Xxd?koYnk zmDdLhO#pq%1cHbD^UYK(%6o!HGb?V*g|hGbR@}xfjC@MlZ@^oTHcL{#)kSwJZ8qNX z`NB@GXjUMlIdYosw}4F7X+aPbo@B>u4KG8Vpcc>E?jkvnV%fpZ)VsDO;n8mXblpsQ z=0KX$eZdSr(2#*qt3sb$*ARYc>=&5$TRLp07H)U(&UKLWC7wDhy4KWbahXTg8_tyB z!aRu$>xdMYG%cb`i35qGq%bW&Vem)ZPqF4WfO3J|0{Uk>pi0;n{^n7YC=re=V3?iJ5qh0nascuB=k!571iOFwztf%<^bJNyzUR>WB?CXx zR9Fa+m!7~4mY(F4CI;B%emaoH{Nn(BHaexh^KfTz<$v_kUft(@+SxDaT(&=l>Ct-n zaghKQ>hp1y4G+Ufoa-&ArtPsoFgdDE^t)qt3q-H#gRdUUq}mXhU$bEHBI>p&Jd}%# zr(Hd|n7jQA1*CQge9}bpFy=Vues~*fzBnk_qwX__PT|%o+&uL82rL9_H$Bi6` zSIJEY8F0a6@!0g@XE?1+VVl(IsiSU&c!&zBFwAb56wB#fLL6wMbl`hrkuS?}q0pBL zXg7&My=4yc!3)l2ajJ*q46D9!Cxk(jvkC=GF<1#le011bk3{2mAN+|6SZ9>h7%aah zoIewR@r7{x%=nWqBg=FH*l0j0aT=_H&&1Vs?wJBHbfLlxOqA#ft&oLbL(`b$37CL# z&4{O{+AYXb1PXx27{bqlv{rp9f>fW#*N+aoqvpFYWPfo-Z%{E^39K_*P#+DZQMbSM zXLt|A9Sz3YcvK-gA|4q=Y5yhHWc-RKJ;m_?I^ZatJk)}p9rwF({JzkQHHjS3HWv!O zvH|u)F$aAdgDd9RXsM{8*u zl~@K0!ur)B@MRT$A&-7MKnA2cepkdY4ZYoWC1Rs-QlO7BU~oYo&2n@s2Ww|8r~YeW zd0?O>M|u`rcaoVP=cHh@+k=#do3Xf6o4oFx9dKN3DaJ(-Mon-LQcHRv2YO*L^FFwP zopbClKNObnf<5Csh!R;eC>^eGY&L7GfHysa6IT>`V2l`E9`W%fri8M}>E-5HW@P6# z)v&hi1$s;2{0q^t99SIg)dy5;p1cCXbBZVvw2D?~=nQv+_=|G(WkWf&_3SjL`x*gl zGh}W(f5WUM&@*=gkMN4t>Vzi@byl;-M1u~qmVJjsA-*zQwU;*f`<|pSTbcDFg)u@W zX}cA@rc$QRt59}p#m5>x-b+CdC80{JWXu!(x@$YAt8oKP=5I-+#~Fa|Q}JN;t0^zA z(xCXSlaiGDjawz8q_#y$-DU0QA3ax-e4Zx&kth>jjiS@gX7Sb!^>4XvYlV+9y6-j` z{oC<1Cq%4IR)QbztnVWH-je<`i4*sh;_9eWR{a>jNQ zSLNG|7>^%R`Mcwd&qZf9`)r5EEY_GWF^xJJOE>95cv_HP!y_w_aIC|{^>`ZJDJ)iv zZ50OG%~sAB%AQNjv8VsCxNHnsH2tj~w!5nTo}bl9br%$THdEMP+U8MOa`lP+PRUxz zIoBEHRi>k0_>+Q+CK27qNe^6Hyr~hvLn5e(j0%_Q|0)6d>JC68vIqWW3ZyUra;S8D z;(bxn>d1(46BI-z1gmpPP%L$UDI_4bdK7yE=r;>67^(!55h!OT0Mz*;SjM`+77~!} zJVKiC^q1)wepg8k2#0vs)F^z`hIaI0`?+AeY(-g}(g)W^mf}7OfV7N5;@dXmP7L+y zolCZ~%*v)hWE60tW)ja(1*&;5=-b9U9Ejsr1~txURWQ8wZCeBmii>Bd@+d~;{6gw? zF>(@Wn&HDsHFX7APYIVm`owe`#4TMk+Ab}~`wcPI%cM3b-3nw6Jp6jin8Umxtz857 zG-(k%YcQM=;5wFlnXhSCH+ahCi5{Y8Te(V-CRrz|n=T;04h=nLy6JDEa9`c^o#`;B?+~@jHv9f^cVm9&j3^nC6j;6N zT*0lgnj)W0t1xv6ts#tEIpg>buJFIj8u^nq^ITWXP$K!P9^*``l%-chx^#K>cbh*J zF6^EH(A0lr@6v8IL~Dw$;;=IsCRzXn+E`=z?z@>4pWm*d}$o9TB{%vZYH_T z`Ea8C>C!g#6viKLugQr`Pc$#iC{Y)hu)2p3AGY2^J6aolI&sZHCQ1fptt#0*!uflSBNeJ{FurPi0W)CZ=qR(Wu1AAkI4~LY8nlRK-9# z&4{ls6oj^*2^|GGjc!6vRI_3D|7G zS0cMindI2%Vo8|xZ!vMvwEpiqt1$7R>n@aTs*38az+M1op$gtKedGK8>gz3_>&TU^ zQQI-aF>}n!%nUIzGjq&LF&r~9GczZSnVFfHDQ0H-otX zdlX_lWMjuJvr{h#+ViwrH7|+BhIW+FEf@ZDBp4|}BaNH-MA0-zRRJe#VQ%kbEqgN$ zuY$79Dl3+RUnGD1nT9NtSX@2!h?s~EHHMx}mi~CeDkgeC8LiW2Vn_2O_(3^k5qDvQ zU$96`{rkxQ{wC+Sk$^+WIou{?tIys`pKYw+15)5X(p{cYa#Mp#0C8Vtce8kzvr0gJ z8Iu#?$^+zRm7^U^`^{d_!IStH&(@nU;wRFEbGyagWIS7Y+iVH#d{u@Xx~y=vbhSyF z%UA32&t=?MFS@xi0`U{eML{y&9SR@0m)*eA%Bs_xSgjFt3cQvhswd+T?Nz`sXe){p zY!9C6?8aI#w+v*y^tFu{uhBXJBo(brCMF@Rw$Bl~n zOo?D>|2A)sbOyCT5Q`#+gZc1NC-*TDB=9G^_SdX!zH6z@hrvCqbPK;vYYht;R|-cJ z!@A>wp|69w@Ji13a$R#!*tW&sq1hN*C*_>Oe$~8;9bdzgoSX~2%;psqclPfsS`jwA z4mv*UL80Y-INcC10C`(LZHukU&G4_xB+ksO?BU<(uBX6C;FHfs5E3TW>Hc9VynNls^J}wx1iYvBw{O1Owa}71vW7h* z0|UiMWUhSTGXBCdvwQ~4!b!a-Fi&5w^wW zx8qc*3$D~+Gs$r%U?9o)+=X4v`)piX54G_$GCXPGn&rU)=aHxBzt3Xe{F(;ySt~?d#pFq-BWf0y>5JoW{&u@+u@g~K8BIT0jIf8QULOI z?2(2!&69+us>kP^_bPUFj>o$8aj)Wa^%i5bwWxzVNA|-iJAex_;nQQ&Km!0ZPg5SqcXtSrv6%2cGl#!4_MG*7|VjSxGwmjrD0$w3$g`d|*W zFCSwF!xs^h5f(xqTmwA7g;^(p6T)fi&>AyfznX1Piv{x|M5TjB3d01vmP&XPe%q+X zA^(|AA-L#5lx`UTL>7waXOzvcVaT{Wh;DHGm|#wSH;{jBd-0JEExz;v2#62L|K3cB z<6eg9ngaqXg6VD+e=|u>Uc;_OL?K7VHo}F9U zA90`H+jsp519o#52=+3Xnlz6yyf~7ZShNmkG2SMY%-E_n)-6x5S3p5*CCCM8p9|9U z)m!lhw4o;NE{=#npg7V&v5xMI^jXO{8`VBc3ZhNm%r`&HL)z8PbxTmOr+V8WZtP;7 z#R2yL;z$9zz(yM5>rRvVHsAf}(2xBhE6aKkGiuzmr=RC|fG z5QBsSVIe+X!agw~UKn(q3w2C{^PLlXYs0&Nhu_Q@h|B_Ihi`nIIz1C|1<>E!-|FjC zfAa89mp!rf5=p)eS1uurWiYKxEel;C=!q6(^|m;l$nEpyfMXb1Nb8COy^XoA~tkZScZQ zWoN=sDTtrz%ZoPpjHG0up{k^s$#;FeY6QiXDWp#uRe-vlRmlBoEYco)Y;2XsxiJ3f zc&3-jOUCVklIk#-JwpW^_|bzp%^-e8zN*Wauw157iUr6-x#vJwfP*2}b#JxoOYN^L z(!T5rh9|k#u>v@>{(MgyH@xe1%AV}BH05X8Eh~2 z?9?puS2^tA0vS$mt!smDe@@8J1Lg=+fT`#yASq=@y7?>jw8(%zF9KHfgaXsc($Z2{ zfA)j}(~BFA>?AXd1dV>jxDVbJSG9$<#)%n!{l%Q**v-=qA64L_l1btqfM zy3{wsP5?{w*uheheO-VG@YX%<@D8f$%TWe?WX5*O87scIzfV?G zRW<$ciNxgL)2B~<*|ftA2c6?`Wbuu)wf>ft8;s&7Nl8)-#t-4);iM1sm~T0Sc<|h$uUa>ohK@f} zE40d9X^uTZoNKh&UajMXi^Nw}LK(f=x}ZmJM_lJ=i+z*0@^PtlhKTT>y^Y&WpT>JB z{i%oM>`8yyyN?mrmgm6k)Ma@X;Cj;zioeBNDr)x&d?$h8Iul}HF08?OU>bUpN9f$K z8xT+N4)M=tTaT9{cM%e}mkkLB2;TqL(#F=xM9$E{#K?(}&JgG%LE~LcNez|1t}!$! zvT4l9f+@*l$lJY2&-@s{M*ayI1@&OJ;l3x!TCg5Wrxeo27y>Q!Tu&H6q|3JBvF8rs z0pBXLV-#Oo9i2Ipgrr|W%D2VQW}ZIPd*>@`@h7-PK{c zcnu(sgag7%^W%$KkG$D*XCdY$?WuPxW06{|%#!>MA2;lQu?PwQE0M{Rj?l#*3Sld; zlga+nizrpP`Kt6E_Ing8+vG5$oBoikqMJ^4iZyvB-4RpH)}WdwqpfcSzrJUb%OP!- z`zbF)w2Ey~-~{y8Nr!Nf_SN(m-;ihX8JnH7DKCNR-gMw~%R>xoaT~m44$4^)xM$My zOBA}WTDC$lKCylsvUmt>5b()`XHgK7jG!(@i6^X6T>RalbREGq+E4Akb!ID08 z2u90tMu&7FGG8T6^WX`BwqQU>q6FXcFbgt+Z(6vS!ZTAPKG1NVt-RHfxa9ZrzBQyCIhR5rW3@a*c#pbarkzj5+ z1^A`N4(8#E{h{AC^}_&na~qbBN4Xp!7YK0h`W+y?Wb(mMRbI=(3|@W zYgS;QVJtU%ubgEa^!wqUco;vDoDl@K>JQ)R9dE*JfR|GOEy4R!FaOXz4dL5yzWMvq zMw2j>)XsMYoUeE@?Udbsoqp#t0HiICb$AF|ubf8%^!wr>TzyRq-{rvzui*>(KtIbn ziuouhtWnG$PILtarjfwQ4Lor#;F|27KQv>gNm!N}ne&>^14r@Y29LBGa6Dh>9Le7{ z5_%CG9ZmcW_QaQbr6y!bla!7Ugt>`{$loRxb|EKS@aRnQT@XLm%@j{shSx}G;%(b4 zD8>6NW9k`be0UoAahx8)r9j-NGV_ z*Xt>P_uCEhf!;&}^m`_^E6ba)?Ar_6%*o}>hC02&`BLo)Q8(cJY|Z4M z*02WlJsg96@mwyeroCNvcb&Lb#^HROcf14j+I-Z^uMq*+^*C%54C~U<{??}Y=e{OVW)Z#vrya^ zu7xM?=>yG|m~DgBiu(z-rQ&5~uH>@O>GEuH@9;fnaKS*3*&Szm;oQ#(IhTiKd)z;N zT;gO_J$;r!5{MXI+E}>3z#e`tK78Mxu`mmv&V0A@26+^G2erz2xAkP)f=+8FzT$m8 z$?9(@n^toWz6DgzL%Ngh1$e(tUtc3wP6#khl+FzkGG~g2`B~)fHPSERK%9FQHdA7n zD^g*-<~9duHdS$cV?r+ADx|@wlFu(wTsl+}8vd^DrG6Pa8}FNg98(}r*57DxbGIUii(WW{uaN(SV!)a+%R()K)M3cr>uJ%o@sm#R!ynh=B+DF*Fn-6G` z_YK|bvyOQSvFvh^&w=fJDBYCE-S#47@xzxQq`~j;z9~)xGh?vlf#$xuGvH?z-|W_9 zN+Purpj^Bt4OsS6cQ7o?Sm3HDggDk#*NXDOwM(+RHq@iOE2@`W*WJIztBSlCR=*;^ zzfG(OgkXKFsYe}Q>W*Tiv~FUvSsrzmYw$Ht#mxJ{7i_17Zpz-E4OdJ3Ju>IRi0mvuZU-IB%nVlR{bsQD+G0=tv!=Wf z%DPCSh&PAt%Wk#bY5HR=^!$F*L{Y2i6~aHqM00Fn@<-s92ut+0`L5Gf6KfOtKaY%b zZq`<(np)8-Z0Oz_dV&uoSvWdYkI220p4MrjB>t%qVSLlbw2Vc%62EfH9Pv1fcDKyZnsgg|e0U2@~Hzh!2{e0u?6`%)zd3&B= z?*Kd^FlVV9xo(`fX0B@H|9qkXNE%a~~g#Oo5FR%k4{?CVC8I$UK zIR>CCX4L~6;RIDoK@x)oV9ZgVylAmO?HxhjSa!q(&zDH?d)?rkfLnDGPpt2WosgSt z6!Sh}32{g!{btR{l`6O0R3FE}YgN!(!M2*rPcLN?ip!PvdD&8N#Khy>rHuy-LXb%W zT%zfam?rtU)vu3{?mq815q64UMi8(y@4`+5raD0lFwt4Y3w*X6V;76=3_*^6{K&Ns z>tHKj$P^l~-+#X)*|}JP*=q=g5JlC|kRr$Vd0 z20zxhf;hEP3grq>QBy?r&;h55gVmy6Lb=boGnq+*kfW%Z!tWP13HAs_X93%4Gy`&V zLj(RWld){f$#__5J$T-ew{|>)Fxid}x+SU0U=1U;Xt})9sZaoPs}Jax%`GT09+^^& zn>BIOMDD@e^cMMvIjal;I*-DNCPr{{M_Lm(1#!z8oJv=i2`n;3W9OuE`rCxm@zm9b zB2UscMe4#7lk|C-ZQ#2ewFYlgPLk?UO8T|)Slq&zQQY+dg59L0qp<-k;?Km`hDr8QHrRRD8I+w}QryYxg~!3S?Ikt6jyjuzU(XrMia%D? zX182C(ilxZz3;WsK5CN=h-VQk;Ep+qU8|jZ{dITkjPJNMpncB>(8RB`)~Wcl!ZR$X z{hT!chT=dq502|FcVpLd@1L5X{6U0j!%&jgU4y20>kH%@tG=>lh=>zbmonW>3ECIk z6nIW?%H&9;{P}u|7S&56xG>j?jIoxqIFLS<^}AvBrGik;`kA$M2+cIL{1`O|x8cL` z@DiG$@UNeRowTaSy1!RTifrWM9khxEs)UB|WcaKiPE((1$4axOP79(JXLN*~C5knV zr#>0A1PvTFRMSkSg-A9Z5mA|A4)qwhK7|>rou><(VwpI3*b>jrds`EP@_}Kb7TK5% z1Rv#mkEu@CHOY|l=b=`K2^h-R3h$l)6#OiR2>-aN0I$^G0M)Bb00|vs@&|JV1_qbTS9WC=8 zg9f^6<~0-h6(jHX7K*M1n6Alx=;*|H29Y=vkQ5I{n`h7H>u4iqoyWbTvYGghkbecW zv!j$M8shAO8ZbfP9>N%eua5hAQzlDuvC^#+mzf+d)n8;rKU7A`{uwcOZ)x37iVr49g-HJ6hYr&x? z%ScZ2j9f7*#BgBb1BX8&+3|J@0?=9CGs5LQ#0Xq=Ke|da8I6eQ2EcCh>6~A@T3q97 z*1Sc?brnZ0L$>x*mTOG6fz>K%ZM+wESaLlTj^EtJ5yC|@e#mOSX>445d--nC5?-v* zzIG-(YBiPFTF&Yt9hf~O+dDgFnbX=E|3Ak{HYWnMDWGns@)HOM(tq9`9Zj5^%x%mZ z{}?ChRAqqUBx2jW8g%=EVkK#1g-nFo2f*wa+`I%5_h~9JWjKQf42j7A<*sOU;BVJ=jzg^ zD5Er7!WWrGAPz|znF4PyL{1y1H!TfA>R>HRMl@kAy42r9Yx?HPxD}~tgsLS~VN5hm&x1Fk8OuZ{ zI25Y+kD$9;MI7raeCY0r?e>@r%~*iIXPcE%^koNr49)PXEoHQrW4-c%(|d&uudNPH z>V`*(0KRg_DW=dkca%~=dcl1FxWsnr&(*zNo=Sj312f#O#K=Cd#L|L6t@Hs`V;04x zY^Ae{gidfmFJq-*_?uTqdAo@v7{xuGoLHl>GSZ>btjgF`=hn)gmnzhvz7}RRNH~Gr zY{gj>e>~E%w0=h_1DuAWgky3|uBNh?$l7g&>u>U7m%;u&-G5CxW_+b6XzP?4WDA(% zm483Kx9(wRV(cTcR92ChC}^?c(sxojoJ`Q@!3YAdJjb5pp@-9;vjUAxQaL|=ZAh0z z=hToppC7W});KY?C&%VqYK$k9O~TXwRr-?MTT$HEt`6W8#-OYrcMsa8^Z;%L>0p8`R17o+W5;?#_Y$-2j}exU3w!xeae9AwQ(xR&K%&B*N%Vr{{1&c15i-B z(7p&DAW+31AixudD{$judPgUBE0aH;{-X|hO>$sUKkF%-avuS=lullgJ3U98TK-s${1a>DT6edV#@1CB0gvR)x#0b^Ey;RXnVYT%+xSU!fp!dGwTZ z0$`N?=)Dca0GWH@fX2n^T^Fy~%4u)p&X%rckw4ahBRqa&(X5U;`B(HZuT6$Bo8Ds< zU|NZm?}{R!B|GKhL9m|kt$dY%s$P4bWd#hK4|OH$WuXI5hPT@H5kU{oq?Eq@qcj`^ zy{)}vHt2QAeUrb2B+?j9DVv3G#3k01b|M=fqljKYe}5Hqbn3G3?LMAwnAOqCOWrEh zE_LoHUdb8Um)`MkNS}+E&r>!riAF|veUQtxAnX*h&-h1t={emOyL?ZR~Di-CS&(y^#oR zZ=>f(*h2x)!?vT@v+}BH6`QH>h};CR#J2dY$lm&`18jc6q`X$op{R;i7Jy+NBnq1# zqRqMT&9vF^%*#orM~Ib$OIc_Kc;ZwRngO1;m4(bUnhE)DcAX3KHehqkb};jh#u&k| z(~Lq$Sq2cPzD5xuPvZFJ=W{~xi#o#Egl&>^v$`AfEd@i`+U}oqh%VaS>mi>sK39Xd ztiFESh-%^QSh2q^cH};LJFy;E%dWUwwJOygy zC#Q4cChQOgorYf+u|>YE57!zSJXLVWPUk#)DrBAfQNVi&lTx86*ZJfQ5Y_{Y_c|SL`91HZKemoxsK;KqanJMy_ z{aXDI!Ygdm<}_Pzw;qe$oJqaa#&M6j@H0-BwQ7MbZ~wvfqRELFi48aM}?wPf4e4VuEy@!7)-JNO*|ia7>?afy#}! zR=tN2?V7>-+%-`i4?NN>;a=`~O(^B>q}SWEqx|6cgk#T{BJF7yc`#)j$m%A`46+9R zhX#+bXA+#a)Lgw8;R*gRn%5<=4Vwztw)flg2cZJO;Ve1FonYeg{tz)0pG0D+x>K$qSfeijSfigjKkA5H zLl^C`oOi^Y$A;z_C`*3DOoYV}E%XhFg_(T)mQ}v8tg}6?@Qz`+1F60sNi4_&&3& zn_j&*so+q&F!mWQuDgLmh&@NL6Nl1{*h@(*?i+XPnI^QFa9W#xT*;{Wi32uLgd@4C{0v>ddAToQsa@wH<&;su zxJbWyNZK4%%~V*)$7^5CTbo;~?cmMz@dkYGIe$L&xRiP#KS0=Tqlz!>;nb}+>(DK{cjQ&q!Iy$ zebs+3lH-0rTiyXfTV4UDDp&*tpxi*Ve~O7#(z#0Y7vtBfi5K+3BgSVw@A;XBUcPNt zz9m7gs<#9WOZYn8G7c){@>g4=ssJ}93xFF3PJQshbtlHRuw^@~w&Bb?ThF&|YcHR& z(W@`NdQd&u65jACf#BEGfjd&=lOrzn+0I3E z=LGAQF)uP)Wlv!@IS%7I*)GD-VGQ71O-Q8ZCgiNJ%oVeDz7}Nqg+bud zrJ((~79l^9u<}j{f*dBx{Ss$EjObZ~HKgDaToikxKC4=YcS^#2R4?V$ zjfuqcC?y=$1mfbc;LmClg~0xOS5@&tMB6N)2`#Jek_23t@z2>9pF}KVV2Z!<$tWIc zpgvoa8b)CUsKDA|?1mB2ajL=6mKBE8nbav0s;f%LQ@2=@Ql;tCDXUCWX_gItRig#v zJuNHLH2C8Xcv?nUJKJbcDr@m9P*Hf|0VyEhDqvA^1svk zmWNjY8DAH5&Y3EWBu?{v-&&1ZYRwrv`3tfr4|*5MJbDeaoYt`T8kcDnZ%11U3>gZ_HeBu z^nK~9xoQKQo!oDXhGQ;!h<$f?smG+@KiaU>Xxkm@J?JJ56e`feMqIM9;Mb)gIFz9|=DPz5N&m!626&csH&6Mj^s$ zc0osMl~hP=!={#8h>dojNrP#&!}B5k8kQo{Y_i*(%^=mwmYSmDyT`3ov)cQ!Q}q@| zvs!&+z6V_78EXOX(sf(c-}HX@KseYgu?x0Y5_qpXBBF{Z&na;#wq>~D7bS6iF>FU< z@xv0J+6cMh=n%;$Uo3(WxTfai)_cg|C?*5^@x8CY98?4y1D~5BW_Br{ z1wL0*XSuPbty=ZEEd$Z5XZ8?INzyjO8)Kb;Q{W3n%^P$68?)rAnONC7Utcj)^m~`` zt7ZN>b{OM!s=_<)&cs{p(*!)?7(5 zS5NQ2x)6ywJZHF=dzo|zkQp*Zx>Zt7_yT%{DJkYu=AJBI-t0p;K zoT2qvlrdUj{kH6O|4_fL=o)=hlv3}^_Gm_)JJ;_^8F_nOz~HF(q`P0&ES*k7ipwI& zMG)uY(?SLOI>t4%NtlYqO4&`k;Nn7y@Q{qat44VM9FnW&*E>_mLN;^86n zw2-`Tp}9cHPgfXs?BiLuKfWwy#PS_4h&1qAm7F|}sW*>ip>Qj(Uab!_TPP1><)PR9$6?xhQ@5x`F?W8+e{X zLU!2#c~}qJHJJa(cZWTxf{&?|6~ZNPs9v$RfQ%Jlw{xFy?WuU_hW*Xylaxx!)nUOI z*fK*sPG%XvS~;K2pIt|VT5N%$^s9xcfo%xR&x2n&s%xxEG$Y?v)VRxCPOc3W(RyM7 zg`S?^lbiVqb-%kd185eeb%x`|H@MZ>VQue!cCB35MJetem3-RsKIhmp(sb9GEv`T9 zQ>IYVu4^iiX8&1AJg=s^*Ix3bOT$a4m-I}38jJ8QeDXzOVD z?5)N~!{ou*Z;Il@@)Trq7fSN@UOAJ~8I7gWaJ;8aEq>>AGS%m06t&u#HZ$v+ZtFA_ z*H_7>oRnc!x!;C1Qh=;o%POT5{3b z=YC5}49rkF&z)`m z=?O24Y3lAp#7j=s16P)&yrA%ogGQq&_4$g7WWls zRon&~y2D%X7qXBl4O7iH9UtpbO1-y#60?0MiaBo~yRlq80n2i74oV}h=JrprR*C6W zj$=?S2$FF8G500SfY4e?Tnnx=oliaRIXo~~^Q{x|G`?@zw{Xs~2sP>4mfk?9n(pxz z#y_>F+3rUlj)4CQI&jqy`9J@QsjZEZvVozM$scOevG@_26$V6+`&XDR*p-F~SNTy$ zoL`qQ4~xQyUP03GXox(aahAj0+lhZEpo#iYluLe!b>#@o7@6wXNmtz^!V$N;;?S8) zf$p&;9HWc|wBel9GlEV?cO|eAMOTAu54;u!o2qH<`06+NX70NyyX&3DfxD5i_y<-7 zcIlgEn&K6oC4Al2ow&tqXg1ZwD~x+fGfuF{!`oRG`fftm^kDj^@o7iMdpqDu9;^Hi z7Nq7io~DtG0`~|6NK%E$z>IVnQhb$-fTn|4SCY4H-winog|wVGrui*YO%~Lk4G1>f z`aWYlFLBo>r5O4(M|v!A_{RgI;8c*XYZ~Etobf5|<(rS6VDyx)?Rs!Yt?8~S4CP;C zXy$mfExw#!No%}unS{9)Rf=t@G`N;Lo;?q#4@AL8EGB|uhl4X5+0?(rRA~(AfBIZT z*md)D2nd%O`k-OpEk3RU;$<3TyrqY#yaJs;>V1I+d&1M*IP=mf zf0#({L$JD=R;-&(J#gOx=)kW6e3@~~@pzRaYY%z|e87QAox7NS+(AB)gKgNbcpfhnx<+$XG||ow<5E9Xo;S+;b2Fj- zm<{0Jm9eq+`TI}FyK%$xXz|Cq7K_e>O)x&F1I8NB;k-dbxb{rz6fauvF389NB4oB8 zYK(|o^`N>7Kl|r~ zV<^U?1P=bl(`RchNrdr~sL8DB2xUE$a3n&SO$ zRoLfPU2+Vpx*}i|BL2M!4eadxc(O8Mx@^D*5rfXX!Xhzb=`0b77;95RXKp5iP}I)B zObvPZ;Gxh^JyXMdTYS;fk`hXGv z7nA-}A_JTHzr5%Dk9?y<8%Vzag=_@6xW)Mo7I^jn#en%Y{9l>>o#cNC0x7JzHV>55 z6aHVe9{(Zp0UZGr=ubhcO^nSA=*_JS%uE>nuyp>tEcDe2-j`Z#M;or*!YhnF?tzuBL`bYTT>@J5jP_fD?K$^2TRAVCMHgFZdQ(NzjKp)ALKg( ziYE-zt)u;e`;qwnipTW7#4AvK&|^~p0U2}#0b%P+Pv^tGm-Khvihohu`2WAe1lHego)&*+ z{@r~2FXrR^|0~>|#_YdS{B9-t7sbHv{}t|^HnYET{cc_K7uU+vzqx+5HTs?6_eIyg zD4>@9P4V|7*x%v5ui5+!zV;vZe^+pR2md~W{0m%n@^A2O6UyHiexL08#UOL`Z-#$N zeSXLPJ|_N!H@)~DBjoS!-^YW$;H8&;ga3PUke7l0c2j?Jk0>C_5FjAkSASgne_~X@ AUH||9 literal 0 HcmV?d00001 diff --git a/tests/test_backend_msword_embedded_objects.py b/tests/test_backend_msword_embedded_objects.py new file mode 100644 index 0000000000..5b7774feca --- /dev/null +++ b/tests/test_backend_msword_embedded_objects.py @@ -0,0 +1,261 @@ +# SPDX-FileCopyrightText: The Docling Contributors +# SPDX-License-Identifier: MIT + +"""Tests for the Word, Excel and PowerPoint documents embedded in a Word file. + +The fixture was made in Microsoft Word. It embeds an Excel workbook, a +PowerPoint presentation, a Word document (which embeds a workbook of its own) +and a text file, which Word stores as a binary OLE package. +""" + +import logging +import zipfile +from copy import deepcopy +from io import BytesIO +from pathlib import Path + +import pytest +from docling_core.types.doc import ( + DocItem, + DoclingDocument, + GroupItem, + NodeItem, + PictureItem, + RichTableCell, + TableItem, + TextItem, +) +from lxml import etree + +import docling.backend.msexcel_backend as msexcel_backend_module +import docling.backend.msword_backend as msword_backend_module +from docling.datamodel.backend_options import MsWordBackendOptions +from docling.datamodel.base_models import DocumentStream, InputFormat +from docling.document_converter import DocumentConverter, WordFormatOption + +FIXTURE = Path("./tests/data/docx/embedded_objects/docx_embedded_objects.docx") +RICH_CELLS_DOCX = Path("./tests/data/docx/sources/docx_rich_cells.docx") +EXCEL_PART = "word/embeddings/Microsoft_Excel_Worksheet.xlsx" +WORD_PART = "word/embeddings/Microsoft_Word_Document.docx" +EXCEL_GROUP = "embedded: Microsoft_Excel_Worksheet.xlsx" +POWERPOINT_GROUP = "embedded: Microsoft_PowerPoint_Presentation.pptx" +WORD_GROUP = "embedded: Microsoft_Word_Document.docx" + + +@pytest.fixture(autouse=True) +def no_libreoffice(monkeypatch): + # The previews are EMF pictures. Rendering them needs LibreOffice and is + # not what these tests check. + monkeypatch.setattr( + msword_backend_module, "get_docx_to_pdf_converter", lambda: None + ) + + +def _convert(data: bytes, process_embedded_objects: bool = True) -> DoclingDocument: + converter = DocumentConverter( + format_options={ + InputFormat.DOCX: WordFormatOption( + backend_options=MsWordBackendOptions( + process_embedded_objects=process_embedded_objects + ) + ) + } + ) + stream = DocumentStream(name="embedded_objects.docx", stream=BytesIO(data)) + return converter.convert(stream).document + + +def _rewrite_parts(data: bytes, replacements: dict[str, bytes]) -> bytes: + out = BytesIO() + with ( + zipfile.ZipFile(BytesIO(data)) as source, + zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED) as target, + ): + for info in source.infolist(): + target.writestr( + info, replacements.get(info.filename, source.read(info.filename)) + ) + return out.getvalue() + + +def _embedded_groups(doc: DoclingDocument) -> dict[str, GroupItem]: + return { + group.name: group for group in doc.groups if group.name.startswith("embedded: ") + } + + +def _items_under(doc: DoclingDocument, node: NodeItem) -> list[NodeItem]: + return [ + item + for item, _ in doc.iterate_items(root=node, traverse_pictures=True) + if item is not node + ] + + +def _texts_under(doc: DoclingDocument, node: NodeItem) -> list[str]: + return [item.text for item in _items_under(doc, node) if isinstance(item, TextItem)] + + +def _describe(item: NodeItem) -> str: + if isinstance(item, GroupItem): + return item.name + if isinstance(item, TextItem): + return item.text + assert isinstance(item, DocItem) + return item.label + + +def test_embedded_objects_are_not_converted_by_default(): + doc = _convert(FIXTURE.read_bytes(), process_embedded_objects=False) + + assert not _embedded_groups(doc) + assert len(doc.pictures) == 4 + assert not doc.tables + + +def test_embedded_documents_are_converted_after_their_preview(): + doc = _convert(FIXTURE.read_bytes()) + + groups = _embedded_groups(doc) + assert list(groups) == [EXCEL_GROUP, POWERPOINT_GROUP, WORD_GROUP] + for group in groups.values(): + assert isinstance(group.children[0].resolve(doc), PictureItem) + + section_ref = groups[EXCEL_GROUP].parent + assert section_ref is not None + section = section_ref.resolve(doc) + assert [_describe(ref.resolve(doc)) for ref in section.children][:9] == [ + "The budget workbook is embedded below.", + EXCEL_GROUP, + "The roadmap slide is embedded below.", + POWERPOINT_GROUP, + "The meeting notes document is embedded below.", + WORD_GROUP, + "A text file is embedded as a package.", + "picture", + "End of report.", + ] + + tables = [ + item + for item in _items_under(doc, groups[EXCEL_GROUP]) + if isinstance(item, TableItem) + ] + assert len(tables) == 1 + assert [[cell.text for cell in row] for row in tables[0].data.grid] == [ + ["Item", "Amount"], + ["Rent", "1200"], + ["Travel", "300"], + ["Total", "1500"], + ] + assert _texts_under(doc, groups[POWERPOINT_GROUP]) == [ + "Roadmap", + "Ship embedded object parsing", + ] + assert _texts_under(doc, groups[WORD_GROUP])[:2] == [ + "Meeting notes: approve the budget.", + "Next meeting is on Friday.", + ] + + +def test_objects_embedded_in_an_embedded_document_are_not_converted(): + doc = _convert(FIXTURE.read_bytes()) + + word_items = _items_under(doc, _embedded_groups(doc)[WORD_GROUP]) + # The preview of the Word document, then the preview of its own workbook. + assert sum(isinstance(item, PictureItem) for item in word_items) == 2 + assert not any(isinstance(item, TableItem) for item in word_items) + assert len(doc.tables) == 1 + + +def test_embedded_content_exports_without_page_references(): + # The Excel and PowerPoint backends give their items page provenance, but a + # Word document has no pages. DocTags export fails on a dangling page. + doc = _convert(FIXTURE.read_bytes()) + + assert "Rent1200" in doc.export_to_doctags() + + +def test_rich_table_cells_of_an_embedded_document_point_to_their_copies(): + data = _rewrite_parts( + FIXTURE.read_bytes(), {WORD_PART: RICH_CELLS_DOCX.read_bytes()} + ) + doc = _convert(data) + + word_tables = [ + item + for item in _items_under(doc, _embedded_groups(doc)[WORD_GROUP]) + if isinstance(item, TableItem) + ] + rich_cells = [ + (table, cell) + for table in word_tables + for cell in table.data.table_cells + if isinstance(cell, RichTableCell) + ] + assert rich_cells + for table, cell in rich_cells: + assert cell.ref.resolve(doc).parent.cref == table.self_ref + + +def test_broken_embedded_document_keeps_its_preview(caplog): + data = _rewrite_parts(FIXTURE.read_bytes(), {EXCEL_PART: b"not a workbook"}) + + with caplog.at_level(logging.WARNING, logger=msword_backend_module.__name__): + doc = _convert(data) + + assert list(_embedded_groups(doc)) == [POWERPOINT_GROUP, WORD_GROUP] + assert len(doc.pictures) == 5 + assert "Microsoft_Excel_Worksheet.xlsx" in caplog.text + + +def test_missing_extra_keeps_the_preview(monkeypatch, caplog): + monkeypatch.setattr(msexcel_backend_module, "_OPENPYXL_AVAILABLE", False) + + with caplog.at_level(logging.WARNING, logger=msword_backend_module.__name__): + doc = _convert(FIXTURE.read_bytes()) + + assert list(_embedded_groups(doc)) == [POWERPOINT_GROUP, WORD_GROUP] + assert "docling-slim[format-xlsx]" in caplog.text + + +def test_part_shared_by_two_objects_is_converted_once(): + # A crafted file can point many objects at one large part. Each part is + # converted only once, so the work stays bounded by the file content. + with zipfile.ZipFile(FIXTURE) as archive: + document = etree.fromstring(archive.read("word/document.xml")) + namespaces = { + "w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + "o": "urn:schemas-microsoft-com:office:office", + } + paragraph = document.xpath( + "//w:p[.//o:OLEObject[@ProgID='Excel.Sheet.12']]", namespaces=namespaces + )[0] + paragraph.addnext(deepcopy(paragraph)) + data = _rewrite_parts( + FIXTURE.read_bytes(), {"word/document.xml": etree.tostring(document)} + ) + + doc = _convert(data) + + assert list(_embedded_groups(doc)) == [EXCEL_GROUP, POWERPOINT_GROUP, WORD_GROUP] + assert len(doc.tables) == 1 + assert len(doc.pictures) == 6 + + +def test_linked_object_keeps_its_preview(): + with zipfile.ZipFile(FIXTURE) as archive: + rels = etree.fromstring(archive.read("word/_rels/document.xml.rels")) + for rel in rels: + if rel.get("Target") == "embeddings/Microsoft_Excel_Worksheet.xlsx": + rel.set("Target", "file:///C:/Reports/budget.xlsx") + rel.set("TargetMode", "External") + data = _rewrite_parts( + FIXTURE.read_bytes(), + {"word/_rels/document.xml.rels": etree.tostring(rels)}, + ) + + doc = _convert(data) + + assert list(_embedded_groups(doc)) == [POWERPOINT_GROUP, WORD_GROUP] + assert len(doc.pictures) == 5 From 2915c01fabfae47a553c3f5b93b8b507b256096a Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Fri, 9 Oct 2026 14:45:40 +0800 Subject: [PATCH 3/7] docs: describe the conversion of Word embedded documents Signed-off-by: Daniel Nguyen --- docs/usage/advanced_options.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/docs/usage/advanced_options.md b/docs/usage/advanced_options.md index e532d7d802..fab1e4abf2 100644 --- a/docs/usage/advanced_options.md +++ b/docs/usage/advanced_options.md @@ -362,6 +362,39 @@ doc_converter = DocumentConverter( ) ``` +### Word embedded documents + +A Word file can embed an Excel workbook, a PowerPoint presentation or another +Word document as an OLE object. By default, Docling keeps only the preview +picture of the object. Set `process_embedded_objects` to also convert the +embedded document: + +```python +from docling.datamodel.backend_options import MsWordBackendOptions +from docling.datamodel.base_models import InputFormat +from docling.document_converter import DocumentConverter, WordFormatOption + +converter = DocumentConverter( + format_options={ + InputFormat.DOCX: WordFormatOption( + backend_options=MsWordBackendOptions(process_embedded_objects=True) + ) + } +) +doc = converter.convert("report.docx").document +for group in doc.groups: + if group.name.startswith("embedded: "): + print(group.name) # e.g. "embedded: Microsoft_Excel_Worksheet.xlsx" +``` + +Each object becomes a group at the position of the object. The group holds the +preview picture, followed by the content of the embedded document, for example +the sheets and tables of a workbook. The embedded document is converted with +the default options of its backend, so the objects embedded in it are not +converted. Linked objects, and objects of other types such as a PDF or a text +file, keep only their preview picture. The `format-xlsx` and `format-pptx` +extras are necessary to convert embedded workbooks and presentations. + ### Docling JSON input A `DoclingDocument` JSON file can be converted again, e.g. to re-export it to From 7152394e633c0a0190ddf3765b662a3e2ff2ee4e Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Mon, 26 Oct 2026 10:37:28 +0800 Subject: [PATCH 4/7] style(docx): remove whitespace from blank lines The merge of main through the GitHub editor left whitespace on four blank lines, and the lint job failed. Signed-off-by: Daniel Nguyen --- docling/backend/msword_backend.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py index 8c8a3e8aa0..f09144fa8b 100644 --- a/docling/backend/msword_backend.py +++ b/docling/backend/msword_backend.py @@ -656,7 +656,7 @@ def _normalize_strict_ooxml(archive: zipfile.ZipFile, limits: ArchiveLimits) -> target.writestr(info, content) normalized.seek(0) return normalized - + _RefT = TypeVar("_RefT", bound=RefItem) @@ -672,8 +672,8 @@ def _remap_refs(refs: list[_RefT], copies: dict[str, NodeItem]) -> list[_RefT]: for ref in refs if ref.cref in copies ] - - + + def _normalize_list_style_types(docx_obj: DocxDocument) -> None: """Change the style type ``list`` to ``numbering`` in the styles part. @@ -686,7 +686,7 @@ def _normalize_list_style_types(docx_obj: DocxDocument) -> None: if style.get(qn("w:type")) == "list": style.set(qn("w:type"), "numbering") - + class _NestedList(NamedTuple): """A list opened under an open list's item for its larger left indentation. From e42f8f66612bdf9d4cc5b9ba6fa67ba9482afe20 Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Mon, 26 Oct 2026 11:02:52 +0800 Subject: [PATCH 5/7] fix(docx): keep a rich table cell whose target is not copied A RichTableCell of an embedded document raised KeyError when its target was not in the copied tree. Now the cell becomes a plain TableCell that keeps its text, the same as _remap_refs drops a reference whose target was not copied. Signed-off-by: Daniel Nguyen --- docling/backend/msword_backend.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py index f09144fa8b..477543b3ce 100644 --- a/docling/backend/msword_backend.py +++ b/docling/backend/msword_backend.py @@ -4588,9 +4588,18 @@ def _add_embedded_document( item.footnotes = _remap_refs(item.footnotes, copies) item.references = _remap_refs(item.references, copies) if isinstance(item, TableItem): - for cell in item.data.table_cells: - if isinstance(cell, RichTableCell): - cell.ref = copies[cell.ref.cref].get_ref() + cells = item.data.table_cells + for index, cell in enumerate(cells): + if not isinstance(cell, RichTableCell): + continue + target = copies.get(cell.ref.cref) + # Like _remap_refs, a cell whose target was not copied loses + # its reference and keeps only its text. + cells[index] = ( + cell.model_copy(update={"ref": target.get_ref()}) + if target is not None + else TableCell.model_validate(cell.model_dump(exclude={"ref"})) + ) def _handle_drawingml(self, doc: DoclingDocument, drawingml_els: Any): """Handle DrawingML elements by converting to image via DOCX->PDF->PNG. From 5fa87cddbbea0a103bfb483c2e8dcff22dcbfcea Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Mon, 26 Oct 2026 11:02:52 +0800 Subject: [PATCH 6/7] feat(docx): limit embedded documents and convert nested ones An embedded package was opened without size limits, and the PowerPoint backend does not check archive limits. The number of embedded objects and the nesting depth were also fixed in the code. - Each embedded package must pass the archive limits of the Word file before any backend opens it. - New MsWordBackendOptions fields: max_embedded_objects (32), max_embedded_total_bytes (512 MiB) and max_embedding_depth (3). The count and the size are shared by all nesting levels. - An embedded Word document is converted with the same options, so its own objects are converted until max_embedding_depth. - The backend type is checked without an assertion, outside the try blocks, as SimplePipeline does. Signed-off-by: Daniel Nguyen --- docling/backend/msword_backend.py | 96 +++++++++++++++++++++++----- docling/datamodel/backend_options.py | 42 ++++++++++-- docs/usage/advanced_options.md | 35 ++++++++-- 3 files changed, 148 insertions(+), 25 deletions(-) diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py index 477543b3ce..2cc8689051 100644 --- a/docling/backend/msword_backend.py +++ b/docling/backend/msword_backend.py @@ -57,6 +57,7 @@ from docling.backend.msexcel_backend import MsExcelDocumentBackend from docling.backend.mspowerpoint_backend import MsPowerpointDocumentBackend from docling.backend.utils.archive_limits import ( + ArchiveLimitError, ArchiveLimits, check_archive_limits, read_member, @@ -854,6 +855,11 @@ def __init__( # Part names of the embedded documents already converted, so a part that # several objects share is converted only once. self.converted_embedded_parts: set[str] = set() + # Embedded documents converted, and their decompressed bytes, including + # those of the nested Word documents. They count against the limits. + self.embedded_objects_converted: int = 0 + self.embedded_total_bytes: int = 0 + self.embedded_objects_skipped: int = 0 # self.initialise(path_or_stream) # Word file: self.path_or_stream: BytesIO | Path = path_or_stream @@ -1005,6 +1011,9 @@ def convert(self) -> DoclingDocument: self.paragraph_comment_map.clear() self.paragraph_to_items.clear() self.converted_embedded_parts.clear() + self.embedded_objects_converted = 0 + self.embedded_total_bytes = 0 + self.embedded_objects_skipped = 0 self._deferred_empty_paragraphs.clear() doc, _ = self._walk_linear(self.docx_obj.element.body, doc) self._add_header_footer(self.docx_obj, doc) @@ -4448,7 +4457,7 @@ def _handle_vml_pictures( is_spacer = self._is_invisible_spacer(pil_image) embedded = ( - self._convert_embedded_object(imagedata) + self._convert_embedded_object(imagedata, self.options) if isinstance(self.options, MsWordBackendOptions) and self.options.process_embedded_objects else None @@ -4477,21 +4486,27 @@ def _handle_vml_pictures( return elem_ref def _convert_embedded_object( - self, imagedata: Any + self, imagedata: Any, options: MsWordBackendOptions ) -> tuple[str, DoclingDocument] | None: """Convert the Office document embedded in the OLE object of a VML picture. Word stores an embedded Word, Excel or PowerPoint document as a package part, and the ``v:imagedata`` only holds its preview picture. + The package must pass the archive limits of this Word document before it + is opened. ``max_embedded_objects`` and ``max_embedded_total_bytes`` are + shared with the nested Word documents, so they bound the work over all + nesting levels. + Args: imagedata: The ``v:imagedata`` element of the preview picture. + options: The options of this backend. Returns: The file name of the embedded part and its converted document, or ``None`` if the picture is not the preview of an embedded Word, Excel - or PowerPoint document, if the part was already converted, or if the - conversion fails. + or PowerPoint document, if the part was already converted, if a limit + stops it, or if the conversion fails. """ ole_objects = self.ole_object_xpath_expr(imagedata) if not ole_objects: @@ -4506,36 +4521,85 @@ def _convert_embedded_object( return None self.converted_embedded_parts.add(part.partname) + filename = part.partname.filename + if self.embedded_objects_converted >= options.max_embedded_objects: + self.embedded_objects_skipped += 1 + if self.embedded_objects_skipped == 1: + _log.warning( + f"Embedded document {filename} and the next ones are not " + f"converted: max_embedded_objects ({options.max_embedded_objects}) " + "is reached" + ) + return None + try: + with zipfile.ZipFile(BytesIO(part.blob)) as archive: + check_archive_limits(archive, self._archive_limits) + package_bytes = sum(info.file_size for info in archive.infolist()) + except (zipfile.BadZipFile, ArchiveLimitError) as exc: + _log.warning(f"Embedded document {filename} is not converted: {exc}") + return None + if self.embedded_total_bytes + package_bytes > options.max_embedded_total_bytes: + _log.warning( + f"Embedded document {filename} is not converted: the embedded " + "documents would decompress to more than max_embedded_total_bytes " + f"({options.max_embedded_total_bytes})" + ) + return None + self.embedded_objects_converted += 1 + self.embedded_total_bytes += package_bytes + backend_cls: type[DeclarativeDocumentBackend] + backend_options: MsWordBackendOptions | None = None if input_format == InputFormat.XLSX: backend_cls = MsExcelDocumentBackend elif input_format == InputFormat.PPTX: backend_cls = MsPowerpointDocumentBackend else: backend_cls = MsWordDocumentBackend + backend_options = options.model_copy( + update={ + "process_embedded_objects": options.max_embedding_depth > 1, + "max_embedding_depth": max(options.max_embedding_depth - 1, 1), + "max_embedded_objects": options.max_embedded_objects + - self.embedded_objects_converted, + "max_embedded_total_bytes": options.max_embedded_total_bytes + - self.embedded_total_bytes, + } + ) - filename = part.partname.filename + # A broken or unsupported embedded document, or a missing format extra, + # must not fail the conversion of the Word document. The preview stays. try: in_doc = InputDocument( path_or_stream=BytesIO(part.blob), format=input_format, backend=backend_cls, + backend_options=backend_options, filename=filename, ) - if not in_doc.valid: - _log.warning(f"Embedded document {filename} cannot be opened") - return None - backend = in_doc._backend - assert isinstance(backend, DeclarativeDocumentBackend) - try: - return filename, backend.convert() - finally: - backend.unload() except Exception as exc: - # A broken or unsupported embedded document must not fail the - # conversion of the Word document. Its preview picture is kept. + _log.warning(f"Embedded document {filename} cannot be opened: {exc}") + return None + if not in_doc.valid: + _log.warning(f"Embedded document {filename} cannot be opened") + return None + backend = in_doc._backend + if not isinstance(backend, DeclarativeDocumentBackend): + raise RuntimeError( + f"The backend {type(backend).__name__} of embedded document " + f"{filename} is not a declarative backend." + ) + try: + embedded_doc = backend.convert() + except Exception as exc: _log.warning(f"Embedded document {filename} cannot be converted: {exc}") return None + finally: + backend.unload() + if isinstance(backend, MsWordDocumentBackend): + self.embedded_objects_converted += backend.embedded_objects_converted + self.embedded_total_bytes += backend.embedded_total_bytes + return filename, embedded_doc def _add_embedded_document( self, doc: DoclingDocument, embedded_doc: DoclingDocument, parent: NodeItem diff --git a/docling/datamodel/backend_options.py b/docling/datamodel/backend_options.py index 344eceb70c..c7b2cf5805 100644 --- a/docling/datamodel/backend_options.py +++ b/docling/datamodel/backend_options.py @@ -580,12 +580,46 @@ class MsWordBackendOptions(BaseBackendOptions): "Whether to convert the Word, Excel and PowerPoint documents that are " "embedded as OLE objects. The content of each one is added after the " "preview picture of the object, and both are grouped together. An " - "embedded document is converted with the default options of its " - "backend, so the objects embedded in it are not converted. Linked " - "objects and other embedded objects keep only their preview picture. " - "Opt-in (default False)." + "embedded Word document is converted with these options, and an " + "embedded workbook or presentation with the default options of its " + "backend. Each embedded package must pass the archive limits of the " + "Word document (max_total_bytes, max_file_bytes and max_member_count). " + "Linked objects and other embedded objects keep only their preview " + "picture. Opt-in (default False)." ), ) + max_embedded_objects: Annotated[ + NonNegativeInt, + Field( + description=( + "Maximum number of embedded documents to convert when " + "process_embedded_objects is enabled, counted over all nesting " + "levels. The other objects keep only their preview picture." + ) + ), + ] = 32 + max_embedded_total_bytes: Annotated[ + NonNegativeInt, + Field( + description=( + "Maximum cumulative decompressed size in bytes of the embedded " + "documents to convert when process_embedded_objects is enabled, " + "counted over all nesting levels. An object that goes above it " + "keeps only its preview picture." + ) + ), + ] = 512 * 1024 * 1024 + max_embedding_depth: Annotated[ + PositiveInt, + Field( + description=( + "Maximum nesting level of the embedded documents to convert when " + "process_embedded_objects is enabled. 1 converts only the objects " + "of the Word document, 2 also converts the objects of an embedded " + "Word document, and so on." + ) + ), + ] = 3 use_outline_level_for_headings: Annotated[ bool, diff --git a/docs/usage/advanced_options.md b/docs/usage/advanced_options.md index 38db8016c2..bf83540e30 100644 --- a/docs/usage/advanced_options.md +++ b/docs/usage/advanced_options.md @@ -528,11 +528,36 @@ for group in doc.groups: Each object becomes a group at the position of the object. The group holds the preview picture, followed by the content of the embedded document, for example -the sheets and tables of a workbook. The embedded document is converted with -the default options of its backend, so the objects embedded in it are not -converted. Linked objects, and objects of other types such as a PDF or a text -file, keep only their preview picture. The `format-xlsx` and `format-pptx` -extras are necessary to convert embedded workbooks and presentations. +the sheets and tables of a workbook. An embedded Word document is converted with +the same options, so its own embedded objects are converted too. An embedded +workbook or presentation is converted with the default options of its backend. +Linked objects, and objects of other types such as a PDF or a text file, keep +only their preview picture. The `format-xlsx` and `format-pptx` extras are +necessary to convert embedded workbooks and presentations. + +An embedded document can come from an untrusted source, so limits apply. An +object that goes above a limit keeps only its preview picture, and a warning is +logged: + +- Each embedded package must pass the same archive limits as the Word file + (`max_total_bytes`, `max_file_bytes` and `max_member_count`), before it is + opened. +- `max_embedded_objects` (default 32) and `max_embedded_total_bytes` (default + 512 MiB of decompressed data) apply to all embedded documents together, + including those inside an embedded Word document. +- `max_embedding_depth` (default 3) is the deepest nesting level that is + converted. With `1`, only the objects of the Word file itself are converted. +- A package that several objects share is converted once. + +```python +from docling.datamodel.backend_options import MsWordBackendOptions + +options = MsWordBackendOptions( + process_embedded_objects=True, + max_embedded_objects=10, + max_embedding_depth=1, +) +``` ### AsciiDoc comments From fb91439686caaa36ee8d66338d51551d1767306c Mon Sep 17 00:00:00 2001 From: Daniel Nguyen Date: Mon, 26 Oct 2026 11:02:52 +0800 Subject: [PATCH 7/7] test(docx): test embedded objects in the Word test module - Replace the fixture with a file that Microsoft Word saved, and move it to tests/data/docx/sources. The generic e2e test converts it with process_embedded_objects=True and compares the reference files. - Move the tests into tests/test_backend_msword.py and remove the separate module. - Add tests for the limits over nesting levels, a zip bomb, a broken package, a linked object and a rich table cell whose target is not copied. Signed-off-by: Daniel Nguyen --- .../docx_embedded_objects.docx | Bin 63499 -> 0 bytes .../docx_embedded_objects.docx.itxt | 29 + .../docx_embedded_objects.docx.json | 955 ++++++++++++++++++ .../groundtruth/docx_embedded_objects.docx.md | 40 + .../docx/sources/docx_embedded_objects.docx | Bin 0 -> 75318 bytes tests/test_backend_msword.py | 297 +++++- tests/test_backend_msword_embedded_objects.py | 261 ----- 7 files changed, 1317 insertions(+), 265 deletions(-) delete mode 100644 tests/data/docx/embedded_objects/docx_embedded_objects.docx create mode 100644 tests/data/docx/groundtruth/docx_embedded_objects.docx.itxt create mode 100644 tests/data/docx/groundtruth/docx_embedded_objects.docx.json create mode 100644 tests/data/docx/groundtruth/docx_embedded_objects.docx.md create mode 100644 tests/data/docx/sources/docx_embedded_objects.docx delete mode 100644 tests/test_backend_msword_embedded_objects.py diff --git a/tests/data/docx/embedded_objects/docx_embedded_objects.docx b/tests/data/docx/embedded_objects/docx_embedded_objects.docx deleted file mode 100644 index 0c18496e44975a4fc38e5af9a25efe5ad94d4199..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63499 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%0D$ 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 AUH||9 diff --git a/tests/data/docx/groundtruth/docx_embedded_objects.docx.itxt b/tests/data/docx/groundtruth/docx_embedded_objects.docx.itxt new file mode 100644 index 0000000000..cfe8a7f2a9 --- /dev/null +++ b/tests/data/docx/groundtruth/docx_embedded_objects.docx.itxt @@ -0,0 +1,29 @@ +item-0 at level 0: unspecified: group _root_ + item-1 at level 1: section: group header-0 + item-2 at level 2: section_header: Quarterly report + item-3 at level 3: text: The budget workbook is embedded below. + item-4 at level 3: section: group embedded: Microsoft_Excel_Worksheet.xlsx + item-5 at level 4: picture + item-6 at level 4: sheet: group Budget + item-7 at level 5: table with [4x2] + item-8 at level 3: text: The roadmap slide is embedded below. + item-9 at level 3: section: group embedded: Microsoft_PowerPoint_Presentation.pptx + item-10 at level 4: picture + item-11 at level 4: chapter: group slide-0 + item-12 at level 5: title: Roadmap + item-13 at level 5: list: group list + item-14 at level 6: list_item: Ship embedded object parsing + item-15 at level 3: text: The meeting notes document is embedded below. + item-16 at level 3: section: group embedded: Microsoft_Word_Document.docx + item-17 at level 4: picture + item-18 at level 4: text: Meeting notes: approve the budget. + item-19 at level 4: section: group embedded: Microsoft_Excel_Worksheet.xlsx + item-20 at level 5: picture + item-21 at level 5: sheet: group Actions + item-22 at level 6: table with [3x2] + item-23 at level 4: text: Next meeting is on Friday. + item-24 at level 4: text: + item-25 at level 3: text: A text file is embedded as a package. + item-26 at level 3: picture + item-27 at level 3: text: End of report. + item-28 at level 3: text: \ No newline at end of file diff --git a/tests/data/docx/groundtruth/docx_embedded_objects.docx.json b/tests/data/docx/groundtruth/docx_embedded_objects.docx.json new file mode 100644 index 0000000000..8c092c09ac --- /dev/null +++ b/tests/data/docx/groundtruth/docx_embedded_objects.docx.json @@ -0,0 +1,955 @@ +{ + "schema_name": "DoclingDocument", + "version": "1.10.0", + "name": "docx_embedded_objects", + "origin": { + "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "binary_hash": 10126384585997278569, + "filename": "docx_embedded_objects.docx" + }, + "furniture": { + "self_ref": "#/furniture", + "children": [], + "content_layer": "furniture", + "name": "_root_", + "label": "unspecified" + }, + "body": { + "self_ref": "#/body", + "children": [ + { + "$ref": "#/groups/0" + } + ], + "content_layer": "body", + "name": "_root_", + "label": "unspecified" + }, + "groups": [ + { + "self_ref": "#/groups/0", + "parent": { + "$ref": "#/body" + }, + "children": [ + { + "$ref": "#/texts/0" + } + ], + "content_layer": "body", + "name": "header-0", + "label": "section" + }, + { + "self_ref": "#/groups/1", + "parent": { + "$ref": "#/texts/0" + }, + "children": [ + { + "$ref": "#/pictures/0" + }, + { + "$ref": "#/groups/2" + } + ], + "content_layer": "body", + "name": "embedded: Microsoft_Excel_Worksheet.xlsx", + "label": "section" + }, + { + "self_ref": "#/groups/2", + "parent": { + "$ref": "#/groups/1" + }, + "children": [ + { + "$ref": "#/tables/0" + } + ], + "content_layer": "body", + "name": "Budget", + "label": "sheet" + }, + { + "self_ref": "#/groups/3", + "parent": { + "$ref": "#/texts/0" + }, + "children": [ + { + "$ref": "#/pictures/1" + }, + { + "$ref": "#/groups/4" + } + ], + "content_layer": "body", + "name": "embedded: Microsoft_PowerPoint_Presentation.pptx", + "label": "section" + }, + { + "self_ref": "#/groups/4", + "parent": { + "$ref": "#/groups/3" + }, + "children": [ + { + "$ref": "#/texts/3" + }, + { + "$ref": "#/groups/5" + } + ], + "content_layer": "body", + "name": "slide-0", + "label": "chapter" + }, + { + "self_ref": "#/groups/5", + "parent": { + "$ref": "#/groups/4" + }, + "children": [ + { + "$ref": "#/texts/4" + } + ], + "content_layer": "body", + "name": "list", + "label": "list" + }, + { + "self_ref": "#/groups/6", + "parent": { + "$ref": "#/texts/0" + }, + "children": [ + { + "$ref": "#/pictures/2" + }, + { + "$ref": "#/texts/6" + }, + { + "$ref": "#/groups/7" + }, + { + "$ref": "#/texts/7" + }, + { + "$ref": "#/texts/8" + } + ], + "content_layer": "body", + "name": "embedded: Microsoft_Word_Document.docx", + "label": "section" + }, + { + "self_ref": "#/groups/7", + "parent": { + "$ref": "#/groups/6" + }, + "children": [ + { + "$ref": "#/pictures/3" + }, + { + "$ref": "#/groups/8" + } + ], + "content_layer": "body", + "name": "embedded: Microsoft_Excel_Worksheet.xlsx", + "label": "section" + }, + { + "self_ref": "#/groups/8", + "parent": { + "$ref": "#/groups/7" + }, + "children": [ + { + "$ref": "#/tables/1" + } + ], + "content_layer": "body", + "name": "Actions", + "label": "sheet" + } + ], + "texts": [ + { + "self_ref": "#/texts/0", + "parent": { + "$ref": "#/groups/0" + }, + "children": [ + { + "$ref": "#/texts/1" + }, + { + "$ref": "#/groups/1" + }, + { + "$ref": "#/texts/2" + }, + { + "$ref": "#/groups/3" + }, + { + "$ref": "#/texts/5" + }, + { + "$ref": "#/groups/6" + }, + { + "$ref": "#/texts/9" + }, + { + "$ref": "#/pictures/4" + }, + { + "$ref": "#/texts/10" + }, + { + "$ref": "#/texts/11" + } + ], + "content_layer": "body", + "label": "section_header", + "prov": [], + "orig": "Quarterly report", + "text": "Quarterly report", + "level": 1 + }, + { + "self_ref": "#/texts/1", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "The budget workbook is embedded below.", + "text": "The budget workbook is embedded below.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/2", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "The roadmap slide is embedded below.", + "text": "The roadmap slide is embedded below.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/3", + "parent": { + "$ref": "#/groups/4" + }, + "children": [], + "content_layer": "body", + "label": "title", + "prov": [], + "orig": "Roadmap", + "text": "Roadmap" + }, + { + "self_ref": "#/texts/4", + "parent": { + "$ref": "#/groups/5" + }, + "children": [], + "content_layer": "body", + "label": "list_item", + "prov": [], + "orig": "Ship embedded object parsing", + "text": "Ship embedded object parsing", + "enumerated": false, + "marker": "" + }, + { + "self_ref": "#/texts/5", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "The meeting notes document is embedded below.", + "text": "The meeting notes document is embedded below.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/6", + "parent": { + "$ref": "#/groups/6" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "Meeting notes: approve the budget.", + "text": "Meeting notes: approve the budget.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/7", + "parent": { + "$ref": "#/groups/6" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "Next meeting is on Friday.", + "text": "Next meeting is on Friday.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/8", + "parent": { + "$ref": "#/groups/6" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "", + "text": "" + }, + { + "self_ref": "#/texts/9", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "A text file is embedded as a package.", + "text": "A text file is embedded as a package.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/10", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "End of report.", + "text": "End of report.", + "formatting": { + "bold": false, + "italic": false, + "underline": false, + "strikethrough": false, + "script": "baseline" + } + }, + { + "self_ref": "#/texts/11", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "text", + "prov": [], + "orig": "", + "text": "" + } + ], + "pictures": [ + { + "self_ref": "#/pictures/0", + "parent": { + "$ref": "#/groups/1" + }, + "children": [], + "content_layer": "body", + "label": "picture", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "image": { + "mimetype": "image/png", + "dpi": 72, + "size": { + "width": 144.0, + "height": 76.0 + }, + "uri": "data:image/png;base64,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" + }, + "annotations": [] + }, + { + "self_ref": "#/pictures/1", + "parent": { + "$ref": "#/groups/3" + }, + "children": [], + "content_layer": "body", + "label": "picture", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "image": { + "mimetype": "image/png", + "dpi": 72, + "size": { + "width": 3001.0, + "height": 2251.0 + }, + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAC7kAAAjLCAIAAACt62ziAAAgAElEQVR4nOzdX2iVV74/YGeYCzlC0yKTcKrEASVB5gyJLVjrxcjEgWEcdq7aIRGkNxq2MIUO5mYOCYdDQudcJFTogJuYm1Jo5LRXbmw5UHOwcEYrVN10inSjZdyoh+5BdBcq3vl7J/v8cjz+3ev9s3eS93kuSqprveu73/dd2Rfr41o/uH///joAAAAAAAAAAMiBH3a6AAAAAAAAAAAAaBNZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJCVgYAAAAAAAAAgLyQlQEAAAAAAAAAIC9kZQAAAAAAAAAAyAtZGQAAAAAAAAAA8kJWBgAAAAAAAACAvJCVAQAAAAAAAAAgL2RlAAAAAAAAAADIC1kZAAAAAAAAAADyQlYGAAAAAAAAAIC8kJUBAAAAAAAAACAvZGUAAAAAAAAAAMgLWRkAAAAAAAAAAPJC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UTEdXyAPknVcZhWtv7777rvtHG52dnYlBGWaxsbGJicn79271+lCwnQ2KNMUPcTH7snRwd1ulpXL5fn5+eyub3YnEb0he/fu7XQV/yv6DbAyE0UAAAD59KNOFwAAAMAq8MknnwS1LxQKfX19WVSSblCmWCxu27bt0T8/c+ZMimd2TE5Ozs/Pd3d3p3XBByU/BaZ5E3bs2BH9vHHjxhdeeGH5r+7du3f9+vXoh4sXL165cqVUKiUZaHp6+he/+MXQ0FDCgluxuLg4Pj7ehoFaF338VRR9WLcygjJNb7/99smTJx/8k5VTW/SaZffrzuyObeW8Icui75R33313amqq04UAAADwd7IyAAAAPEOj0QhddNy/f38WldTr9eRBmbm5uZ/97Gcvvvhib2/vk9ocOXJk3dIBKDdv3vzyyy/HxsaSjFgulw8ePPjQYn9nFYvFffv29ff3P3ONv9mguQT+b//2b5cvXz516lTs/VqOHj3ahtX06MEl3E+iUChE7/D27dtfeOGFB9+TxpLYb0WKAaysxYgaLL9U69evb9606EFE/71y5crVq1eTTKLovkX1jIyMxK7twQfataRZ2+3bt6NX+syZM0mSIu+8886xY8did0/d2p7drYgXlInu2549e54+68tLYhe20hJFAAAAefaD+/fvd7oGAAAA/m52drb1nTBmZmaaeY42CCqs6c6dO11dXalXMjw8HHudsrhkYGAgXvdKpVJaEq/7usweWdDTaS6iv/LKKwk3uanVah9++GG8jVvOnj27a9euJKM/0+HDh2M/qegxtb5NSPRWfPTRRxmd9HT69Ol019Sjp7Zly5ZWWi4sLARFDaL2u3fvfkr4rCm6XZOTk7GncPO3SmgMosWJX61Wo8Ji70V06dKl2L9bnsLsXtbi2xvN302bNoUGZVp8gZuSfxdk9P0IAABAkB92ugAAAABWtBjrxzMzM1ksBM7OzsZbZS8Wi5cuXTp27FiSxeyob3SF6DrR1eJdIbqN586di11AQnNzc19//XX0EQqFQvLToHp7e48cOXL27NnoaqF933vvvYSjP93i4mK8Zezos0S3KPpcrZ+nE70VU1NT165dm5iYiDHiitV61CCa7N9+++3IyEgrOYPodp08eXJhYSFeVV988UU0g1qvLXqgrU/86KHHfqUjH330UYxeacnP7H6m6NdsaMzrzp07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GQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAcNB8zQAAIABJREFUAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIiFWBkAAAAAAAAAAGIhVgYAAAAAAAAAgFiIlQEAAAAAAAAAIBZiZQAAAAAAAAAAiIVYGQAAAAAAAAAAYiFWBgAAAAAAAACAWIiVAQAAAAAAAAAgFmJlAAAAAAAAAACIhVgZAAAAAAAAAABiIVYGAAAAAAAAAIBYiJUBAAAAAAAAACAWYmUAAAAAAAAAAIjFV3qdAaAJ7m+7e/fuzk8OHz78xBNPDA4O9jBXQDM4w7Df+vp6+z8GtvU2M4Vo3hE1g3qpCRcCAAAAAKBYYmWAvG7cuDE+Pv7AX7VaratXrx45cqTiLAGN4QzDjo2Njf/6r/9a3LbnV7Ozsy+++GLfNYbmHVEzqJe6cSEAAAAAAAp3cGtrq9d5APrbwYMHE347Nzc3MTFRWWaAhnGGYcdrr712/vz5h/221WotLCxUmZ/8mndEzaBe6saFAAAAAAAo3N/1OgNAw3322We9zgLQWM4wUUmu7v1TgNRf846oGdRLf3EhAAAAAAC6YA0mgCTr6+vh30OHDpneHwCAwm1sbHz55ZfhPwYHB3udF4Dm8CwPAABAMvPKQBOs79PrHPW3jY2NGzdunDt37uDBg09ve/LJJ8N/v/rqqzdv3ux17gAA6HuLi4svv/xyuMMM95ntG87w3+H+M9yF3r9/v9e5A+hLnuUBAADIzrwy0H82Njbef//9t99+e319/eLFiwlbTk9PDw4OHj9+/MSJEz5UzSgU70svvfTAFRYubgulOjMzU33GAABohldfffWBt/GL21qt1rVr1wYGBqrPGED/8iwPAABAR8TKQN9YXV198803r1+//sChnwfaPQTf2vbMM88MDw+Xk8GGuHbtWnIJh1J97rnnFCMAAF24efNmcrx7uBf97W9/OzY2VlmWABrAszwAAAAdsQYT9IGVlZWXX3755MmT4+Pj2QNl9gh/eP78+dOnTx88ePDGjRsbGxvFZrIxpqamUrd59913K8gJAADN89Zbb6Vuc+vWrQpyAtAknuUBAADoiFgZqLV2lMzp06evXLlS4G7Hx8effPLJS5cuiZjZY319PctmH330Udk5AQCgkbK8zS325h+g8TzLAwAA0CmxMlBfly5dKjxKZrepqaknn3yy64lqYnb37t1eZwEAAADogGd5AAAAdoiVgTra2Ng4d+5clk9O8wsJ3bhxo4KEmsSXvgAAANBfPMsDAACwQ6wM1M7KyspLL71U5XQv4+PjFmPqyOzsbK+zAAAAAHTAszwAAAA7vtLrDAD/x8bGxunTp6tP9/333z9y5Ej16QIAQFRarZZVUJvn/v37b7zxRnia++ijj3Z+ODQ0NDg4ODw83MOMAQAAAPBAYmWgRu7fv//SSy/1JOkvvviiJ+nWzeDgYJa3F9/5zneqyQ8AAA2T5W5zbm6umsxQiPX19aeffvphv52enp6ZmakyPxAhz/IAAAB0yhpMUCNXr17t6BvTubm527dvr62tbW5ubu1y79698MPwq/n5+VarVV6GG2liYiJ5g1Ckp06dqiYzAAA0zMjISCHbUB93795N+O3FixfX19crywxEy7M8AAAAHRErA3Xx+uuvT01NZdmy1WotLS1tbW1NTEycPXt2cHBwYGBg9wZHjhwJPwy/GhsbW1hYuHPnjqCZ7EJBJSxh3v7tngIHAICMhoaGwi16wgbhVj9sU1l+AJrBszwAAAAdsQYT1MXPfvazLJvNz8+PjY11tOehbeGvVlZWrmzrKoMRuXDhwosvvvjnP//5888/X11dDT957LHHjh8//tRTT3lvAQBATq1Wa3Nz89133/3iiy/eeuut9g/PnDlz+PDh4eHh3uYNoH95lgcAACA7sTJQ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7EnsAAAAGvaTfjcAAAAA+P86X64BABX64IMPMv715ZdfrrsBe/furbsKAACArsjKAAAAAACMprW1taWlpYwFHnroobrbMBRTuwEAAKHIygAAAAAAjKZ//etf2Qs08M1Z586dq7sKAACArsjKAAAAQEOuX7/e7yYAEMu///3vfjdhbH19PeNfW61WYy0BAADokJUBAACAhuRmZZ588slmWgIAzUjnvpMnT2YscPDgwcYaAwAA0CErAwAAAA25evVqv5sAAP+j7jnPPv/88+wF5EQBAIDmycoAAABAQ7744ovsBXbv3t1MSwCg4+uvv661/DfffDN7gZ///Oe1NgAAAOBOsjIAAADQhOvXrx87dix7mfHx8WYaA0AQO3fuzF7gvffeq6/2U6dOLS0tZSwwMzMzMTFRXwMAAADuSlYGAAAAmvDRRx9lL9But2VlAKjWjh07shd45513Tp06VUfVp0+fzg2JvvDCC3VUDQAAkE1WBgAAAGp3/vz5I0eOZC9z8ODBZhoDQBzj4+Ptdjt7mWPHjs3NzV2/fr2qStfW1o4fP5574ksN27dvX1WVAgAAFCcrAwAAAPX6+OOP97gxpWIAACAASURBVO/fn7vYU0891UBjAIjmxRdfzF1menr6pZdeSiesHhMz6c9Pnz69Y8eOkydP5i78hz/8oZe6AAAASvtpvxsAAAAAo+DUqVPff//91NTUfffdt/HLc+fOTU9PF/nzVquV/ra21gEQ16FDh9JZZmlpKXuxpVvSD/Pz80888cSjjz46MTFRsIq1tbVLly59+OGHRSIyHcvLy5OTkwUXBgAAqJasDAAAAPTq7Nmzx44d66WE1157rarGAMAmf/zjH3OzMhtuP6PNzMxs37794YcfvjM389///vfChQvr6+vF8zEbFhYWDh061O1fAQAAVEVWBgAAAHr16aef9vLnrVbLI0MA6nPgwIGFhYUjR450+4clcjC5UksOHz5cebEAAADFycoAAABAn83Ozva7CQCMuE48pURcplqLi4utVqu/bQAAAPhJvxsAAAAAoS0sLExNTfW7FQCMvsOHDy8vL/er9lartbq6KigDAAAMAlkZAAAA6BvfQwFAkw4dOnT58uWZmZmG603nu8XFRdlQAABgQMjKAAAAQH8sLi4KygDQsMnJyRMnTqysrLTb7QaqW1hYWF9fd74DAAAGiqwMAAAA9OrZZ5/tavl2u3358mXfQwFAv+zbt+/tt99OJ6OFhYU6zkczMzMrKys3b948fPjw+Ph45eUDAAD0Ylu6XOl3GwACOX78+MmTJ7f619XVVdMRAwAMqdOnTx85ciR3sfn5+YMHD/rUx+Bz8QKhrK2tffnllxcvXvzHP/7xzjvvlCtkZmZm7969e/bs2bdvX7XNAwAAqJasDEDTLly48O2336YfLl68+P33309NTd1333333nvvnj17vGgFADDsOh/21tbWvvvuu85v7r///sceeyx93nvooYcmJyf72zzoiosXCOvKlSs//PBD5wgw9uNB4PYFOme3zs+7d+++5557JiYmmm4lAABAWbIyAAAAAAAAAABE8ZN+NwAAAAAAAAAAABoiKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAAAAAAAAABEISsDAAAAAAAAAEAUsjIAAAAAAAAAAEQhKwMAAAAAAAAAQBSyMgAAAAAAAAAARCErAwAAAAAAAABAFLIyAAD/j107EAAAAAAQ5G89yMURAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAUWcHcAAAIABJREFUF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAAAAAAAAAF64MAAAAAAAAAAAXrgwAAAAAAAAAABeuDAAAELt2IAAAAAAgyN96kIsjAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAAAAAAAC4cGUAAAAAAAAAALhwZQAAAAAAAAAAuHBlAAAAoHbtQAAAAABAkL/1IBdHAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIWYC7lAAAAGuElEQVQrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwIUrAwAAAAAAAADAhSsDAAAAAAAAAMCFKwMAAAAAAAAAwEWAEh1wXUF/TAAAAABJRU5ErkJggg==" + }, + "annotations": [] + }, + { + "self_ref": "#/pictures/2", + "parent": { + "$ref": "#/groups/6" + }, + "children": [], + "content_layer": "body", + "label": "picture", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "image": { + "mimetype": "image/png", + "dpi": 72, + "size": { + "width": 1627.0, + "height": 946.0 + }, + "uri": "data:image/png;base64,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sShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACxKGIAAAAAxKKIAQAAABCLIgYAAABALIoYAAAAALEoYgAAAADEoogBAAAAEIsiBgAAAEAsihgAAAAAsShiAAAAAMSiiAEAAAAQiyIGAAAAQCyKGAAAAACx/D+3EEE57pFxcwAAAABJRU5ErkJggg==" + }, + "annotations": [] + }, + { + "self_ref": "#/pictures/3", + "parent": { + "$ref": "#/groups/7" + }, + "children": [], + "content_layer": "body", + "label": "picture", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "image": { + "mimetype": "image/png", + "dpi": 72, + "size": { + "width": 144.0, + "height": 57.0 + }, + "uri": "data:image/png;base64,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" + }, + "annotations": [] + }, + { + "self_ref": "#/pictures/4", + "parent": { + "$ref": "#/texts/0" + }, + "children": [], + "content_layer": "body", + "label": "picture", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "image": { + "mimetype": "image/png", + "dpi": 72, + "size": { + "width": 55.0, + "height": 47.0 + }, + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAvCAIAAADIPMXnAAAC60lEQVRYhe1YvXLaQBA+BQpnxokpzBtAigxtXMgvgBAIV1AkGXeihMZdkkmRBxDjNKFTQ0HFWLJ4Az8BkyLwBk5NBXe5PyT0AyPrbkYp9BXH7t3e3qfb3TsJBSEE/nu8yptAKpQzz5xOpygAQAgyCQZd4Oz1WbPZrF5e5sYS8+j3+yRdaMqg0A+RyqXSZrN5fv7rum5b16vVaua1skc8KaGViL7b7S4u3qqq6jhu5oWA4F5GacY6ttsthPDN+fnV1YfMCwExlsB5eDhh0O12bdv21UajkXktAZYAdTqGL5NwY+K4gbjFoUfb7e7jp89svFzKvpAQSxbfg2pBvKEUWV+lUmFD5XJOLHFaOs6piB/CMLqZFwIiLCFE7XaHK/tokyY4lACTxS83obx0XSelcW57iSOu+3uJUJCOh5sn6S1B8FRH/IxMpBg/P7NCpMbBo5v2RjEMI/tCwhFv7xW/2evhohHcVKHqCfM6NiIh8iInEYwtnsBPSmoK3eO+GG5AeEAChG5I7zFt9XRyqx6AtJZ+ZEzyx5RQjb+oXwRCebnwHlMa5xdxhCPeSiwa6RBhCQXfGtNDKOL39z8R4B+19PikIoT805d28vseoe/fvmZeSyn+25CGgqU8FCzlQQLLxeB6vBZ3cwp57OV6fD1YpOr0gSLwTNU0VWB6RGQmRA40rgaj2NzyLNW0LBWrqrVaUYEbhp1E/WAFT4g7jyCBJZtH6NJftLJMJiCmqdx9wJayZNNWe4EZJjrhLnwFm1CWyQwJEiKu9vQajsCf5dOormDUR5PfK5J+CtOeAB01bzRqrt2wfTC/DPG02rsGm0+k5XwecRJHbWj3ZvUWsHgAEnEqL1X/6X9p6/EP4PFnZxQmc5ZGmPAJHyEnSePr8e2s51nLEX36l7Jkz0i3T8FpTWi1gr0E2p21pLpyOzvu/f1dyAmuEHIc1PQemUuKZTGoz3r2UBva+OEnvDOO4m1DHgqW8lCwlIeCpTz8A/yfTw2BugvpAAAAAElFTkSuQmCC" + }, + "annotations": [] + } + ], + "tables": [ + { + "self_ref": "#/tables/0", + "parent": { + "$ref": "#/groups/2" + }, + "children": [], + "content_layer": "body", + "label": "table", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "data": { + "table_cells": [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Item", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Amount", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Rent", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "1200", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Travel", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "300", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 3, + "end_row_offset_idx": 4, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Total", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 3, + "end_row_offset_idx": 4, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "1500", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + "num_rows": 4, + "num_cols": 2, + "orientation": "rot_0", + "grid": [ + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Item", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Amount", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Rent", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "1200", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Travel", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "300", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 3, + "end_row_offset_idx": 4, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Total", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 3, + "end_row_offset_idx": 4, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "1500", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ] + ] + }, + "annotations": [] + }, + { + "self_ref": "#/tables/1", + "parent": { + "$ref": "#/groups/8" + }, + "children": [], + "content_layer": "body", + "label": "table", + "prov": [], + "captions": [], + "references": [], + "footnotes": [], + "data": { + "table_cells": [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Action", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Owner", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Book venue", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Ana", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Send agenda", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Ben", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + "num_rows": 3, + "num_cols": 2, + "orientation": "rot_0", + "grid": [ + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Action", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 0, + "end_row_offset_idx": 1, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Owner", + "column_header": true, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Book venue", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 1, + "end_row_offset_idx": 2, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Ana", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ], + [ + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 0, + "end_col_offset_idx": 1, + "text": "Send agenda", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + }, + { + "row_span": 1, + "col_span": 1, + "start_row_offset_idx": 2, + "end_row_offset_idx": 3, + "start_col_offset_idx": 1, + "end_col_offset_idx": 2, + "text": "Ben", + "column_header": false, + "row_header": false, + "row_section": false, + "fillable": false + } + ] + ] + }, + "annotations": [] + } + ], + "key_value_items": [], + "form_items": [], + "pages": {} +} \ No newline at end of file diff --git a/tests/data/docx/groundtruth/docx_embedded_objects.docx.md b/tests/data/docx/groundtruth/docx_embedded_objects.docx.md new file mode 100644 index 0000000000..32535271af --- /dev/null +++ b/tests/data/docx/groundtruth/docx_embedded_objects.docx.md @@ -0,0 +1,40 @@ +## Quarterly report + +The budget workbook is embedded below. + + + +| Item | Amount | +| - | - | +| Rent | 1200 | +| Travel | 300 | +| Total | 1500 | + +The roadmap slide is embedded below. + + + +# Roadmap + +- Ship embedded object parsing + +The meeting notes document is embedded below. + + + +Meeting notes: approve the budget. + + + +| Action | Owner | +| - | - | +| Book venue | Ana | +| Send agenda | Ben | + +Next meeting is on Friday. + +A text file is embedded as a package. + + + +End of report. \ No newline at end of file diff --git a/tests/data/docx/sources/docx_embedded_objects.docx b/tests/data/docx/sources/docx_embedded_objects.docx new file mode 100644 index 0000000000000000000000000000000000000000..8afc83e782971e077bf6cdbe5a8d04585d6c9713 GIT binary patch literal 75318 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%0DQS=Dnd2*jcJSmlrP8w`&r7Eoy><8q8 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 literal 0 HcmV?d00001 diff --git a/tests/test_backend_msword.py b/tests/test_backend_msword.py index c0245ed6ce..ba4b107528 100644 --- a/tests/test_backend_msword.py +++ b/tests/test_backend_msword.py @@ -6,7 +6,10 @@ import re import threading import time +import zipfile from contextlib import nullcontext +from copy import deepcopy +from io import BytesIO from pathlib import Path from types import SimpleNamespace @@ -20,6 +23,9 @@ ListItem, PictureClassificationLabel, PictureItem, + RichTableCell, + TableCell, + TableData, TableItem, ) from docx import Document @@ -31,6 +37,7 @@ from lxml import etree from PIL import Image +import docling.backend.msexcel_backend as msexcel_backend_module import docling.backend.msword_backend as msword_backend_module from docling.backend.docx.drawingml.utils import get_libreoffice_cmd from docling.backend.msword_backend import MsWordDocumentBackend @@ -66,8 +73,18 @@ def docx_paths() -> list[Path]: return docx_files -def get_converter(): - converter = DocumentConverter(allowed_formats=[InputFormat.DOCX]) +EMBEDDED_OBJECTS_DOCX = Path("./tests/data/docx/sources/docx_embedded_objects.docx") + + +def get_converter(backend_options: MsWordBackendOptions | None = None): + format_options = ( + None + if backend_options is None + else {InputFormat.DOCX: WordFormatOption(backend_options=backend_options)} + ) + converter = DocumentConverter( + allowed_formats=[InputFormat.DOCX], format_options=format_options + ) return converter @@ -88,6 +105,10 @@ def documents(docx_paths) -> list[tuple[Path, DoclingDocument]]: documents: list[dict[Path, DoclingDocument]] = [] converter = get_converter() + # The reference output of this file shows the converted embedded documents. + embedded_converter = get_converter( + MsWordBackendOptions(process_embedded_objects=True) + ) for docx_path in docx_paths: _log.debug(f"converting {docx_path}") @@ -100,7 +121,11 @@ def documents(docx_paths) -> list[tuple[Path, DoclingDocument]]: else nullcontext() ) with warning_context: - conv_result: ConversionResult = converter.convert(docx_path) + conv_result: ConversionResult = ( + embedded_converter + if docx_path.name == EMBEDDED_OBJECTS_DOCX.name + else converter + ).convert(docx_path) doc: DoclingDocument = conv_result.document @@ -124,7 +149,12 @@ def test_e2e_docx_conversions(documents): not IS_CI and not has_libreoffice and docx_path.name - in {"drawingml.docx", "textbox.docx", "test_emf_docx.docx"} + in { + "drawingml.docx", + "textbox.docx", + "test_emf_docx.docx", + EMBEDDED_OBJECTS_DOCX.name, + } ): print(f"Skipping {docx_path} because no Libreoffice is installed.") continue @@ -2706,3 +2736,262 @@ def test_body_level_alternate_content_with_no_usable_branch_adds_nothing(tmp_pat "Paragraph before AlternateContent", "Paragraph after AlternateContent", ] + + +# Embedded OLE objects. docx_embedded_objects.docx was saved by Microsoft Word. +# It embeds a workbook, a presentation, a Word document that embeds a workbook of +# its own, and a text file that Word stores as a binary OLE package. +_EMBEDDED_EXCEL = "embedded: Microsoft_Excel_Worksheet.xlsx" +_EMBEDDED_POWERPOINT = "embedded: Microsoft_PowerPoint_Presentation.pptx" +_EMBEDDED_WORD = "embedded: Microsoft_Word_Document.docx" +_EMBEDDED_POWERPOINT_PART = "word/embeddings/Microsoft_PowerPoint_Presentation.pptx" +_EMBEDDED_WORD_PART = "word/embeddings/Microsoft_Word_Document.docx" + + +@pytest.fixture +def no_libreoffice(monkeypatch): + # The previews are EMF pictures. Rendering them needs LibreOffice and is not + # what these tests check. + monkeypatch.setattr( + msword_backend_module, "get_docx_to_pdf_converter", lambda: None + ) + + +def _convert_embedded_objects_docx( + data: bytes | None = None, **options: int +) -> DoclingDocument: + stream = DocumentStream( + name=EMBEDDED_OBJECTS_DOCX.name, + stream=BytesIO(data or EMBEDDED_OBJECTS_DOCX.read_bytes()), + ) + backend_options = MsWordBackendOptions(process_embedded_objects=True, **options) + return get_converter(backend_options).convert(stream).document + + +def _rewrite_docx_parts(replacements: dict[str, bytes]) -> bytes: + out = BytesIO() + with ( + zipfile.ZipFile(EMBEDDED_OBJECTS_DOCX) as source, + zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED) as target, + ): + for info in source.infolist(): + target.writestr( + info, replacements.get(info.filename, source.read(info.filename)) + ) + return out.getvalue() + + +def _embedded_group_names(doc: DoclingDocument) -> list[str]: + return [group.name for group in doc.groups if group.name.startswith("embedded: ")] + + +def test_embedded_objects_are_not_converted_by_default(no_libreoffice): + doc = get_converter().convert(EMBEDDED_OBJECTS_DOCX).document + + assert not _embedded_group_names(doc) + assert len(doc.pictures) == 4 + assert not doc.tables + + +def test_embedded_objects_export_without_page_references(documents): + # The Excel and PowerPoint backends give their items page provenance, but a + # Word document has no pages. DocTags export fails on a dangling page. + doc = next( + doc for path, doc in documents if path.name == EMBEDDED_OBJECTS_DOCX.name + ) + + assert "Rent1200" in doc.export_to_doctags() + + +@pytest.mark.parametrize( + ("options", "expected"), + [ + ( + {"max_embedding_depth": 1}, + [_EMBEDDED_EXCEL, _EMBEDDED_POWERPOINT, _EMBEDDED_WORD], + ), + ( + {"max_embedded_objects": 3}, + [_EMBEDDED_EXCEL, _EMBEDDED_POWERPOINT, _EMBEDDED_WORD], + ), + # The presentation goes above the budget, and what is left of it is too + # small for the workbook in the embedded Word document. + ({"max_embedded_total_bytes": 100_000}, [_EMBEDDED_EXCEL, _EMBEDDED_WORD]), + ], + ids=["depth", "count", "total-bytes"], +) +def test_embedded_object_limits_cover_all_nesting_levels( + no_libreoffice, options, expected +): + doc = _convert_embedded_objects_docx(**options) + + assert _embedded_group_names(doc) == expected + + +def test_objects_of_a_nested_document_count_against_the_parent_limit( + no_libreoffice, +): + # Move the Word object, which embeds a workbook, before the other objects. + with zipfile.ZipFile(EMBEDDED_OBJECTS_DOCX) as archive: + document = etree.fromstring(archive.read("word/document.xml")) + namespaces = { + "w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + "o": "urn:schemas-microsoft-com:office:office", + } + word_paragraph, excel_paragraph = ( + document.xpath( + f"//w:p[.//o:OLEObject[@ProgID='{prog_id}']]", namespaces=namespaces + )[0] + for prog_id in ("Word.Document.12", "Excel.Sheet.12") + ) + excel_paragraph.addprevious(word_paragraph) + + doc = _convert_embedded_objects_docx( + _rewrite_docx_parts({"word/document.xml": etree.tostring(document)}), + max_embedded_objects=3, + ) + + # The nested workbook is the second object, so the presentation is the fourth. + assert _embedded_group_names(doc) == [ + _EMBEDDED_WORD, + _EMBEDDED_EXCEL, + _EMBEDDED_EXCEL, + ] + + +def _zip_bomb() -> bytes: + out = BytesIO() + with zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED) as archive: + archive.writestr("ppt/presentation.xml", b"\0" * (2 * 1024 * 1024)) + return out.getvalue() + + +def _linked_excel_rels() -> bytes: + with zipfile.ZipFile(EMBEDDED_OBJECTS_DOCX) as archive: + rels = etree.fromstring(archive.read("word/_rels/document.xml.rels")) + for rel in rels: + if rel.get("Target") == "embeddings/Microsoft_Excel_Worksheet.xlsx": + rel.set("Target", "file:///C:/Reports/budget.xlsx") + rel.set("TargetMode", "External") + return etree.tostring(rels) + + +@pytest.mark.parametrize( + ("replacements", "options", "expected", "warning"), + [ + ( + {_EMBEDDED_POWERPOINT_PART: b"not a package"}, + {}, + [_EMBEDDED_EXCEL, _EMBEDDED_WORD, _EMBEDDED_EXCEL], + "File is not a zip file", + ), + # The package is refused before the PowerPoint backend opens it. + ( + {_EMBEDDED_POWERPOINT_PART: _zip_bomb()}, + {"max_total_bytes": 1024 * 1024}, + [_EMBEDDED_EXCEL, _EMBEDDED_WORD, _EMBEDDED_EXCEL], + "exceeding the max_total_bytes limit", + ), + ( + {"word/_rels/document.xml.rels": _linked_excel_rels()}, + {}, + [_EMBEDDED_POWERPOINT, _EMBEDDED_WORD, _EMBEDDED_EXCEL], + "", + ), + ], + ids=["broken-package", "zip-bomb", "linked-object"], +) +def test_embedded_object_that_cannot_be_converted_keeps_its_preview( + no_libreoffice, caplog, replacements, options, expected, warning +): + with caplog.at_level(logging.WARNING, logger=msword_backend_module.__name__): + doc = _convert_embedded_objects_docx( + _rewrite_docx_parts(replacements), **options + ) + + assert _embedded_group_names(doc) == expected + assert len(doc.pictures) == 5 + assert warning in caplog.text + + +def test_embedded_object_without_its_format_extra_keeps_its_preview( + no_libreoffice, monkeypatch, caplog +): + monkeypatch.setattr(msexcel_backend_module, "_OPENPYXL_AVAILABLE", False) + + with caplog.at_level(logging.WARNING, logger=msword_backend_module.__name__): + doc = _convert_embedded_objects_docx() + + assert _embedded_group_names(doc) == [_EMBEDDED_POWERPOINT, _EMBEDDED_WORD] + assert "docling-slim[format-xlsx]" in caplog.text + + +def test_embedded_part_shared_by_two_objects_is_converted_once(no_libreoffice): + # A crafted file can point many objects at one large part. + with zipfile.ZipFile(EMBEDDED_OBJECTS_DOCX) as archive: + document = etree.fromstring(archive.read("word/document.xml")) + namespaces = { + "w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + "o": "urn:schemas-microsoft-com:office:office", + } + paragraph = document.xpath( + "//w:p[.//o:OLEObject[@ProgID='Excel.Sheet.12']]", namespaces=namespaces + )[0] + paragraph.addnext(deepcopy(paragraph)) + + doc = _convert_embedded_objects_docx( + _rewrite_docx_parts({"word/document.xml": etree.tostring(document)}) + ) + + assert _embedded_group_names(doc) == [ + _EMBEDDED_EXCEL, + _EMBEDDED_POWERPOINT, + _EMBEDDED_WORD, + _EMBEDDED_EXCEL, + ] + assert len(doc.pictures) == 6 + + +def test_rich_table_cells_of_an_embedded_document_point_to_their_copies( + no_libreoffice, +): + rich_cells_docx = Path("./tests/data/docx/sources/docx_rich_cells.docx") + doc = _convert_embedded_objects_docx( + _rewrite_docx_parts({_EMBEDDED_WORD_PART: rich_cells_docx.read_bytes()}) + ) + + rich_cells = [ + (table, cell) + for table in doc.tables + for cell in table.data.table_cells + if isinstance(cell, RichTableCell) + ] + assert rich_cells + for table, cell in rich_cells: + assert cell.ref.resolve(doc).parent.cref == table.self_ref + + +def test_rich_table_cell_whose_target_is_not_copied_keeps_its_text(backend): + embedded = DoclingDocument(name="embedded") + table = embedded.add_table(data=TableData(num_rows=1, num_cols=1)) + target = embedded.add_group(parent=table) + embedded.add_text(label=DocItemLabel.TEXT, text="rich", parent=target) + table.data.table_cells.append( + RichTableCell( + text="rich", + ref=target.get_ref(), + start_row_offset_idx=0, + end_row_offset_idx=1, + start_col_offset_idx=0, + end_col_offset_idx=1, + ) + ) + # Only items in the body tree are copied. + table.children.remove(target.get_ref()) + doc = DoclingDocument(name="word") + + backend._add_embedded_document(doc, embedded, doc.add_group(name="object")) + + (cell,) = doc.tables[0].data.table_cells + assert type(cell) is TableCell + assert cell.text == "rich" diff --git a/tests/test_backend_msword_embedded_objects.py b/tests/test_backend_msword_embedded_objects.py deleted file mode 100644 index 5b7774feca..0000000000 --- a/tests/test_backend_msword_embedded_objects.py +++ /dev/null @@ -1,261 +0,0 @@ -# SPDX-FileCopyrightText: The Docling Contributors -# SPDX-License-Identifier: MIT - -"""Tests for the Word, Excel and PowerPoint documents embedded in a Word file. - -The fixture was made in Microsoft Word. It embeds an Excel workbook, a -PowerPoint presentation, a Word document (which embeds a workbook of its own) -and a text file, which Word stores as a binary OLE package. -""" - -import logging -import zipfile -from copy import deepcopy -from io import BytesIO -from pathlib import Path - -import pytest -from docling_core.types.doc import ( - DocItem, - DoclingDocument, - GroupItem, - NodeItem, - PictureItem, - RichTableCell, - TableItem, - TextItem, -) -from lxml import etree - -import docling.backend.msexcel_backend as msexcel_backend_module -import docling.backend.msword_backend as msword_backend_module -from docling.datamodel.backend_options import MsWordBackendOptions -from docling.datamodel.base_models import DocumentStream, InputFormat -from docling.document_converter import DocumentConverter, WordFormatOption - -FIXTURE = Path("./tests/data/docx/embedded_objects/docx_embedded_objects.docx") -RICH_CELLS_DOCX = Path("./tests/data/docx/sources/docx_rich_cells.docx") -EXCEL_PART = "word/embeddings/Microsoft_Excel_Worksheet.xlsx" -WORD_PART = "word/embeddings/Microsoft_Word_Document.docx" -EXCEL_GROUP = "embedded: Microsoft_Excel_Worksheet.xlsx" -POWERPOINT_GROUP = "embedded: Microsoft_PowerPoint_Presentation.pptx" -WORD_GROUP = "embedded: Microsoft_Word_Document.docx" - - -@pytest.fixture(autouse=True) -def no_libreoffice(monkeypatch): - # The previews are EMF pictures. Rendering them needs LibreOffice and is - # not what these tests check. - monkeypatch.setattr( - msword_backend_module, "get_docx_to_pdf_converter", lambda: None - ) - - -def _convert(data: bytes, process_embedded_objects: bool = True) -> DoclingDocument: - converter = DocumentConverter( - format_options={ - InputFormat.DOCX: WordFormatOption( - backend_options=MsWordBackendOptions( - process_embedded_objects=process_embedded_objects - ) - ) - } - ) - stream = DocumentStream(name="embedded_objects.docx", stream=BytesIO(data)) - return converter.convert(stream).document - - -def _rewrite_parts(data: bytes, replacements: dict[str, bytes]) -> bytes: - out = BytesIO() - with ( - zipfile.ZipFile(BytesIO(data)) as source, - zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED) as target, - ): - for info in source.infolist(): - target.writestr( - info, replacements.get(info.filename, source.read(info.filename)) - ) - return out.getvalue() - - -def _embedded_groups(doc: DoclingDocument) -> dict[str, GroupItem]: - return { - group.name: group for group in doc.groups if group.name.startswith("embedded: ") - } - - -def _items_under(doc: DoclingDocument, node: NodeItem) -> list[NodeItem]: - return [ - item - for item, _ in doc.iterate_items(root=node, traverse_pictures=True) - if item is not node - ] - - -def _texts_under(doc: DoclingDocument, node: NodeItem) -> list[str]: - return [item.text for item in _items_under(doc, node) if isinstance(item, TextItem)] - - -def _describe(item: NodeItem) -> str: - if isinstance(item, GroupItem): - return item.name - if isinstance(item, TextItem): - return item.text - assert isinstance(item, DocItem) - return item.label - - -def test_embedded_objects_are_not_converted_by_default(): - doc = _convert(FIXTURE.read_bytes(), process_embedded_objects=False) - - assert not _embedded_groups(doc) - assert len(doc.pictures) == 4 - assert not doc.tables - - -def test_embedded_documents_are_converted_after_their_preview(): - doc = _convert(FIXTURE.read_bytes()) - - groups = _embedded_groups(doc) - assert list(groups) == [EXCEL_GROUP, POWERPOINT_GROUP, WORD_GROUP] - for group in groups.values(): - assert isinstance(group.children[0].resolve(doc), PictureItem) - - section_ref = groups[EXCEL_GROUP].parent - assert section_ref is not None - section = section_ref.resolve(doc) - assert [_describe(ref.resolve(doc)) for ref in section.children][:9] == [ - "The budget workbook is embedded below.", - EXCEL_GROUP, - "The roadmap slide is embedded below.", - POWERPOINT_GROUP, - "The meeting notes document is embedded below.", - WORD_GROUP, - "A text file is embedded as a package.", - "picture", - "End of report.", - ] - - tables = [ - item - for item in _items_under(doc, groups[EXCEL_GROUP]) - if isinstance(item, TableItem) - ] - assert len(tables) == 1 - assert [[cell.text for cell in row] for row in tables[0].data.grid] == [ - ["Item", "Amount"], - ["Rent", "1200"], - ["Travel", "300"], - ["Total", "1500"], - ] - assert _texts_under(doc, groups[POWERPOINT_GROUP]) == [ - "Roadmap", - "Ship embedded object parsing", - ] - assert _texts_under(doc, groups[WORD_GROUP])[:2] == [ - "Meeting notes: approve the budget.", - "Next meeting is on Friday.", - ] - - -def test_objects_embedded_in_an_embedded_document_are_not_converted(): - doc = _convert(FIXTURE.read_bytes()) - - word_items = _items_under(doc, _embedded_groups(doc)[WORD_GROUP]) - # The preview of the Word document, then the preview of its own workbook. - assert sum(isinstance(item, PictureItem) for item in word_items) == 2 - assert not any(isinstance(item, TableItem) for item in word_items) - assert len(doc.tables) == 1 - - -def test_embedded_content_exports_without_page_references(): - # The Excel and PowerPoint backends give their items page provenance, but a - # Word document has no pages. DocTags export fails on a dangling page. - doc = _convert(FIXTURE.read_bytes()) - - assert "Rent1200" in doc.export_to_doctags() - - -def test_rich_table_cells_of_an_embedded_document_point_to_their_copies(): - data = _rewrite_parts( - FIXTURE.read_bytes(), {WORD_PART: RICH_CELLS_DOCX.read_bytes()} - ) - doc = _convert(data) - - word_tables = [ - item - for item in _items_under(doc, _embedded_groups(doc)[WORD_GROUP]) - if isinstance(item, TableItem) - ] - rich_cells = [ - (table, cell) - for table in word_tables - for cell in table.data.table_cells - if isinstance(cell, RichTableCell) - ] - assert rich_cells - for table, cell in rich_cells: - assert cell.ref.resolve(doc).parent.cref == table.self_ref - - -def test_broken_embedded_document_keeps_its_preview(caplog): - data = _rewrite_parts(FIXTURE.read_bytes(), {EXCEL_PART: b"not a workbook"}) - - with caplog.at_level(logging.WARNING, logger=msword_backend_module.__name__): - doc = _convert(data) - - assert list(_embedded_groups(doc)) == [POWERPOINT_GROUP, WORD_GROUP] - assert len(doc.pictures) == 5 - assert "Microsoft_Excel_Worksheet.xlsx" in caplog.text - - -def test_missing_extra_keeps_the_preview(monkeypatch, caplog): - monkeypatch.setattr(msexcel_backend_module, "_OPENPYXL_AVAILABLE", False) - - with caplog.at_level(logging.WARNING, logger=msword_backend_module.__name__): - doc = _convert(FIXTURE.read_bytes()) - - assert list(_embedded_groups(doc)) == [POWERPOINT_GROUP, WORD_GROUP] - assert "docling-slim[format-xlsx]" in caplog.text - - -def test_part_shared_by_two_objects_is_converted_once(): - # A crafted file can point many objects at one large part. Each part is - # converted only once, so the work stays bounded by the file content. - with zipfile.ZipFile(FIXTURE) as archive: - document = etree.fromstring(archive.read("word/document.xml")) - namespaces = { - "w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", - "o": "urn:schemas-microsoft-com:office:office", - } - paragraph = document.xpath( - "//w:p[.//o:OLEObject[@ProgID='Excel.Sheet.12']]", namespaces=namespaces - )[0] - paragraph.addnext(deepcopy(paragraph)) - data = _rewrite_parts( - FIXTURE.read_bytes(), {"word/document.xml": etree.tostring(document)} - ) - - doc = _convert(data) - - assert list(_embedded_groups(doc)) == [EXCEL_GROUP, POWERPOINT_GROUP, WORD_GROUP] - assert len(doc.tables) == 1 - assert len(doc.pictures) == 6 - - -def test_linked_object_keeps_its_preview(): - with zipfile.ZipFile(FIXTURE) as archive: - rels = etree.fromstring(archive.read("word/_rels/document.xml.rels")) - for rel in rels: - if rel.get("Target") == "embeddings/Microsoft_Excel_Worksheet.xlsx": - rel.set("Target", "file:///C:/Reports/budget.xlsx") - rel.set("TargetMode", "External") - data = _rewrite_parts( - FIXTURE.read_bytes(), - {"word/_rels/document.xml.rels": etree.tostring(rels)}, - ) - - doc = _convert(data) - - assert list(_embedded_groups(doc)) == [POWERPOINT_GROUP, WORD_GROUP] - assert len(doc.pictures) == 5