From db559e100c02ca1f95953f3eeeca005fdc01b595 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 19 May 2024 10:47:46 -0700 Subject: [PATCH] Allow OpenXML templates to be used with `docx`. The `--reference-doc` option allows customization of styles in docx output, but it does not allow one to adjust the content of the output (e.g., changing the order in which metadata, the table of contents, and the body of the document are displayed), or adding boilerplate text before or after the document body. For these changes, one can now use `--template` with an OpenXML template. (See the default `openxml` template for a sample.) This patch also allows `--include-before-body` and `--include-after-body` to be used with `docx` output. The included files must be OpenXML fragments suitable for inclusion in the document body. Closes #8338 (`--include-before-body`, `--include-after-body`). Closes #9069 (a custom template can be used to omit the title page). Closes #7256. Closes #2928. --- MANUAL.txt | 12 +- data/templates/default.openxml | 69 +++++++++++ pandoc.cabal | 1 + src/Text/Pandoc/Templates.hs | 2 +- src/Text/Pandoc/Writers/Docx.hs | 117 +++++++++--------- src/Text/Pandoc/Writers/Docx/OpenXML.hs | 60 ++++----- test/docx/golden/block_quotes.docx | Bin 10646 -> 10658 bytes test/docx/golden/codeblock.docx | Bin 10461 -> 10475 bytes test/docx/golden/comments.docx | Bin 10794 -> 10805 bytes .../golden/custom_style_no_reference.docx | Bin 10564 -> 10577 bytes test/docx/golden/custom_style_preserve.docx | Bin 11192 -> 11204 bytes test/docx/golden/custom_style_reference.docx | Bin 12519 -> 12427 bytes test/docx/golden/definition_list.docx | Bin 10460 -> 10475 bytes .../document-properties-short-desc.docx | Bin 10467 -> 10436 bytes test/docx/golden/document-properties.docx | Bin 10953 -> 10925 bytes test/docx/golden/headers.docx | Bin 10600 -> 10615 bytes test/docx/golden/image.docx | Bin 27342 -> 27355 bytes test/docx/golden/inline_code.docx | Bin 10400 -> 10414 bytes test/docx/golden/inline_formatting.docx | Bin 10581 -> 10593 bytes test/docx/golden/inline_images.docx | Bin 27340 -> 27351 bytes test/docx/golden/link_in_notes.docx | Bin 10622 -> 10636 bytes test/docx/golden/links.docx | Bin 10793 -> 10805 bytes test/docx/golden/lists.docx | Bin 10992 -> 11006 bytes test/docx/golden/lists_continuing.docx | Bin 10656 -> 10668 bytes test/docx/golden/lists_div_bullets.docx | Bin 10640 -> 10652 bytes test/docx/golden/lists_multiple_initial.docx | Bin 10874 -> 10886 bytes test/docx/golden/lists_restarting.docx | Bin 10654 -> 10666 bytes .../docx/golden/nested_anchors_in_header.docx | Bin 10793 -> 10807 bytes test/docx/golden/notes.docx | Bin 10569 -> 10584 bytes test/docx/golden/raw-blocks.docx | Bin 10501 -> 10513 bytes test/docx/golden/raw-bookmarks.docx | Bin 10635 -> 10647 bytes test/docx/golden/table_one_row.docx | Bin 10484 -> 10497 bytes test/docx/golden/table_with_list_cell.docx | Bin 10933 -> 10947 bytes test/docx/golden/tables-default-widths.docx | Bin 10829 -> 10848 bytes test/docx/golden/tables.docx | Bin 10843 -> 10862 bytes .../tables_separated_with_rawblock.docx | Bin 10482 -> 10493 bytes test/docx/golden/track_changes_deletion.docx | Bin 10444 -> 10458 bytes test/docx/golden/track_changes_insertion.docx | Bin 10427 -> 10440 bytes test/docx/golden/track_changes_move.docx | Bin 10461 -> 10471 bytes .../track_changes_scrubbed_metadata.docx | Bin 10570 -> 10584 bytes test/docx/golden/unicode.docx | Bin 10386 -> 10398 bytes test/docx/golden/verbatim_subsuper.docx | Bin 10433 -> 10445 bytes 42 files changed, 170 insertions(+), 91 deletions(-) create mode 100644 data/templates/default.openxml diff --git a/MANUAL.txt b/MANUAL.txt index 5865ea720..c309e0638 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -928,7 +928,11 @@ header when requesting a document from a URL: `\begin{document}` command in LaTeX). This can be used to include navigation bars or banners in HTML documents. This option can be used repeatedly to include multiple files. They will be included in - the order specified. Implies `--standalone`. + the order specified. Implies `--standalone`. Note that if the + output format is `odt`, this file must be in OpenDocument XML format + suitable for insertion into the body of the document, and if + the output is `docx`, this file must be in appropriate + OpenXML format. `-A` *FILE*, `--include-after-body=`*FILE*|*URL* @@ -936,7 +940,11 @@ header when requesting a document from a URL: body (before the `` tag in HTML, or the `\end{document}` command in LaTeX). This option can be used repeatedly to include multiple files. They will be included in the - order specified. Implies `--standalone`. + order specified. Implies `--standalone`. Note that if the + output format is `odt`, this file must be in OpenDocument XML format + suitable for insertion into the body of the document, and if + the output is `docx`, this file must be in appropriate + OpenXML format. `--resource-path=`*SEARCHPATH* diff --git a/data/templates/default.openxml b/data/templates/default.openxml new file mode 100644 index 000000000..b002e3496 --- /dev/null +++ b/data/templates/default.openxml @@ -0,0 +1,69 @@ + + + +$if(title)$ + + + + + $title$ + +$endif$ +$if(subtitle)$ + + + + + $subtitle$ + +$endif$ +$for(author)$ + + + + + $author$ + +$endfor$ +$if(date)$ + + + + + $date$ + +$endif$ +$if(abstract)$ + + + + + $if(abstract-title)$ + $abstract-title$ + $else$ + + Abstract + + + $endif$ + + $abstract$ +$endif$ +$for(include-before)$ + $include-before$ +$endfor$ +$if(toc)$ + $toc$ +$endif$ + $body$ +$for(include-after)$ + $include-after$ +$endfor$ +$-- sectpr will be set to the last sectpr in a reference.docx, if present +$if(sectpr)$ + $sectpr$ +$else$ + +$endif$ + + diff --git a/pandoc.cabal b/pandoc.cabal index 8a52cfbcc..7a55b96a2 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -64,6 +64,7 @@ data-files: data/templates/default.jats_publishing data/templates/default.tei data/templates/default.opendocument + data/templates/default.openxml data/templates/default.icml data/templates/default.opml data/templates/default.latex diff --git a/src/Text/Pandoc/Templates.hs b/src/Text/Pandoc/Templates.hs index 5834b7def..122a33c66 100644 --- a/src/Text/Pandoc/Templates.hs +++ b/src/Text/Pandoc/Templates.hs @@ -102,12 +102,12 @@ getDefaultTemplate format = do "native" -> return "" "csljson" -> return "" "json" -> return "" - "docx" -> return "" "fb2" -> return "" "pptx" -> return "" "ipynb" -> return "" "asciidoctor" -> getDefaultTemplate "asciidoc" "asciidoc_legacy" -> getDefaultTemplate "asciidoc" + "docx" -> getDefaultTemplate "openxml" "odt" -> getDefaultTemplate "opendocument" "html" -> getDefaultTemplate "html5" "docbook" -> getDefaultTemplate "docbook5" diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs index f5410c707..ca1ada4c9 100644 --- a/src/Text/Pandoc/Writers/Docx.hs +++ b/src/Text/Pandoc/Writers/Docx.hs @@ -47,6 +47,7 @@ import Text.Pandoc.Class (PandocMonad, toLang) import qualified Text.Pandoc.Class.PandocMonad as P import Text.Pandoc.Data (readDataFile, readDefaultDataFile) import Data.Time +import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.MIME (getMimeTypeDef) @@ -192,10 +193,64 @@ writeDocx opts doc = do , envPrintWidth = maybe 420 (`quot` 20) pgContentWidth } + parsedRels <- parseXml refArchive distArchive "word/_rels/document.xml.rels" + let isHeaderNode e = findAttr (QName "Type" Nothing Nothing) e == Just "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" + let isFooterNode e = findAttr (QName "Type" Nothing Nothing) e == Just "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" + let headers = filterElements isHeaderNode parsedRels + let footers = filterElements isFooterNode parsedRels + -- word/_rels/document.xml.rels + let toBaseRel (url', id', target') = mknode "Relationship" + [("Type",url') + ,("Id",id') + ,("Target",target')] () + let baserels' = map toBaseRel + [("http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering", + "rId1", + "numbering.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", + "rId2", + "styles.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings", + "rId3", + "settings.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings", + "rId4", + "webSettings.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable", + "rId5", + "fontTable.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", + "rId6", + "theme/theme1.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes", + "rId7", + "footnotes.xml") + ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", + "rId8", + "comments.xml") + ] + + let idMap = renumIdMap (length baserels' + 1) (headers ++ footers) + + -- adjust contents to add sectPr from reference.docx + let sectpr = case mbsectpr of + Just sectpr' -> let cs = renumIds + (\q -> qName q == "id" && qPrefix q == Just "r") + idMap + (elChildren sectpr') + in Just . ppElement $ + add_attrs (elAttribs sectpr') $ mknode "w:sectPr" [] cs + Nothing -> Nothing + ((contents, footnotes, comments), st) <- runStateT (runReaderT - (writeOpenXML opts{writerWrapText = WrapNone} doc') + (writeOpenXML opts{ writerWrapText = WrapNone + , writerVariables = + (maybe id (setField "sectpr") sectpr) + (writerVariables opts) + } + doc') env) initialSt let epochtime = floor $ utcTimeToPOSIXSeconds utctime @@ -217,13 +272,7 @@ writeDocx opts doc = do ,("xmlns:wp","http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing")] - parsedRels <- parseXml refArchive distArchive "word/_rels/document.xml.rels" - let isHeaderNode e = findAttr (QName "Type" Nothing Nothing) e == Just "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" - let isFooterNode e = findAttr (QName "Type" Nothing Nothing) e == Just "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" - let headers = filterElements isHeaderNode parsedRels - let footers = filterElements isFooterNode parsedRels - - -- we create [Content_Types].xml and word/_rels/document.xml.rels + -- we create [Content_Types].xml and word/_rels/document.xml.rels -- from scratch rather than reading from reference.docx, -- because Word sometimes changes these files when a reference.docx is modified, -- e.g. deleting the reference to footnotes.xml or removing default entries @@ -284,39 +333,7 @@ writeDocx opts doc = do let contentTypesEntry = toEntry "[Content_Types].xml" epochtime $ renderXml contentTypesDoc - -- word/_rels/document.xml.rels - let toBaseRel (url', id', target') = mknode "Relationship" - [("Type",url') - ,("Id",id') - ,("Target",target')] () - let baserels' = map toBaseRel - [("http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering", - "rId1", - "numbering.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", - "rId2", - "styles.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings", - "rId3", - "settings.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings", - "rId4", - "webSettings.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable", - "rId5", - "fontTable.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", - "rId6", - "theme/theme1.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes", - "rId7", - "footnotes.xml") - ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", - "rId8", - "comments.xml") - ] - let idMap = renumIdMap (length baserels' + 1) (headers ++ footers) let renumHeaders = renumIds (\q -> qName q == "Id") idMap headers let renumFooters = renumIds (\q -> qName q == "Id") idMap footers let baserels = baserels' ++ renumHeaders ++ renumFooters @@ -328,27 +345,11 @@ writeDocx opts doc = do let relEntry = toEntry "word/_rels/document.xml.rels" epochtime $ renderXml reldoc - - -- adjust contents to add sectPr from reference.docx - let sectpr = case mbsectpr of - Just sectpr' -> let cs = renumIds - (\q -> qName q == "id" && qPrefix q == Just "r") - idMap - (elChildren sectpr') - in - add_attrs (elAttribs sectpr') $ mknode "w:sectPr" [] cs - Nothing -> mknode "w:sectPr" [] () - -- let sectpr = fromMaybe (mknode "w:sectPr" [] ()) mbsectpr' - let contents' = contents ++ [Elem sectpr] - let docContents = mknode "w:document" stdAttributes - $ mknode "w:body" [] contents' - - + let contents' = BL.fromStrict $ UTF8.fromText contents -- word/document.xml - let contentEntry = toEntry "word/document.xml" epochtime - $ renderXml docContents + let contentEntry = toEntry "word/document.xml" epochtime contents' -- footnotes let notes = mknode "w:footnotes" stdAttributes footnotes diff --git a/src/Text/Pandoc/Writers/Docx/OpenXML.hs b/src/Text/Pandoc/Writers/Docx/OpenXML.hs index f1f5fbb27..8ac095d77 100644 --- a/src/Text/Pandoc/Writers/Docx/OpenXML.hs +++ b/src/Text/Pandoc/Writers/Docx/OpenXML.hs @@ -36,6 +36,7 @@ import Data.Text (Text) import qualified Data.Text.Lazy as TL import Data.Digest.Pure.SHA (sha1, showDigest) import Skylighting +import Text.DocLayout (hcat, vcat, literal, render) import Text.Pandoc.Class (PandocMonad, report, getMediaBag) import Text.Pandoc.Translations (Term(Abstract), translateTerm) import Text.Pandoc.MediaBag (lookupMedia, MediaItem(..)) @@ -45,6 +46,7 @@ import Text.Pandoc.UTF8 (fromTextLazy) import Text.Pandoc.Definition import Text.Pandoc.Generic import Text.Pandoc.Highlighting (highlight) +import Text.Pandoc.Templates (compileDefaultTemplate, renderTemplate) import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.MIME (extensionFromMimeType, getMimeType) @@ -167,43 +169,29 @@ makeTOC opts = do ]) ]] -- w:sdt --- | Convert Pandoc document to two lists of --- OpenXML elements (the main document and footnotes). -writeOpenXML :: (PandocMonad m) +-- | Convert Pandoc document to rendered document contents plus two lists of +-- OpenXML elements (footnotes and comments). +writeOpenXML :: PandocMonad m => WriterOptions -> Pandoc - -> WS m ([Content], [Element], [Element]) + -> WS m (Text, [Element], [Element]) writeOpenXML opts (Pandoc meta blocks) = do - let tit = docTitle meta - let auths = docAuthors meta - let dat = docDate meta - let abstract' = lookupMetaBlocks "abstract" meta - let subtitle' = lookupMetaInlines "subtitle" meta + setupTranslations meta let includeTOC = writerTableOfContents opts || lookupMetaBool "toc" meta - title <- withParaPropM (pStyleM "Title") $ blocksToOpenXML opts [Para tit | not (null tit)] - subtitle <- withParaPropM (pStyleM "Subtitle") $ blocksToOpenXML opts [Para subtitle' | not (null subtitle')] - authors <- withParaPropM (pStyleM "Author") $ blocksToOpenXML opts $ - map Para auths - date <- withParaPropM (pStyleM "Date") $ blocksToOpenXML opts [Para dat | not (null dat)] - abstract <- if null abstract' - then return [] - else do - abstractTitle <- case lookupMeta "abstract-title" meta of - Just (MetaBlocks bs) -> pure $ stringify bs - Just (MetaInlines ils) -> pure $ stringify ils - Just (MetaString s) -> pure s - _ -> translateTerm Abstract - abstractTit <- withParaPropM (pStyleM "AbstractTitle") $ - blocksToOpenXML opts - [Para [Str abstractTitle]] - abstractContents <- withParaPropM (pStyleM "Abstract") $ - blocksToOpenXML opts abstract' - return $ abstractTit <> abstractContents + abstractTitle <- case lookupMeta "abstract-title" meta of + Just (MetaBlocks bs) -> pure $ stringify bs + Just (MetaInlines ils) -> pure $ stringify ils + Just (MetaString s) -> pure s + _ -> translateTerm Abstract + abstract <- case lookupMetaBlocks "abstract" meta of + [] -> return [] + xs -> withParaPropM (pStyleM "Abstract") $ blocksToOpenXML opts xs let convertSpace (Str x : Space : Str y : xs) = Str (x <> " " <> y) : xs convertSpace (Str x : Str y : xs) = Str (x <> y) : xs convertSpace xs = xs let blocks' = bottomUp convertSpace blocks doc' <- setFirstPara >> blocksToOpenXML opts blocks' + let body = vcat $ map (literal . showContent) doc' notes' <- gets (reverse . stFootnotes) comments <- gets (reverse . stComments) let toComment (kvs, ils) = do @@ -226,8 +214,20 @@ writeOpenXML opts (Pandoc meta blocks) = do toc <- if includeTOC then makeTOC opts else return [] - let meta' = title ++ subtitle ++ authors ++ date ++ abstract ++ map Elem toc - return (meta' ++ doc', notes', comments') + metadata <- metaToContext opts + (fmap (vcat . map (literal . showContent)) . blocksToOpenXML opts) + (fmap (hcat . map (literal . showContent)) . inlinesToOpenXML opts) + meta + let context = defField "body" body + . defField "toc" + (vcat (map (literal . showElement) toc)) + . defField "abstract" + (vcat (map (literal . showContent) abstract)) + . defField "abstract-title" abstractTitle + $ metadata + tpl <- maybe (lift $ compileDefaultTemplate "openxml") pure $ writerTemplate opts + let rendered = render Nothing $ renderTemplate tpl context + return (rendered, notes', comments') -- | Convert a list of Pandoc blocks to OpenXML. blocksToOpenXML :: (PandocMonad m) => WriterOptions -> [Block] -> WS m [Content] diff --git a/test/docx/golden/block_quotes.docx b/test/docx/golden/block_quotes.docx index 747d63c021077eed948b2b5e12b787fc4662ed86..133d9b554584e87291a1a6b988a34ba4f3829fa3 100644 GIT binary patch delta 1357 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 Olgl+#*-BJFh5-Nwu3EkT diff --git a/test/docx/golden/codeblock.docx b/test/docx/golden/codeblock.docx index 4d5c21c629929261cfc97e8e595542dbffdd8a8d..a24fa5857a1a3c8498cc82c7782f7f8147134a78 100644 GIT binary patch delta 1403 zcmcZ`_&Sg`z?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9j6y(0M9`ClW2+b$7)n_g7z7z6 zC#nk9AD!Zx{n$XD?fp+tr}n+7e&08Un3gTj-J6%OYp?dF8)6aiJtDh*ezz`LXvm{y=N!u z<5gbT74w)pCfrcrIM=GM#pu#O=f$-iCeuGFM;R`h=B8b8Ftl*x9KrNcS5#cT&s}7k z8+HBu+WZ9m>C;3$O`AMbfDumiRdj7G>zPWJbujijtv&(6f(d#x8WsZXlkYU=lw`=s@Q#y=_Zq&huKboU5pHR+t3B=5uV z&8zmn{W_B;u1A7P4;=Y(J#j?vGeku)J^h{zgYRz?m`641IW|7-G25v_WrOx7@t_OLloD}#c! zzB;=}d_zZlO1^Z(?^!HP6L%DTu1d2%e{0>e>bq+DA2e@DbL`Sl=afiXYBZbmXGYk| z9-Y@-7HVtS>g|LIft=NMjPtbKKU^7btZ^%!EI(WQNANwbx~mUz%Sj-1t~}!DO5I zB~lZ-`{u|su9WV4(lRBf-es5k{cjAK8e0||OjzI=cA;DR;Om0T3&a0eZavi8Jp0;a zi(TIxdylPqy(#Zjbn?HZy1o1Md|$lm6w4DghLzfy5?VP6*S$!U3_rx|{<{6`#*Xbf zo1N45@&xW&~Wdo-V|(TTMCZ6{YOf3=?R z)sH3FrR*PhB!uGsxBcQr3EfR%{gA+&B)$zCl-?5V>|n-J`A8-ZWAaDE(_n%9N*oY@ zQz~{~32s$0UX<)M*-zC-9wbt__D~uNFavI8VPKG9Kn8Os&sWt3>prV0&3JqAOH~~O zkdE2MEaQEFI+n6AFbE-QU}$EWJdsUgvZoqP3`pVeQ!;0)xEL66vltloQ4}(8Fff$o z7p3SImsIAY7VA~y<^*^%GBGf~ONxj+48oaWKwG?-(QQeeyirXN>~{G)X5pJagA0K= z1yL+mJNcuU0$2?wb;$zFamP@zb+UoF0@z24DSmD#Ks8r@Y6MWsVHBHOpe_dvgo*0X zOq0bYFBBKmMtAG1HG4V5*%=tJbQl;!QS|#vey6Sib_f4_aVA}$`5NGY4q4H($%Yyb xx3z096mFt<~$y0q|>_2TQ(mJ~cmSo{0irF9w8R?O_~^kv?1=l}78 ze-Hn8ch+PL>nEw)bNb7T&mGXx*|N6i-={sZ?tIvNbdNCWs=18P5k1@EN-Wnq7buG{895}igc0RXQ+51Scchl*TGizlYM8W34LCF zIpO8Zn2?9l?)ty~&S=({H20tB#I0LCuKSt#@Z2^Z&y0u_jkyaiXx-q-ZfrH z>Xq?dBWZrEHJ4Y)#LTU|H@UkUB_=noVzCBC<>VKvOTke(fvpM>x4axFTwswBA!mrl zE@4(i4p3~ra*A3u`M8KyJ9@xvAf>V(whwuqi6c+H)_J8LP{$PPJ3+-Zg2SxA+5H3w}n^BRX4eo>)46 zvhJeiQ`~m4Dkn{pG3(40?>P|C#{1Rj-4V7ID|D7$Vc=2?xS(wCoq6J%30{2l9{+`B z@hwnkW#ftHnIhT~w}<24k=eX+Kb_Ask+Zq8W!}+)d;6;lw&g}|d3n%@0DuDR87wJ#q+10 z|9JUxmglQL%UMsJI-g6^{&qq=IBwJX$A;nZf5jJg`tQ0{E^xlV?&H_|75^DfLzhpi z9}>C?#J7RNGE%~w9n4rPAISt_O#ZKU8Z2;Di31{VL&Xj(A*pJHmbGG3jleP!RizpG zC$Cl22J>zMd1ohoSJkNpMa}GEmhry8jJTAIfkB7?8I%G=%JYj-^z%w{lTwQ^^V0Py za&rQ_8JQRu;5j?u_$iq)R$L4WxmgSh{K(oFKCwgf7nfA#q!wdpmfaMwhe0?~3~0MI zGrH}OllQAB%7a`epT{hG6KHZF&|X0l8|F{`ucn{?OJK414$ diff --git a/test/docx/golden/comments.docx b/test/docx/golden/comments.docx index 8d400155e39e442b2db543a94ece0b84180bb686..3e417beff6b424bd688e730b0d5a731377cb29df 100644 GIT binary patch delta 1365 zcmZ1#vNeP^z?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jJ!Zb#9D>p-x-(~7`9Ko%_Lpl zcgsOw&u7uaJDV$A0#g##Ps#~9rK#a%C#lUti#if1E(fnBaqoX}1a z&pkSh-1eLKd{(^G$#Q%s^xZRgV?l;$h5V0_`l&k4KlgWvo%%4(?f8Wocl|so-mpt} ztdQ~e5GT~)6%cV}`l+9dXVd;PsJ&geEXs4sy>}T}YyJ9l{$@H{*)FhkUE97i!~O?( zuF?WZX`7i`i(TWEKau5ObY-uJUSC*VFemDNh0Z5E&;7X{XZc4|v~o}1-p*ULJiTgd zgK4Jjs-Aj#%`aO7HNI)Ye6Tus{bY1@`HM|6s?=3d?kH9qkgE7M*Yr@pZ6Dbu>lw;oVfBw7da^I&gQ|?Wx<;4%# z{mrroJJu!!Y|NjQ{#5wh49m5NU1{ovx5>Hg_^sNKAf57yy*_^X(oa4=1$$y$B(!HV zw(V5xf4}w1^9S3u2Np*3h_t(w$ejDS@2d2kB?&L8U;a3Jfa74K8;g6i&Hq=Y|LMAa z%9nh5zh`UV;>Wee)^PH4d8xSt89N2DLa2n*t_OSmdeubk6!Wpd)Ymu zd0ZYgZ!7wRyJE&ppWo0wKTQzmN|M|;?usFgv%TVI{sB)*}eJ|$ne;`b~Tr-?fXKUbyM zpTD(kTJ>GE{STTqr8#!#sB=mrE;X9X`ZFW!WslBlFAKFb?dJKi6(ItXZlo~@=Q(cc z=nIrOB4)xLSu#Uo-P-Fi$uG^X6mEPhyh3j6VN`@a|c7NUec4No(oz2eadwBwPuJRM+jho={9lRJQ70j|J#1?qlT`pct0d` z?@Me0hvf`OcXlx2kwPRBh%wnt`7~I7M}-3-Ag*QymWWU@L(9Ii)r`P07u2K~KTm$6 zrVZvvsY^2&PBv55kq1T1>|>VkzKjeEOW7D0gcy*)&B=}GieNRzPsyCI;$mRP&0=8S zM^?fRHu<2s99YdB2H{LGpgG>m=;rL5{7+p`0c6+vSl+p3foiHb7#IXm%wZOpY_A~? zHVBkfWPys@fh7>CqW_a?H59;JSfC-z=skIlhCG;e56HVa`Im+gm?y6(%{XncwWbQ# zO8)ucOu9gmG+5D1d!R7+qk=Fn{277L@X~PdLZEh=$$K@G!P@O&5@K%x9V5bt?kg^p NNm?pw!fGII007qkB9#CD delta 1227 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 diff --git a/test/docx/golden/custom_style_preserve.docx b/test/docx/golden/custom_style_preserve.docx index aa0c320a5d4db661875ba055b27af16759a1d3bd..82f0ba521ee8cc090d370ef04b7a1ea3e83a8644 100644 GIT binary patch delta 1630 zcmZ9MX*iT?7{}ik%SZ#JqcdI~x}5jRbN}x9|2+3|-Pikn9?@Ir7;6h5VJQHPL;{hy zRV)k(CL~y^nqe3iMi3ld0J#S&gaF_y$bn-S9e$iWTbg*9$c0`wYXWmgv2}9_rh{PG zQ$VedqEaKNwyH$UCkr~uA^)aru2EsT?qiS95N1-I3Z5Z{`13PS&%G!a9=1nvuhsDs zNwH$tL3#Szyz+hOFNbC(wdUYvwpLLTrebxLW$s_ut>;f#Ds{3xbw;AH(S>7go?0^u z8glF?`6_oEg%pxUDHS@G^gLRKu0fJAve5}WUA@;)t;W)^KInX}1dMLEa^@t;(kj<( zQ$-{{;Ba~$Sxa82p3Y29Hg{uLxHW$;-!=UW>%w8$V;{wNhP4c3eo;%PJ^<_lOX=U( z1tRS}{N3?p>J=)^qFqB0;b_s0ZpK>$yVW4AuI&77r*}d86MG9^2+_Vfychms_NCP* z{q-2_Nk#GK&N)|A=gx8W=_z4J{fk?vzuTkv-FZqy5~0$xJ}Feg`-(!XgV^PaXgk=k zf$gY49wk-em}gIj^nT{Q#jMegX1-}r;B}=&CQ>=gM_I2|Z-iGPeb4=%eK(_3u4Lrs zMV#33OFt(+Qm)6q@s14p(P1`Xe!1&wk=G~5rJd|+J}Ge;{^ zOA8!1WrF<@A**uprNNU&u>m~4E8@#OZA<#+YkQj=RmHSS6VD*E0RwpL0Sm50>sVciL6s^}nd?L8Ra>=wcVc14i&}WP+jW zf(Zzd6;(g8Kj-@g*U!QqzIwSd1sk>LNO3HKE9t?6EfSM9_GoIVy^~*xx5lBSG_H34 zWd#c|Bm6XXP@79yJ#zQzz|2|db(0*@!QE#nSwD1W{g+EabunM!k&Fi(Q45Ep~Cb|Mc?#jm6Vbl^6?(zsd7q*(sa9O}Y0!DyCk0)}a&Gm>Wq>Dl}Lm zVE3*tSozNqR!ul%-Nq+gH)v=6j5%sckJ|gf(YTINDj`=HL8gppF%hUJ|JktTQGVl3 zcF&r%D}<0elp?A2sJHJ2yt3+>vW9ZZEaR?Ni|}TSe2sVGmU2H1y>{N2hR}*Qa|9TMNxn4QGOYf&e84_*wvVt8_t$o2tn5M4`GNRQRZ_{lCYMs6mD*r!;VI zLs8I5Q~}J<5L1L+%!QfJ8UO%x!T>;Cu>Sh;5MVh1zb3@532(LQIa>-ug`xnk^_NNz zC4u5Z0(98K4PH+u3IMFm0f6`h4H^Yn6Xl^x1Q2nsYA}IFfT&VH(O@@G5o)sbf5;1( zn7{!*V#5JRAey8I?bt=a!G=L|5*{L70r`TlBqfN-1f&XfkW?W0A|QWIOmltTZcQAl X3$)NwhH8NV$^jEKRYmjF*Bbo?X~xGd delta 1591 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 delta 1375 zcmaDIcqfoIz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jP*c9#7&F4KV~yBFi5a5FbFa* zFqG#PrRb;RCzs}?=9TDGX@_T0R$?wV+J!yKo{AD`A7l$7Y)Y1H0x|9yU1_@AoH zd6#8U*B-18`&8fSeYkYZ%cK@QZu`kAF3&S+ z3B34cNk)n3v#qC(vXsf(S|Jc@b=q^w{hsSum28SDYJBD2ZvDnnf9&J6_rF}__%A6x z(>J{JuFyMn$7g-f4Q9D6Q$NazoLaHNuv+14Erck?P1YjE^Ve!;pF z9L*Ehsvz;r%aOtb7AX;OhKTGEW@Y36rGOK6Q-4lAE}~h#k$H-ec8jyN-`bFsA#1BP zzhTvRB!BZZ+r52ijR7ioclOM?d4BV@)kp7{+|+MbF?a6dO$jQ@+H)_J8LP{$PPJ3+ z-Zg2SxA+5H3w}n^BRX4eo>)46vhJeiQ`~m4Dkn{pG3(40?>P|C#{1Rj-4V7I9UC=G z8=N>rzHprR>!6~(WKuozrT;Cvm6y+rx42$ZX!ZpU!8R$l2W4GVkcY zz5P`N+j66~JU%z;)ATQ|zdqe7ZF=2o(FP%pSk04x$;_p$`lq){Vr1EMA)nuM*I8Ma zDDe=VQ=z4^R(x+d6(n@;xt;d>$IG8zopeRnY}S)Eiu&oRKTY&sHfQ7e$A${wf5jJg z`tQ0{E^xlV?&H_|75^DfgO^XN9}>I^#J7P1Gg88x9n4rPAISt_O#ZKU8Z2;Di31{V zL&Xj(A*pJ{i;~|a$EX^CWhSahGxkkhtEvs=-3Ic`O#ZH_1J0eZk6Fh10(0k5VD1zG z=1v4C0g8b0YF=q>Qfg6VUOFhV26!_vF)+Zhd&KcmGH0x~7#MQ17#R2wnt`m3>`?v1 zC6zg;#h999H%07W5Y7|>+V0JaZhOS!{c4KxApgkcF$>=WnpX(47gT;Az`V)-)f5y! zYCtJW7HEz;hMHv}lP`)0^P@R?a-zC4(MCHz@Xr@#(gj+g!HVvf_R01d3Sc#@G9l;Y09|<;h(!>t1+pGbuG3HktFenoh`kAP Uum~r*$2U$sprOjPO9iA606y{&{{R30 diff --git a/test/docx/golden/document-properties-short-desc.docx b/test/docx/golden/document-properties-short-desc.docx index 393979956d0e81c27d05b9bea82cf990d05c4866..e39131431e47f7b49d19413243c59d084ada1aa2 100644 GIT binary patch delta 1125 zcmaDHcqEWFz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jP*c9#8K}_=9Y{M47$t=41x>{ z4CVPnDf%h-$)&lec_n%kxjAzuoy|L}z;pb4ZC6LN`>w+#3)S|9*oH@aXXvru4f-*` z_wcW8%JMF^5`#ne8Vvu>&;9W4L+-C629>utN6Yk8wGU`r&!}E|-g` zNd~q1#LJ&DzxjA^lapOgWV6w~k9*=)t8;jY=Ixj!{#Ur?etdoXoVhu#mgrx<^V)Z! zn^BFeU;3PB{RQtAb|g)xJ?bZ=IY;%Bw%7cBv#wX~i<`S_r8sNl$^}VsjSTDwUs*Ml zBpki9QInrv!sLPnhcJ8kty%1iTOccddrCMBw=M5XMhU%FBHdGJYL- zAQ9PNcPZ!XGF}aqR$h%27cQ!Jz36n^a4Obx%PGl~D(`q>T&*`QFZc8RmJoYA&^9OV ze!Y|Z^Yz`|RxDg2^U2HMz$T|98imX{?Co_WE;+JUu71Z)XPh_Lvf)5r^f!@-l~=N2 zmj-ed9P(=Z=XYb#6|s|%t#=Ai<@hI06SXvt{}g$E?PG$-vGPQtbCV0Lq?UgCvHIq( zL-kxC|CZ`LwHMmWaILK7r^iisl#t%cCe{xL*BRp5z@Zo@;m!_b%$AR20x>3kS3C_C zII6?}5xAgY2bK_2HRD6g7n4I(4Z%{Ks?tn4ER)k&wdsQ8SU z1vZnvt0^F2U0z*`(Pgrkx&l~1q`EZYt;wb8^70_}N>!@%b^xut0>r`y>w&DC$(z-c z6hLZbt=Y>d&d$J)rNh7=ilRnUVse6n_+%aph~3f}(v10&%{3qvMFDxICzoj`gRPwd QS_&AU^z?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jP*c9M0Miz%m_vXhTkj<41x>{ z4CVPnDf%h-$)&lec_n%kxj9>>+|Oz@5IGj_S`?pLZrB#$zVJ(4K*V>3NSkX7KM$V_ zyuLkt%dLyu>$YB)Eu(V(yYchWimSiN$GYn-2)~w+BdM;#q@26(jAC;9@3)V7_dZ{( zr@JP{M53$dUj2_Prz2dS1fAQv#(`TtnqBS9RI#lKK6J9*i`0>c;=IQ`XWdWlNqdTP zrz9%7-EZEQx>6R0~nTl)u{HJX6 z>HB8yzWTN2b=}F#>RthNT<5LWv*Suw;g|houDs&e z`?0Ik^Q&?h_ouP%B*rI-u=-rvjT#kv%Tv{b2okCSff@_MxdDj-XX?0dJ zhhOx2^K$NFf7^)br6K&$SH91`aQ^7&=;|v0VSJUU3JH;lK~r`xPHT3yw^G{1w^eER zGi=1|VHzN}R13V{1wA}1b&IM+e8X%Sh zVg%@%d_h$Qto^^LG^62UX*ESK&t6TMaoyx-H90V^MopSYRA}-{HLwRJ?*U3iPrjk1 z0FTy5>SBz^lf~5`@>c57j6WxbsmsfQoGMkR+S>uN@d^+NBWwn;x+hOjR{~qGQ(cO5efKR`qJCQE2QjI`E}W_&d{TtgWwR}19rm^@QMmF=Jk$V32U=)ms) diff --git a/test/docx/golden/document-properties.docx b/test/docx/golden/document-properties.docx index 1743cac62de0b596b6c1214b66419e313b47a67d..58a4889890fed32029ccc35694fb4708b89df2b3 100644 GIT binary patch delta 1369 zcmX>Zx;B(Iz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jP*c9#Fd)BC0&dR4EAgc41x>{ z4CVPnDf%h-$)&lec_n%kxj9>>ob@|wz;pb4b(hxniw7AOcJV1Ho^$SDKM|DQJ4OFy z9CyC|uZfuoxjmk57xqrxU*8vO-S0pDS_-d1=6kQg>dgX@7EiU`mM#4evHzU>k;_Hj zZir0{ujcOCT>s+1iVW{S<94Ovo8@BU!WTbFAab@Jko*n3rLn5tM^CZ_w=ZI8I~ zJS9o)~lL zAC>-RbKH}CFKyl4&3)tULRJ1s&ot3f-;R7_Tf0udMgQJo#l2?rF$aJAd>!BBdNKUc zvGDlQkz(^RS`tlq!e^{GSod6?IWpSh(v(M)&OJdNqc(R|pXTrTsek^R=cC0ZSBgF!lU~qm^WV+dLC>ZNbH3!nOnB7fbJ|s= zP;Hgr-N$DeR1~Lvn(=VSpIv)?2Hsc8nW#T4^Pj11Sm{Qs>8Fk2ZTZ&Te`_yU_V9CE z;QWF)JU0xdl-INU=10lgo2QBOLn2#4f`|jQtVkB5(@?GWAV1d;t91wwR zYIY!j$=}t?_)rUk$=2$IV5xj{X~x>g-Rjz4-cBHI_vEYUI`SapvyWNE`vQ~GQegQZ z1S~%gAbGNah9X$a@l!Hqthg8$aqk$r2qUIWmeEuI>#*09X3U)&ttk)Y)oMyJ{TH7+OA}(;KA8zx1W8sd&?;c!{j%* z67^P+yyrhNiE)^7v%GIr*wU4J@5&4Z?z7>GoWswpm})9z`%`%RmhDeljmoD$ho(;@_5YQx2Rj zeRZk-$O@C?a_d~npOP@ZISWiF{>i28SYsBp!fg8I zW2)k3#hZ^*x4!DpGI?q4Q&`JV8?>F%V>r=0=Iy&0Q?k;JBT9f^{i4 zjtkhTAd&r+J%tM_5+dXb5t${-%E$qVe#L34=s-uA}MZ~jvKu*a-r%1^^On`i$2Y%lje;QpK6eSg^G zx0t?OqZ8qFz+?56%Jq@o9~&nZql{G=J~P}R|Gunq&cbHwYsgetLu`&_6yws zE{9w`9{m-UQ1ex{wBBi7m)MK0joP=Exl{u#Tr?=}PBx3w+8MEH?)yoNlSHgu986e{ z8hA;#`@!!I@7k8knYi~@b94E{$e0(k7q~5WoDE}COy=!ha^L(rf992#*$sz0PE@Q- zX_c~mz{}DT?*2q?!P}FWduHjK@$lwnTKhbnYm??Av+zr?+%4CBG2fS|Kk;_Ux|cf* zsx&w*Ww#qz*5xN(-ps`5Ct*BK#la`MWXWYVr;mHmdsaT@KO4p_G=G1+lET_RPy2aK z?v%f|%z61;Qk{&?zaJAOEH!zR`2DlE$CJ(Kd5u0>SW1yvk? z>wtC4K4uy33)Hccje$W3Sp!4;WEKs@7?7#QPsyCI;$mRP&0=8SM^W>Koq?e|zbHk& zxTG>CwOFqrHz&ZGk%@r;UUo(7VGzy~16ttCjBY{lZ4J3Sc#$G`|vPPB73MR5cqXX+o4Rruey~0F_(;8Y6&WOy^{KO?j~I6E&roq$MWT zX+mtCwPr7;IM5SWIt&b=C|a~8@6%KP+sr>-oJkjGqy{Ux%_Wl=wIEiv%7mPo1Jr*U oh(%D$xiHy5OBrmAT}(pkO`!8cfQ2?{P|us(q@~KXTn(fV08SELy#N3J diff --git a/test/docx/golden/headers.docx b/test/docx/golden/headers.docx index 20cde33f237dd297e0f70458616cfff394fa5803..f3860214b3f223e7297a7ab48c8f44ddcf76aa27 100644 GIT binary patch delta 1356 zcmaD6^gW0-z?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jC?>w#G3hzQf5pH3}W1q?=VT! zhxzu;HW1kRJUqf~`h@ejtxjQUw_TL0>X`C|zaWw0T9S0H?1_KB`2@^fD#~wYFSBGw z`*Ux0WlxU29KTjF>w>9n?KL(sg=|(v8?Wr1usQ{`?E7fXi4_YHE$yOQ3V8!pteG3$ z=U!eAzHBQ;p?|7j*QchvJA0}O1WvvExOb1y`-309udmN)+VgJ7eYLu1K8e_`2li++ zu9sH7u+eBjec=i9V!!+-4UU~3WFnr=JmT$mxO{*X7_g|G?%FS*jF8J{|hu8*&eSgkvTXMwb&^+m-T+g#i%w(=lo;P>WHUUZ5 zYDtj^rKid-Dc<+hJyaK}G(C8)&dy00ccT{ESa{;H-XS-})5cl##?Kx+Xp^m-HLs>< zZLtzBIrGEeYOTrAzJ|=heg8XZQ@1T^ zY2I?qXww3@+lmMG8${LW-ez=T%}`#byr6l8dzK|)CHH@P@Y);h5px~{q&TbOl&{3a~FJ19_ z7K_uw9fhB(((KRQS~sowuG;dQ>zP8z7*LTO>W9wdT%DWYv z{I98Q@4h|X7cV=-^2Ci{rM9MoR?fn8FH$AL4>7yHZhyP6WBbl#=k&cifjd|E3G>EH z@bo#WCAfJ*C?F^3wSAWKm`~5TU|^^LVp$+Yfb_{FYC2#wvyWNE`!X^xEM;S05JD&b zviK+OS5pM5Ietp!j1?CHLv9vO6h%$X*!$qDMx zjFyvY)D^&Hfs%+U&^~vd8bK7Z94GHqR{)!J52&Me@-KCHFi%E9no)kTg@zKC7YpRw sm|Ur$0_H6M@{}g;(SYc?59HNN{;i=5mQ&P}X7rhCtEtKsstU3Q0Do~d`Tzg` delta 1328 zcmew!^dg8iz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jC?>w1ha|!By}bRhF-48cbFvV zr`^uGZNSqO?|R{@%<~((ZgZ2I#lIwpGfuK?NV~i-;5CES#>?B~YqP8p^pfIvUiYRp zKXLzLuK4ob!$n+SOjemCXT&#KrY{hl>{Z+K^ZaAIABW_(eGi>7>&Y62YPWy4Ttm+k zzt0tE(>v+NX>KfLa?_~UtK!#@;0Q?{-B~Pilh{x1yXK`O)w#)*u5dWX(rY}EUuf~7X_s_sU4F*7tn9kCKI%+< z!u3U81s_d27bJ4EVNaNvFo(#~^FMCIrK%hJ`}4Jb?ZoTNUrsO4f15RL>VfCY;x8ga zPntYC&AZ%Ow_fB(42#?xejl+X3PDl<=MGt&GwZiCJAH7!h=bx%jii4rbyHF=TC}bA zJG*%1?Gup`1#T%>91!~PP1`z1D9z~G6}6R*YlM4slQ&%Xx;2Eo^I~Rz1Lx7Tp?dBi zl^H+YxS#!>-FWzBnb6$(+#>2CX7ZCSYb0!2keDQ=S68;%VD;*H1H0)KLDR2xNcEe} z6a60}mRhjL?DT50nU;&sAMe~O7x;4B!+MQUvHU9&Z$=cFB_CP&QQm9z&)IL?;*Mn% zn=iW{^?!es@ti->bG6;Oq_?i0Rw6#*+UqGLLFxy#B;NH;oIf*rLczpy)^5G#_w(Ey z&X>rY*EhF;XUp%)yl0(H?MXCe*Z%Um`19OzU9YdSFfTj0A=5G^ig)(4!^?cr7d2mc zzcF~tUXGUQtDk-|M@d(k%~-9$32Sl*+fr}>lVPudq_mkFDO@0tO~TF)0XGp=Mh;NY zJ8?Jl=j32f&H9bZQ~P+``dd#TJ=U4C_{opSfCN%OqLALv@}GnyXJ*?RND()p8h7d@Zi zwv$ykX`+l-XSR6Hfsi)duTJldu)XNmsA<~Z#3}NHP>X|S7Z&}8y;kl5J zSxi~Cds5sUj)O;L^UnQrKGQ_b=FXORM-T4puQJ${8@=W6xmlm4e|i1&>0W8m>t>5K z2zkV6o(xQ8E_KyEy=4+3%dQLg{I0vs%F0BEhxnWdEuFREd(){Pp?lBmwC6uw{`~5s zE6QfGp1e`iPhb6MqW`iv8{a=RR0#hozQEIe*R^ti^9^<%zvi#_&wv`bv&8x#p{paY z4IH{pCEVG;41I-2CJ(OkVOFUbut+M diff --git a/test/docx/golden/image.docx b/test/docx/golden/image.docx index 44ffc0c8b688308a314a444b15a4e1cd0c870ade..f4b967d1725b4648d3f84a5daf9419805a826fa2 100644 GIT binary patch delta 1949 zcmZWq3pkW{7k_8QWm2;;G=$91gmK>_L?)3*G^OO8SYyo0Vqy|gF-dNHOY%08T-JSk zQ-d^encUOWM{AdMqIH>Aq#_}iE#GVUo^9=Sp6CDk&;PvVcg}f!&wI}4>4y#W!%&Ca z5OQh&9Ek)j76@xlk6;Ms7K&jg7za{(_T{l1iVy(ct_A=q006`?qbcSTW=Kp#Xyhrg zxQOsKKK{(XooWeBt8q(j_w&B1SJ6`+%nnD0^k}>0Yl;X5BzoC!SGS(l8QpCkpA9VJ zpWY*ybd;#DTUc>sg=XGNUddk6uPMgYCGXg2Dxha*0EX~cdhgAo6(_;c?k)p#?@bQ+ zMelHyKK*EbpTB`)5bd$tw-Yz0=s%*%*bxdlxRPX^tFje3pAqUAN%BlDbDA_(Pg-__HA?M^+o^)HezAqSS5n?5*J#|kT)2g^$Cq6`9?83@UWbA#v zXwGdPdemX`8sIfz-YS`#=Q&hdcA};mbMM8V1uzbSmN$GI{Rq`|;^Y%8T(`evgS8;) zLwR&n%xR^Wc&EX2Zcklc<ujg;wm2M|_Ty7`I^;vi5W#%Nn4zOQ8 zm(#?_dT7ReZF+S@p6$M}er|He?x*2vyE4ZTY4*MqvD@r36eS4z*;l@^ZPV&H;_<}h zHHHm||>H!$tXzbTJkmSg*N|4I7x+EzW`73M^5U;H6?()NfqwWTjTxHIk}%Y0+FS^;K*IlA`7LdFA@DK9(e`v z3TxV2cte3K>vK@5ST5`LQskL0jgM2JD9J3TYEEA)-J9fL$kkC`G>BaW2QUOq6r3*a zg-rFz_v0TqdgoR5ZS`Ae912q_PMRyX_ew+5`!iJH(}619+28eBN0M$+9WR*}tkVcC z-<~J`k>)k^gUR#(8+}2lHFHax=f-R?6|NfTSeKURq1lPqq3nAq$FQpMH|>xq>%OR( zms&-jJ*P}F%PlisCy}p}K6ddc=R0Q+c6bpW7}gfG2Nmt}`uSh#?b9cP#onK7?{p+3 zy0?IyhE82li^I z?E4tScN;X&CstCHmDkd%t8w`Yy~53PGBU$8Ns2P1PS+Q{s(@&Gm&`DNSCAQmQ~DW1 z*%vm|L3WF%J5g&UF!+hO9lL6&U${1}4g&xic>vIcX7X3L0g}UvW$1HZT5zc%sD#9V z4PhH(u)GJhCk{feas>cDf5kvrDflu>H()jN!zbGR*`)*k5exuOUgLvinT zWv!0>!)`D*0Q|K)e3}4NItEJM2JMTr2~xozny#z}Y$QVUITSbwLay$UuhI<`(Qq=K z)gNsO6o>SGKK4SVWehmU?x}XjnE8}1fT?-}z1L%6PS0eNZ2Mg$U zSq|kwb+{>nHH0`^TSpx@LdW4&$w=1r?8%2BK7t0OI^+LUtX~oq5uE@ delta 1788 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 delta 1433 zcmaDDbTx=Kz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!Zb#F2@H;UY{740)4pGfCB- z&bw_O@JF=i`K_WV4X%S_6Vy)JTyd9w!HTUeE&4i|nm>O}svA1J_iM6%$ zZj~MT>O&`8Y4DTSyRiJUsOo~9CtLN*zMOwp`El~S{Oi86q~kO%%wyS8mbrQ1((h)z zLdU%W&gk~C%Knq()p~YVTg)@rV0(szh4_mpKK1+7huI4qZCPg9E9IQr=YH_vN^ye; zKZ+C%W_t>#d|sFr&h?tjZ1Y0VS6h}xX&k(0QT&BFFXYz7FQ)|p|7$M_D>`6WzFP3k z#Vv|Wy(@Lxuf=S*&Q-_i-0?|t-l^<2qB8Q)|F8UAQaHhA^8TY&xAn_zJAH4zr-E;k z@y>rKHz`& zgr!c|OP4cp)7-D0ez8A(fzUk9gLi#SZq}S^*DP8v9g zKYtNEV~evyE2nUYMyqntx__2Om(-+`&C&kdp(bdj_}BbUiQk|4J)3O1#3h#QZ2l$W z8#?8Gxb}B9#*GO%2`gpJJn=Qv=sG@&#p>KrF>kH8%w7u*PAn)oH#g;vW?3pzz_ygU zOH=MHILkkCrD6_)!o{0E%^Y_K{bbkVs@=3|)5B>;0we44T zj$>O2PD^a;Rggs0%#p$c7I`J)3=uI9VP)h1C9@NEQ-4mj71gZY$UH?!yTw`CZ*9oR zkhN8t->~XDlD~PI?cP4M#sHPPJA3BcJimF{>ZA8eZtAzJm^*j!rUVsc?YWoAjMe2= zr`joZ@0v8vTl|5p1wW(d5uL3!Pb{53S$EO%DQ-Jim6ImQn0020_Z$dmV(*Kra%o?5x8JWeDb-O3U?cq3hWH#^IPv#VFylz52GsnF6{E50|K3KF{a+)jJ`EpC^ZxycvO|0KA}> z9H=JE=sG!9O$Ti793b!Qr{7y8ntJ=}s;!F3HbDHvk+ov)1h86lZ5($kJh85JfRzo5bXM z65^A)G* diff --git a/test/docx/golden/inline_images.docx b/test/docx/golden/inline_images.docx index 15a305ad6e308a41120b8d1ea40d58ab29f695d4..324855f96ac821f41ec32c48079de84548821120 100644 GIT binary patch delta 1754 zcmZWp2{e>z82)D%CXsC#%ZwRrE;F*FqB^z`vUQLK6_Qzu7-K6@<}%ibtND?}elp4) zLiV_ktwh`*QnGVPPPC|7cl^$|j{45|&iDS$_kPd+J@5J6r*{a(AA(8P+XxAx05}o} zL}yi1NOZ!41Z&kWOajId1THd!#&j(q0KiHBfHVLA7ySdtI%I#Z5I+hdSUc3u_pS3N zLw1kUl_h7Fh=P%Q_D-Y`r<590VQzeyB(o7LN#NJ`s%LyN@>*hOH%Slt7O5=xaX9-R zt}pYJ>c7v;iCx$d*;AC2yU%&TD1Mzics-(_$hdQP5a^@s~ z>qH=;j!L7AQ{W!tm8rWI2il7!da5%Atta;|SuBU*B)zMmdP(|8#!1y0X#O(}7W=qr zu7zaED>u~VGHr76Uqkg{oCDc>@`|YPJS=L4V5-@bY~`_q%K*6Tc!|5ZE-LB*gi!CH)mK)QkGP7PFE>L zvkMk5`z1w3sHoiH4<9jVDD`WdQIsA8 z`tB;KoKs!bdYL8c#!=3#opX$)eK^l&9pW!UU*WO6R<#_Z|9QQX6#jVSoda?XA)~Er zC|l{O+FEppx3}1(BUt_Pz87cW!cN^hUg_Wv&Y#*<@1kW}`sLM#ocTy{`w={$Px z`|U4h#C-1#()MxB(I1|>T+nIQ|4cid7vpnzIB=z?nr`HGA6F;S&}FuxS$G9MqEFG9 zs$;enH)Mg*Gg!Vn+)X~0g^*6?W0reKXmB){rSu0O|9AERlIPi+}TnC0- zc*pQ?uWq^dO%ECRE}B4Ba1;u49aW+>Dh^ZA=ledV-&vz4x@>z05}~%LdKCYPZc_zs9tzdDR(cPMfS&p ze&q@ux$z+2Lm1Vh??qW!_)E2x*X&B_;j5bJ+vGiYdKri>-lX~Knv2#4)JozE{FOqT zq&UM=xGdvvO?;Ar;v@7vN!Q?XLRl#v>ospM7*H{Z$psBr`HIOlNtw9FLQKL`bPDU- z(R%!=j{uQyKezR4t~u%1HM!PBW>uc^_k-1KY<9-qRR`)n9Zu{hTdZWfIPLX4Dx#^m z@zd>sZs92lpl~-)Uc)!9Y>uMf+$LnX827d!zP65SMr#sxs4F@yE8(7OW!n}zMw<>= zTNx`kX4Iul;hN;PHxg$`G+m9q8sn6MhFGwL&-v#=M3=?oWjubwu1Rh!FJAu7jq+9~ z)Ii1bQM43=g8M42@bv(cQtg3&aa9orsG3zvG=X+5QjMYY0aagOiyMMpsd~_kE)4@S z0Bvczp|3C+23{%(HjCnS+uOk40Pw%Fx@2@5^ss{g08az}WCTXKIdZ@WnhJiM{&6?9 z_mCI>`1t^U@C+f@5y7bd!41|;dvkPw z+1|ZRVd@%4Gsvuq!{Y!z2&zyA|5nKqh?PpO;v(u8qD!g7YU-SgZ}|NAz*8p25YMaHv2Yj+frP=f!eFp?PBhJm#tDyQN1Tqa z zimngivc=D}g`*QOzCYQh&m|p2&&SqfBu+Z$vP3iRrazFNzI*V!f!qc zI&Yj5pjvimo;qN2c{wiGy4Ywm3LM+p>B9GBX_ue$@~oL@qc}}gIOdkX6a(Yb#Fa)vd^AB@E81N zvpZ5lHRryj1d;D{P7q9+4^&1AU1&eQ-6Xr>8{Tw54A*~wdUVy~i`HcL1hu){^5q*R zhRELxuj9H6j)eb?fC}N1^ z9p|z(Zf0pSvSFFhy?X;9Qh;~kk{jdL(Ph+6U(=^8wa{E&Tn3Cag{HH8Rc_U1T&2m`Hf|TVJi0W@$(*` z9WOmsHmf?`3sLAdSVkB7+*{d53RBuXfU~O7PBfc8Lc!=*TrX70x)*f^;6dcQr`@H}l8? z;3#7YL3(JtMpH``Qv9)tN!sN&R+ZD*^x$%Wbu~MrO7@TF<2Cu*($oWt-5@#tj`pDw z_zvH2c&wY%)2ehpwXU19#jWm{zFx4dzt@w1SW(e3|B0XWi)kl9uB>pnKmEBeS@imy zkrln<<5j98yJA81gJGaT_ofH6ZXjN(E79r05~pYt_WgLxcU)c{Z#}vi8fNTHiaL}u z8U?AWB_Ia(6e`T(5Kuw-(L}f(QuvWhP;8DQBfndLAcAfKDf{RcfCvWC2?lF=u+>P- zJ>_b&0$?zGW&HN!gL!l!)X}Z%$N=BbjUduuV1TV4k+BORZzXX-CSzR_Dyac1W*C0^ zn1O!Y`sKcIWh_x@+s(gJ^VK7GI8vPH+D#L>S diff --git a/test/docx/golden/link_in_notes.docx b/test/docx/golden/link_in_notes.docx index 4c8dd0888576feb89181554d9fafca08707c5beb..4935a805336adf8614c04ec5b2416cf4bee0a9c8 100644 GIT binary patch delta 1327 zcmewt)Dz4b;LXe;!obAA!O${y^G4o{jLblK^Fc;lMqVHz!bNjoQ4}Ks!`jKWnPln@ zEAX_vukGrnp1q|#vuoCupsz8xcbN?ynRqZNKUTYayMKvduzK$5E+vi||J!pDcKusxzTewSN!yJ~zua)r~Z8x80z6xb_`z30% z;b54uL41$MzTP`dXXbLOx zxMP0nr^jKZm=n*0vog0ReTn!SwD9EmDVZHz@AO^MZ@sv_ezWxr=ZlM+?oEz#-SmIy z9>3M>9F9lDXI*}Mm$~Qm;`{NvNqaosN7PR1R@q`u`1FEorcB(=&8 z=m#*jnlluhKDql}CcjgxXwu}feg9pz?cz*3k+!ax{ir+Ff(-@{>s+P&Jvyu{9*+_U zn|)Z~z_BoSE$cgQY|LY;f<%inM+z5Mq)F%mM8sEwm5~D!QChdLRqenMYgEn9a>aX9BY9BpzhW19s1D305v&XhG7QMTcd~<;HduF_nl#fo z*2#NVCwOFqrHz&ZGk%@r; zo=GFRIo3^>4YcbN3j>1?vQ-StLX#&7iDaQ`kk4Zlz6n%V2sB0zMT4IR)VAdO+}zZ> z60G)tl9nvcK6ec5VUsVaD}epanBwP_0#tJas73(AibazJG~~f*q$*W=JAiUmfLIts zjmcy`4JELeS!?!kinB8?Wa%(4h@z-@JGoy&MFSMp{PV?`bb`kEKML5v|G;wmUrYc*ODo7gu$#CKP delta 1277 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 delta 1498 zcmewt`XQ7zz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!Zbgt)@ou$PPs47HPQGfCB- z&zoZ)a4i1lr&{r8TLN1TJ)4kw^`6p2y9V*LqrBfDl9|umzW&F1){5Io+5FW98=n7u zmR`MK=kEVYrLHkXc3M5&oqI;|1(Wwmf64zJ|DJv(y#N0FubG{$s~xPLJ>Kg3yXX43 znI>I1fz3i?-E3Rlubwca;NL{Q!2S@aLriPFmaVGqoMf@DcgloW=gqQudBdjaJTPF^ zQCk=1qj9BWf#A9R+t)7LILd2$Z<1g7>fTAL3y+@4TpQC;R6GBj`63m`Vo@!srhyX>@8E)u|3;wt=4zr;J5Y6k$juZ@A~stLi(eQ$h(PYOI|+cj;mk#Z9gMQ zvWO^Mdnk>CkzwP#M$;oYTW_9NI)Ae6qUTfGcCsob zO_VX~%oguC5Yoo`)#=?4wig{6HBB3wI7Pm2ocZgZqP}EOJ@cjiEz6iSJQp%Diz(}N zPm0^aaq!4&-npO7XPU^_+}Sek=)t}HRR-H~qqjUhH|x{%FR#Bo-79T+-E7eYA&*$i zlYz<1rLOv?w@hMW*>xeG-*wknS(zyD5T8?_rL$IiZ#oqubnm&H_WZ}opI@DHMcHiD zlQ)X`>8n3Y^j|h-k3gLgn7kK*bx>hc5zQOL}*ZdX#8Bl_Gv!X;lBzQMVZUYBq zj+8q)n6XVUk_p6^ETnQ8Ebu^u10wKR%?>P~qi%+lVe{3E^Vs3JCbg%%IkX1kb#*qcBfh;X8Z Q^3lncwN%;8se$wY0G-oA5dZ)H diff --git a/test/docx/golden/lists_continuing.docx b/test/docx/golden/lists_continuing.docx index 136e1e45be9a0f49b54162f4814c77d33e566573..c93ece92f03d5ccf66f2737e7ee593aa5afe95f3 100644 GIT binary patch delta 1339 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 OnOvnQz*eOSQU?I?L;t$~ delta 1335 zcmbOeJRz7jz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!Zb#HTmR|C<;Y7;GlrW|FGE z@7HV~ax6ae<=?Omha`;Bl9pZEt$LaL#i>M-?CM#UncltC8RgXoMUhdJ~xJ-WT{_RKE@Bcm}mvZAmz}qX^|NQkA*iprd5?`D9SggSj zHu((eQgFnTu(>mV8T&X=xWEimVP{C3W{a>ga)9FW#NE`NlPg3u>o+n_QPOU4*7jQ) zvNB|C)#f*>I*;UU-e$YEPpvUPCGXCjc{k5*-nRPaJ(HXIEi2~EoxCYQg;{&&+8O=TFvM^n8ljPFCfli85xL+2TD1LfUx0I=wr> z_M&5>rfGu{r^pwMGk+aa)R#=EXTJ2mWf`-E=R!tiF=gHENpX8P4j!4!JNMK1OcObq zJ6q-*J-D~O%3xb=^p?lxW__Ce<@ML6d!URO{ao{?mf5Dp8t6H^Q)7tD4WfC@$cUeE--` zA^flS0#E;4*UAOXH`smrn!n;d18VT@7wd-vZ=l3BaA0yty0e2BAqtV;aGtzD=`>iN zPMHHD(5Y$%5}15S)eJ2M@v0fggTlXb?V&UlV4m8{!oVQIfDB3}$Ej(9b@!-AGi_#_ ze4AB%@(DE_u(rd|?G;i?3=Ba63=BfZx)`D-e^yhB0U3S#l*}0`E(V6&ECvRC6g5jZ z7#Pa)i&FH9ODc0xi}fmUa{{~>fyTizf5aXJ;Y=~0yS$mvE#R44psomZgnS;e@J*n> zg+QHxC>8`w-k`1kRs%|3vOsg(G1Np&eh*c{nBwP_0#tJas0QdCB(Q97!}Q7en#y2v>|zpPZvq`9!igRLsgnyeRoU`XK^g&eo%s|1 diff --git a/test/docx/golden/lists_multiple_initial.docx b/test/docx/golden/lists_multiple_initial.docx index 1675b64ec948b65b33b7c90283cc785ec7a7a861..2a7559a52e6fd354eb5aee6131af06d0d701cdee 100644 GIT binary patch delta 1223 zcmewr(iX}a;LXe;!obAA!O${y^G4o{jLblK^Fc;lMqVHz;-AIr&NM~_hLe+TGfCCo z%{r_ga{T>ok%PalEs;+4m>jo;r!4%&H->97+&*xd7S{fr$#2b;%bA#bx>bE%@jv_i zc{9#_bN;Yo=`kbK;t6YmCIonfoP1)){yzWwY4;7fV$%Iyu2POmy_+1Oo)iaIFBfc? zb|oZXchIa;0;{J8-e_HE>9pQwWv|keTL*+?*41DB!pL<-MZz$N%Pmw?xx`#dKyh84 zfU$Uz#&NxzJJ)<}djwl%^tdQzX-XKLT6IddQz&CWkDAu4=&rC2GoEiQVcKoIWyOKu zvM{MP>t)ubrLZZkh)F(o`*RiB^QG@q3ns)Pi*@_T>NjK7% zg!3G?b@T;F9T79(k1Uy?v2N{kndFz|R|+>imR>N~rhbXk1n<5%a*ZpcJD;>nsZVm* zC4c`LgQmuo1qTxrxQ1Qm7C-p9VDrN8f0kPhH8;<`w%KCWcgNmi>t1ilyA_@Muc>bD zzCGU;FFVEZ#EoI4wx)zu&cbysQYFI=F}uHRf4i|``_5+P^u0WRJ6HJ$^Tti^^f}aa zC;e&huP=Ajc-Wp)Pn~7ImwM;-~G`2TIc_)&s- z^IY+MNbu@QZUYDA3rTl&FvCbOk_p6^+^2jRED)o@0TD=7vja=4P%}fzFt62&z%mNz z(u|RlZPc~FyeuGZ`s6ls9eGgPT;hH8Ng%+hV`G>0 zt7*rI?*8&(?)vpjn9o8&Lr3D+-0VWHN1?Os)hD>Nx+%NGHW{XBO5E>bb?I2I#PZCk z!TZ(ieX*)*x=ki8mNJnHwp*!9&}TLgYre(PKKX3g8_vR|H^lvnj<%3N{g;@-e%M*Tu} zewM6dn^-@gw`bCqH#Its(xxqo+~4mXSmD!{yszBTo;6+g!BrNE33V^mvliywv~d^P z@%Tc)7QNn=Q}$i|A1hhSb${B&WaS;d)(Xb_?-x9yot(weXS~08qD2gEOhh~o?UcKBO`7K|{y^7)pV9P)&eoeJ zmd>B7yXg58x1FrYNfTwvIa2z}`n|JP~^O+`cHg~qnJ9=<$f0e8`LC7Ok^JHK$bE&KT=`E8OS$18>=Xc$8R#qlTJjCZzXz8pK-LQlH0(6`9;#59n7#(jAQ~aCeKnn4Hn2y;eZGftJ#4iwy2q*Wti`3Mqn8o zb!kT5$sX$3@}Ssgx!I$f3yjhlAeIGU1n8bTNnHo5;~-Fn@#MSeieMh2hBRaUWLXV4 zFwagyn(3SHfIQX7w=^L({RQ$GCrfH6gXQeCq#6AuM{B9F JMW}%+0suVv$8i7v diff --git a/test/docx/golden/lists_restarting.docx b/test/docx/golden/lists_restarting.docx index 262e0cc999006029916845e932543990602a5f89..f9af2b83bcb20e1f7f4809bf7b2b7a594bb8a190 100644 GIT binary patch delta 1366 zcmbOiyegPCz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jJ!Zb#LUJkE7KSm7`!ImW|FEu zn|0WL=lJ{Dt_Rh#m$Vx?O?J|3y~p)h?m+RKqi44Dyis{OukKtsw{=O&fg431rhobG zSu`bQTe#}tw#A|giYKiT5-L2qK;)OL`ugXGKh4bPKDz9zSHjjuw_M{Ex(XHABG1a$O0|K9K{~@=%VX0%nov8D{MsfA(Cxh3lxR7#Wg{H)g7?#Js4I3E> zLmM8%a1?pY)xQ&V=!Qe{oGU9f3vLZ*QjFNKLzQ_d@03EWu4n45i&H*iUru4#y?e`o z1;JX{6SwiNyUt*~KN~`#hv{AiW?{OoUWuBA1J^vUhdf)Kxh3}bZys0+oY&)OcCpGB<)41C)D{2yC~s1Gg*E4!$7j~-vCI{CwL;c?jqmq|f1UomuKd~@Y3p~a=$YS( zo&OeW=8?U#_E7xBh#E$eD2XUtdnk?ZLI9rY>s(iOjF zu{cfKQTVwk&HntYbYLU8tc|xmq~tUex-2ZW9bExZR(duP4MoUBiFc6y7NiP zl=>u>UGn$8F=%RRS#U66fos@>Zt;V!3pOtd|7W@NP;>L_Ynv^0eRu3Vw(j+&yj#)9 z|C;Ld?%VTy@v>7aPuv(*YHLbp((bpNoI>%{dd62jmSmT*f8>!6ivQpC ziytMZHy;%1hXil1#5QnX@<_U~gBf88k>GHiyh-UaSfD|f10v9^Y6lXSd`8s_EyM7u z8OejfA1MMEWEhY^HEG7_lUJ$ffO$88Jp0LC)fB-zNp;1_o}) z$s073H9(5^=ZiDx0xi;DMfXss0xUEq+iHq~ZEckaIX4Gr(s3XbK{0XTWJ675uo}CV YgxH%v*NbqXhj9JmVog=H4popw07E$Y5dZ)H delta 1223 zcmZ1#JTI6xz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!Zb1WWL)!%>V3462iFGfCCo z&N^(s(-yD#V_)f|ZbPTbPMWRvM6cO4Jh$kcnJanI^Oo)3qN3vo?E-AKd#6VHviIzp z^Yz=J&=BqtAs@F%sXj`H7EdnOq(Avs6LDwq+qAn&EI)X0KVEEhZ^xFC9xwO$YL@O1 znYB|jA~7nSamCF1_>VKq8g{xqIJ8r2xoGUskM*)weWZ+%zKHOMv_46)7ZXs}$0IO@ z+i~HH{NH6ux9D9^P!^q4;-b6d2?rn7{s#*#HyX`auwsAkm8jMoYMtsEb~|%(nJwKc z6Z!e*$EcI(0#Q@ff4CNxoNi!O_v`NimAeYIj&*O>yqzvwb}Xc-V#2Dhz{%HqQkTqi zv9ju~yy5ex-s0u=m%gs~GwNQdo0Lu~oG93Rh;t3=O&Nw=9`}#;ud>%jKK`M8%Ew>H zlHU%-Pvuxy#`WWLWK7KobH&paD;gtizU%v&cYSqbY;$Z~RJ-t<`2{X~%wG5FD`%Ud zL_*QTP+iqafTy>3(PPU zc7{Y@r3fn{2Pg_p+)e#CxlL5Fek1b~CG8exZNIf4D?`>+ZGOY5^GN>YZMJ*+)EWa+ z^6u=Jck}$_ZL5#oGr6hXvSRMs$(s^Xn6>9#Dl=A>U!7{F+`VhkJa6#_x)%J5rbl$P z-aN5%{$$-n&!@QUWK~X@C}Y-{E#7k=q>cBh)4L;VFFH1Anl?CbihSWX^VdN|eaWPH z=1c!umN9F1E@WgDQ`YUC6t{=t;E~z9b3dKWG?BBpvt{1VgM0g{47TM)Z+U!f)~D%T zUVnYMSK9Qt*`f_X9q0)i>#no1GEw3oKBq!UXRY|&bSg;b z-g7(c`Hz=BzdGrPve~RBZxr>@SAUx5ziiIN_m2$~!vBgd@buqxtz6)IgWbok`78c2 zpalEovts>_;Ek8q1`bRKNq2TIBS|3=9L|&XDV+uj^eA&c1g5LnfdnSsP&Gr#Fw$y9 zV3`0lX-414IcnNq-Yg)md-66l9eGgPTu)nA9KgiDFjbO)K?oSp2w*&!QC$(N=J+X@ zGge#-47phh4EzWMK-T8Tj_Pt?HG3F@GsS=j#+w=49I455P;=z-n1ycwbrk~b6GSm5 zVe&q81+Y1wv?2>M#~njW#^k^13Sb{7Xh<_|nQWsW59Y-Id2W-dG?c)+`5Mwp|0O2x z(NIOHI>1xv5QHFy$N)U T2q(I)iYM1=sbM86!eh-^mLzZ@N6ca}QP&gd8 zl*g@_x)iJ@*q4&C#}U0p~-=(XZZPH;p9N$z~p>_Xn7&G?cXMv~$B*s&9V z9<4rNeu>dmeG!4@o6JAg@+THQVdumc!6-wCDgcZ#H_$4QA2HHNCH?x9iDyoPXey(0 zW9fRu!R>bGa7IO@+Esq>(6o$`6vB`~s**v<+Fbn7-+n>f)=nq+sFc=etiVh5H=BoF1 zPI=Ayl-Kl^Pi=c>e4#GuAb;tMW@>kl=VOn{&;5593{#ohzV@^EOo7uA*NVOy2wP7( zt%}D1jI^-%xk8RNSrG_8xY^8^ZFcpsf|NjUFBy=RT0AY>l;`I}q@8!S`{Xb5NI2-w z;lkTTJ$cWgzj4|d;d-$=%HnNb5JT2vre-k4+Q|=AD@`jM$}LUn3wOuo(~PL)U()V^ z`<-Vr71(3G2QjjO<2j+vq2I{G6P0L`b0a&$$ARDZxMu$|)2{46{%9Y|<196AzUPG*w5fJ zY-oivRo504b89@h+8Ay@Gsx}BGOob?`66cMmG$-;C*4Y}TbZz&%~~6%JU)s_=``#8 zk<0y<7yTRYV~YQ%i=p$*ywN+S;;l|7*+<5$-c}{w4CBX>Nyr>q`f|_0t(toG(O~Og zHV@`b|^^`S!wC#*b{IMFqF^iB%rEv0x zuV1Rp$41b!-6HiC=}%uZS-*X8)6;|{$)22c?BUOrLNip@n<~F++aHO0-B#XC3mU(( zdjmtDLTY@H*eT)&h=Uc0xbhqpvrZaEM4*&N!%?tV*DRtWAn-LB>Aq241|^h;^e||s z1O=W%$@OHrx;>cugQHxLOb?`?qrYW~@5!hQn~e$H-8oQ}b#4gPJet4>wocW@BUJp0 z400rvj#4JB=nEW7arcvU(6&aC<*xMwLlsV0S0^(LsXbOQl06*3B$SoD-a?(&@hYrx z99;nJqO;V}9T~Zpcs4ra-K9)=fNj0{$UHzKR2A_23hXE^E-Ui{r@4jhD`pQ`5)yKH zxu*3C)@l4Q0q4|!7j@-gTw_zi!kyxF@ppRxwjNPM_e5dYryy1L7BPE4(sX5VOhP)47{%i35K8vULpzPhOCk@08_w^53ezU}Ag!j-PlZ&k5 zk+2!0ioEY?;6x=dxur3Ma{gSY7Y|$V;YB{YXWGY{Y<3TgoUpwlyH_J zgFDXT=b@E@+b%M7;?R%@P=M1DAyqsYf(MQ9`s!=1PzUU zf5TQ`LVKal=KlqQD1osAby2i@;SneB;Xi0dh(^FAf|kgJA)+Bn(42@BA%7uy3&s*P lM5sWBEWrk%wkVaQx1UeHFck{%b8Sd0xJtxID&p2I@HYY3kE;Lx delta 1531 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 diff --git a/test/docx/golden/raw-blocks.docx b/test/docx/golden/raw-blocks.docx index a2fc9faf56d860cb51a2bc192e315f4a75ba70c1..0fb1f40b9f8a7354d921b97362794db9ebe55c11 100644 GIT binary patch delta 1192 zcmZn-ni#|z;LXe;!obAA!O${y^G4o{jLblK^Fc;lMm``TV%fr$(hH0X42*1(?=VT! zhs5UJRuHK@zkWl7f9LAV(`#-_y|t?Prt_B4TgC@f9GRN+%*!^%@9&mf-gnDq-O`_o zJ7Ui5l$Y7Ft9ql_N>P@#tL7{<=bpC0YgbVC?m2&}>SpQRj5UlljePm!;3_U*rVz#K zqHXS9B%eFJn=1P7SY_zM{MQG#RD{d+6b4ik1hv*X)Li>;`{*O%?M~ruT#}Dp*zq>Z z`)h^Q0`-Hn{!GE14w8)_6*scwtIVcvW)8X8nU%MdMf{G~^Gi3^BwPC0F8U|FXxlRT z>r1)??`+Jpb?RBUhUH>R=KAYJOw0>EFg*VxW#9Pt(<^yv_3Wuz3ZHJAq55Uw!)}W; z3+L87y0~J=$*lUsqHjwSA4E0WX#7xeeNV*4&lk%ww$5PHUvg?DyQs*OE>ZqdGg_ox zu_o+!El_x4(Za_T?#Fv2*L7AW{9Web@hpVTmg|<~F9|oL$A^QzhiKT&zpnfIH&@bA zH`kmWlQ;VpD$Xrbx&Gz#qzrZ!M$Ma?J9?c<%9sK|pSB17ncMW!I==Te+b)~i)<$x3 zURKT2+rQ+a+Iq|U__=>{Mfnz;5aimWzR-5H_@9Qdx);2*9;?@Rw#B#ni;t|aZ@U=z z!7={F(nZaacC@WqeDS*No*l31pB;Upj}rfzkFZ#S6ToC9wx!^Nu!^k;k|NYOQn z#w48QxUHivQ0j=734dhC42^YbugfIAG`~`~@v-!R$u{*%q$YUx&5>(dDc$*`WlB=L z%P#r*-xxGCwk$Z9u)sC!Lbv$A*9DswhX1qNdZ@X1_O;CxyS_X29$WW%Q{JuUIz`x)#}oW>XWCd%Y%74 zfxMlQuc|A7dB1?XqRCgHHV|lgU(3~4-X12fWL<)$gV2)cay@3Q=S@tvaZZp*^6)O4zt34$Q%GfH?gDW= zrT_UBv!|K+pG(sXFt{;AY5$CF9;x1~ncJ5B`1!*ix?^_MO;OWVdz;nLYW8!whIhsG z?3-ZpLe@f5?}GE;bZM34O8J@E)=O>)XK^$Z)}K3d`sbf0t5hk&q&tQZcXE2#et%>X zR(Yq!F_&9$gVv_|iRm>nG9tQcO^;aU=6(6xK*z6fN z?7qJ3m&utPnehELEUugEpDW$4U#3RswZ@Z@$J1;dnMrPYvHZB&cO4bqAF*Alw_M1W zm~HfbQ^Fk%j*0h67NzwXF0u|}@vWWYw6Dl-AJ>_1qtgBNK0ONNdn>TK=A)&5XXWb$ zMHUnEpBAdT>MyQ8ef1-U|Hqa!_2$`mO6>V6(cjqqPrjSq{y~3t(UnW(he%L>>sUGID^@#Ve<% zWs~2EXw~yfQPOU4*7jQ)vNB|C)#f*>I*;UU-e$YEPpvUPCGXCjc{k5*-nRPaJ(HXI zEi2~E6%L!C!mK^_Qkk*3{OVLYaTrZ1J80A#J>0o!%W`d$B@i`4t8()qo4i2H%+{&Y9rFSMTv(coyFRl~y*Mh@L5; zJ#l+D4j!4!JNMK1OcObqJ6q-*J-D~O%3xb=^p?lxW_>dL_4U`Md%d%=r2`{4m#mxe zWW~nDU5lotMxA6}ihZ%YUFq&KKEAcwT53;MS@~Y6c1+ded|y0&>iLhCKWBNq3bdT{ zrPE-6&q^E+fqyD?UC`96yre}Fe569WT0XHRBSlVcUe6p&#f;=qVWr6m(0}U5MwwB@i

#R{eRjJzB0n~K`h=oyfubuo*T?y>_S!?!kinB8? zWa%(4h@z-TlbGBmAwJnkg9q#tPYr3V4e|^O<@rS^`o)tsXo!P-(JB*iZVpi2aUd2! c(a$q^iH0&*>nROs##@u0X{fS2Rsksi0MqOa@c;k- diff --git a/test/docx/golden/raw-bookmarks.docx b/test/docx/golden/raw-bookmarks.docx index 7257f0e9df285a16396dddc5ca65667ceb453b89..b94285947f7c0ad8b4942d9dbd8bb4b3dd16540b 100644 GIT binary patch delta 1542 zcmeAUo*v8_;LXe;!obAA!O${y^G4o{jLblK^Fc;lMm``TA|&MHf-oiq1|hb|cbFvW zee-V{@a+8_E?~F3aMxi23E!^V*nDlKEx#Fij;J_&4fWb|yWU=FWB1n$X0H?NZcJMG z{m6HZkDp$hjC|2KnX~R@%o%as3E_^?`=ibFzsoc@$B;FMHcGsiyUC*Nlhs@@$ey~gV^pBYWf1^9@-ORjS zu+gG%_bfBT4%Pv<$hV_Tu?f$rH+xcdS}( zDsNZ*^QI6_Y=3>(%{vl)mAyUI$24~4g-?Hb`r6^w0o}1(D>81nEOWUNy!lt>z6Dc_ zuGyt{edapNZXmDeXYptDkqUqRpYnZsb+0XA)@rbud`FX0F*V>I_hM7dEjKHb%XV1a z5nHdoc8;TVN&D`e zIj)@-PrJSQe4(;L=v8>O9QUqewf-k}1Ty)w&iFUKagp@vn^V#oQo}iHPU`0#VOIUh z>^3Jg(2lu#)sl-w1sR&6S2Pw+DPZe&^?5zfH`YXe`}6^J{!2Fw-Ou^`@N0MG`>HL| zCNJ#|n3R#-w{>OiQnzOX&jnMx+Co%bWEj0sjrPfLnfgWYC+0~ z*BP(gt=@beB^7S=VzmY*!^s_NOTo#}fV~QmF4uCTaDhccgqNL*?(oAqZ#*vlTB*IpKCYue58Wh+7iCf!J563%nn*3lOzbwtdBKeA+o z#=5oFWs+Z-Un$)9SbD)^oBAbE6TJK8$ThB%?tIcRC8^$Jm;C*244N8S7931i;2L(J zTm0bbg3SxV|5CE2CyA9*B%;{Uh(;zteLbz=RH&~=d51`f-g67K9^ zhO6NoW+zS3#1K&~|4lJ=#)eOB@_^WCNmNHb6X7rrwtELU+RRekLlc%fc z)Pv$?_A$$NUq%LorEI{GgaH}ovokQ1=NF~u=auFrr50u8rR!DX<^*^%0?QnDu@rIq zl*}0`E(V6&ECvRCWbF)VIH3BAODc0xi!n9JZjRW)Ae<=%wB4H--FD&0@#>25AQ#H# zF$>=Wnp_C9R}jU9$jS576%=48OcrR4JBFG>(aD9P!oYAwarR_J4Qa-;lVvsJ!9ilL zAn*(&`aUd2! jaqqmza+=CuHFhxxu{VM472!npch2MlO;xs1RggvixOP@y delta 1362 zcmbOp+#Spt;LXe;!obAA!Em5=(?;HnjLblK^Fc;lMm``TV!61$F)tH^LTkw{xU=@%2ljtom4h?zy9^O<-8NZi(jOwMn9Th zEc5ZrpL^CXIyd(&3|{`Zm5IwrN_yMeU!}#BpIqnapKrV75^LMaRAm38?8TLJQ?8i# zUbFr*_|6nz+1hG{nbVS8{ztjIzx(lC!LADS zZyL7@neHDxW5B0>V)mMU3{5UmPxXIk`@-0>eC>V^ zdAN}G#nLP5&)p0CvZ}KCWJw^`nW;1Wb(c9w9^Vp@)=(PF$#gRQ7+0-s9i#T5O%vud zI>&xqB34l{MO$i0>^Y0(-C9*&Pn6kgnV@xA?FfU>@kicWe>t87t~Y-g>6tcDddkvU z8}}aTOHNsH=CPT=6{ekD7f*`ai1b`M;|7=ZOzle-n75x`jMV6xHuLT3;!wF;F9a{z zUg(&k8uKg6;TX%ght;Vu(H{@T_q{xtP!>D)!LAce=D!b7iw(0eef;6cEPLmgpVBBP zZ*v%{H8|-_p2D^ioCIyys~~A{Cr1hwSVTeC86uJ= z?xiwgb@|n)cFNtmCe8B}f1qo@&uDr?XY0)qOXpA4UG#j4+fG*Hq=_&a8+b7|V&PN)aR zZF>LMFkJqx_ySM=UDwJ5&NtY7{F=YwKLcv$?h@;VgszXoHgH(7O1iUy8U6~9Od!VO z)k>$q0+q@f5P=p|JFvu2RWtOWfK$y7EM==E&1gG0QcYVP6dNr!dz5n-7#M1RSQdy8 zpnCFRH65^;*~cv7eHj@Tma;K02q6>zS;~{&sVRch96u#<#)^x9AvcSGfgeT9g2{U7 za$uYN)ukEPCugfGf_eQwp6}$<>Iz`}pj06Xw8I@(ZV96351sr-3vS3{a{;bct> zc`(l#$TOatuAv0x^#FNqCa=&?0rSoSd1jMeYe4kzX-YFrnyjU%43-N3@)9QJXsWVh Is)8&60Iv2EyPbT~@6zAzK5r^+%5+WJdqF1Y z{PF5aW4Y(gzD2H15;*5=V7haUhNmJ=d)Ta8-+i`w_eP1J+EVrn8B2K%J4 zH*p^fn^Lt;c-Bwu4TloeFfWgExSacvW8GH19UtoDer{P5o?7W^I=StP$uAM97gi^a z9@bHq+!Cu+_L(>0dSR5BYVw9`L+Ww%IEm>vZdf7t@YuUluV2MOHpf}#-CPt6@2iGPI`+R?&gMk;Qgy!%r@Jz&c9cwM&wj|tAE;=xEMk}O zWxfCHv#;i(MEB;+EY{%op8Sz@DLCF|vQq3ns)Pi*@_T>NjK7%g!3G?b@T;F9T79(k1Uy? zv2N{kndFz|R|+>imR>N~rhbXk1n<5%a*ZpcJD;>nNve0*C4c`LgQmuo1qTxrxQ1Qm z7C-p9VDrN8f0kPhH8;<`w%KCWcgNmi>t1ilyA_@Muc>bDzCGU;FFVEZ#EoI4wx)zu z&cbysQYFI=F}uHRf4i|``_5+P^u0WRJ6HJ$^Tti^^f}aaC;e&huP=Ajc-Wp)Pn~7I zmwM;-~G`2TIc_)$YwT&y1wx+}%Efx|LM!krz= zSR)_F1Y%6)P&y43xTeGb5qPL#2bNG$HABmPsj5a`nOUmRjGHHKQ`MFSMMlfb9_3sH z28J3SmIY!2_&7;T2dqI~O`37$WN$S^FfSj-6Pw(vCI{xN0rF}mpMc7}0rCz{=1^Ba z#Iu3A7~|>5?&=C)|jN+5q)aAi;OI51&b^tBB0>r`yi-D|_laHt?fpxr8mu5^9U2hzYk`v2CZE($WxKBeG7AswLpLa3C)VMPJ!ehq& zuh$>*JFkDQXWmw!y-d-Q9xJ=0UE*3XC3fnQ^OwK=QQsLcr`(lwk>RDb$Ti#dz3|$^ zcTjXn)y8RUzm*Fv9gE@3sOV5!m%$!k$)dQo-=co;OU~rtyB#6qUNO?fOn;iOY-kdwE`pU!oc^yN=h}R*&CepG{luw9V@> zcIurJj(_!{vA%ET^BwYLe$$S0IwT3?KhR8mv-nY8{sPY1o1*rf%u?t6AXU88Nxsfm zWV76&pLr%K`i|zu-aS#57R#$IjLu!W-}++0>{S1fTeo>vt*VbbYAO`Wte$RP#C-qu za^W-&d!sHNq>|sYWAb~KRVfe#{ZPe`|!Lk!^&dUUy(f`iZd7gG+roQzo)w#C5AU2V6g^A z@#KH3OTkgSjI9b1=gJ%@TwswdA!mrl1z}c34p1t10|MBwYEYDYgmb0Ebbv~D-{q2N$aNMT%j}61+ z|B5g0^xt)@T;P0z-N&!_EB-T}hOUZOKO}UwiEjgkWxj+vJD9OkK9UKIQP65^A!G}nlI15P@Z3uqF+3DfrdC(f2&N$xj8_6$AMS`MgMQb$x}6yza=8e1?8JU6f=7Ws9jJ!ZbgwCBVaT1T{URX-lw@_NtJX_BioE$YR8EIIL9BL3N=f>t)EN{-%jT7D19 z1SWX=QJZ)p*;9w(k@Lg6!@b@)yIi)09(6FCI4A0D$y4=^(@L9oyq!$yolSz4>?v#G zfADVBG=V1*PR&q#D}O87!nR3qK~3)QPf^7z$Nycte@x+(dgjubd4&^OwI%9Q#R_+B zKm2UK7?4a^X)=ZJJcm@t31+zj1()vn`j~jKkL@9v|=VPg$OAzbv$d`;BMF z>v+Ym!q!C#1Y{TT;Myd2Rcc5ltMb1^Z9hzW&dB+54emgYiErqrPsx|A_&tloY2uE;&sAym=Wnf>R()4(|AXdDX^vew>YNgZ zOO0l;{>%t_*`xE?%R+5UyLrBBMTo$p8);0!d5+sU`U0hnh?($5mdwytxAwYB@=Nn8 zg&QABFPLmozeH++ci$Yj#+A~YPgN;TUAJnB8zf9)QPz3V~G^81CO!m=`1M_l$Jp0L=P`R~0UhCwO z8VZP5|EM9x*gKg+Qvs}8TT`0x=45wGc`z>%$jhGGs;LC#tpf5?CLhyO0rTDhd3lpL gwIKR*w4@nNP4>`I2Fv9Ec{3(=X{oX;R0BB}0Bs;DX#fBK delta 1310 zcmX>cx;2zHz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!Zbgly`h9$qE}28YSFnWXBY z^Di4n{MDX#KYF*TkAUvn2z3b|Ct;q7vbp+e4^BT(HtE~_$4AO`c{NYH)V}Y?KfUKq zYNl)L-FMS#;?@M6>#H0#YdT75Ec0G>jrG^JA9bJD?&_@Dz30lBi3?($eV%%DH&gDM z)x|x!w;Ps}t;!Ct3(Hhq`FUC7W53y(%w{!io#$82WuyLt%lnjQm&qpyso2mt2V+Gh zc-&E&I3w7ThvQYv-Lk{kvu~6%N-h56VLEY+WNztGHJ{Tq8;&R|-rBDir5O}wuIyg$ z-PfC=$|rT{!n^XfqKnIzn%#FE>v>xGl~bmD@qTW{EBcqbrtkh&qAl3ZF03Da*U#bF zQ(aNkswLVF>rEd>{C@a1FWk8?>)8bJKWzKdTHYAjU7VYDXGYjZ-6{TyqW*u{*d_gX zUk3lYuPRM$-3vrwvMzdv+SdL#u<*-Y-O#5Qwe?B7n>c5(`~KLljlXUB-_p1K=Owr* zzJAjZ{jf(~J|R}YSox*x1tFiRtzpV)OE-L|F?gu@^#jMoUkh&6d+TQ3GA}#v`{bl} zho?f>ENsu}EQ?+n{&nGrFwk9aRH#M2akuZYgx74E%vV^N6#8PfnCyA~+1n~q`EYA@ zSP!>A>#qmLjV#k!&P=){`1Su%o8Y6V8a3q`PvuD~9!PDvJ^A|Q`Ag30*S$#(sd%<= ze&EgLZtD&>Sn|~UdbD1?|Gtbm_nB7J121p4e*fPlwx1Ct?QE82wFW1i$&qYJ!HI~G z{UH;W@su-#3(W8lafYO?NusQb9H8{|$|-8utk7A0g@H>o z;DWNjcjk$6CV27Hd;Axk#kWAEm5nE&XNqV~+#ZgDM`rWR{d7LlM9${UmU%}H?(MHK z*p?f;$pNxNf{q^Zy@2qU;zzEJI>!v(ev9WR2qUotoCmEPxUu>U=Iu``Zci;J8ii9~*|t{}o^0>A&k* zxxo1byN_SycvP{99|SewA}1b&ShX=r~zVGAVvVY$>-H| zz}o)-wLfE!PeFQd0mrd MXsNPIRs)#<0N;Ks^#A|> diff --git a/test/docx/golden/tables-default-widths.docx b/test/docx/golden/tables-default-widths.docx index e78ede9d2bd80c27b67949b1c12b54e00aca03c5..6473bfaff38e24f4c3d268a8a30e95c169949d21 100644 GIT binary patch delta 1807 zcmZux4K$N`82@jKiCtzsLnFpEL{e0jrTNHblqN+fW62nqxQSJ(`A8Wr*QIq*jdK)k zGtz{jZc5QAEuridu1FuK#Em=a-g{d2zUTbU`<&naUl+DgiL02LKvC4=gdP@vXj_`|Pz^CaoP^pY(Xs z4BkoYagKbGJ%(io6gn>Ge5O~y%i)0(9BF-p87c-~N7=U3dn~TZ)9ueg-%9JUHkAzWknD&<;vjU|=Ezz+lIegm9wV2aVR4a_ z&Z`2qK&&z@v9r)GOLC|^RE)ZD{!k>bX%UB^WZoWG$~~U54z;^tWmd1QJDP*?3)>h| z5$kA}CejW<3?-G~D~Ecfvj>B+H>HoFC;iQbd5^#31YAK}Ub)Q$&R8J~{{4mFWVGW` z7|gRIY~>^CS`&Lp@!UE36wm4ewQ{h<`QdC`7(S}U}M7w z>ttSRnzAUAy1!SHFF{`FY>S%JHBdhqd7(~JB$f!$4Qlpw(Q5>Dpp}BOn3ebQW8$bjB&yeQgcnEEv3d3;d?Y+S zzW|<&C}<4df8&7XJ>&`rahs;Qt(Y57QN26aywrv{COmzg+x%AQ(yBS(ulhm##f>hFmb{&e z{Z1ch$NwB?5RTfx(Y&h3Vi$tL2ze%D`l0=n0nLodDU8l>sRJ{nz<{Qr)gu@hI%oS> zU((DTP#7zrhRRy`TtPmnXUL;jjE)N>vcGl`&%3@I&Mya!<%Iov5Bu*ZPCf)C?`8n;Ge(P9*@NCH3>iRY| z`;k#k2fnp>Jaov-Ln9`pp2)&v70{cO!hlwnAllGj+~xFD-R z#3s|4HG)JJ0x+l@TyMWNPCsoZX=bXwYJaFtD{>#XaNB9* zo2>d?!$5oIJZDBz(cJ|7ysz%U4KK^RylUvBDi085q40$O+GT!Mp0Kk(eod^gbd`Td zvs{Hz*mF>erGx20Cb_yTS{Vj_P#FMY@a?0m0%=(h<#ZP-BUm65YGos*oVvAor@xF+ zt^$Dew+t|?3c-*%kjP3SY(cxd!}#8sMF7O@1wc~)n5+gs3S%GDE{XXQJt}EgY8*Y# z7X}C5-yOZR31DLMWL11+Ygw^MKV*hC!!8uS#w%f-%7hbTOteCQrO+bp#%+*63pc{ bbq$LMe=56$j?7#|$5uj1i8vKk%LU?Jgrvh` delta 1748 zcmZWp2{e>z82-l?#xmAnY#A|(S!|J1vL3oIGMI#m$`;v@%66G--8xA6$2OWFDeI6W zl~6?G=o*9wMZzS}a72saj&bfissEhs{O|jI@AG`$`<(B6Cn*0=5M+C(AQBLO!-2;c zb+w3E2$c7)Z-XEp2%h0~+uSo+90~xn;HZESb<}xOUus=0qcC{B#85mMP7*-`33~`> zn-UtYmGyPjUz?g)bU$Vt&@a^w#B$R7$9tGwELQ^K`g&H<3q^(MBkYeVDXJ&%Ln22( z=IY0U33SZKQfv&3V*--glcusSFERJrHO@$S+~J~CzPA_WGQ4L| zE&=PN?$cQl`PTq>%rWkcdbex)4NZe8lDErX1>>do<;q1w^Lw#)od{N_!%WmzgP3t+ z&F4%shZ*c@?&chG(ki!FT8Vn!mg5=Xha`?KSaZB;r2}nRH4aVXjF;sb>@T)5vH6(T zmL&ewZw^^Wu$_$_xY~L=l0>Aut9~-BTc$p1VK_~L^^NC6_MB&N*KQ24E}TE97|0B{ zB#&P3$u}Uum!7Bgg*_Ot2wwG}M^4T&pVq^=ka~4LQ0v4%@NI*`G3v*6q0W<^SBeVH_$-~Aw==99?A zKG~d7Bu6l?X*s5LHU1%X&9dO+@>M3^&Q!w%JQRjUyEXh;yG+~spGchsYeU#=XVe2C47tDMKE~mRy!q$ z_=)l(A7rh!B6@N#2z;}_=Bzw!gQoI$syI!ZkYY_Z%%YT2Sh4l?Eh@}I7s3y5rLw^;Tb^WTH1oe*%S-M0K zCRIq>EuAKp?%fP;>nK1lme@f?s-|NN%+9u!%vk-#&_5fddgx1r-&VdYy~&^lD?7P~ zlvLB+m(?aV73cbUbO8choO^$(kIzU*u*C3M(-r$12I4IJaUzS6h1qQG%jHvt=A8D@ z-%nfj1Q5PF$GUjeElwF6MX#fZ4mmarMM<$Qm~mIa%Qk@R>L#Nyx73wWY~*X%qj*r5 zZz$|^7uYnwvl`v}fE5P56>!ip<8NHiGX7sNe*&ulywLNcq z%KXd>bb&_NJNY^2FsSSZZ!dy(hV-@^N${+;8uh;yvV+HS@V6Y4JOKEG`;yOupN`b? z4L{?r8yy<*%Z1$_eur)Sc<=!pTx#19zNnwzCr+RK9j#jDrWB)@aft^T;4Rs0@D&Bn z0Jl{Jy{bh7B@6(khyWnBEvXuez+tpE%aANY3Fz?dpbh)A)HO8#hzdXBrxyus;81*B qQdKBD*Lg(Gcni6WkOD5_H27*O;*|x|F`yF$3EJVMga}%jdH(|Vd&Q{$ diff --git a/test/docx/golden/tables.docx b/test/docx/golden/tables.docx index a4320ce3ed16f627db9d5811798a3240f207c5b1..34b50579abf8482e6cf3bbd542520965cf814129 100644 GIT binary patch delta 1756 zcmcZ|@-Booz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jJ!ZbM50Ltvo13OgX`qmOj7l} z#kULu_C62Ks9BfnynN;q&J?L2Cu`5yo|m5Jq)3LOoK!w(@#putC;SOs8Vi^F2$0Wt z{rc_YUzuC4-TYa6=wgr7*(EQk);_-A93miTX!x$mUXJbG%JO^GR;R5eszf@qIvO~< z@Voa_?bwpJ3KvqGgxB<^da-Uf8l-x|A+WbOrhb)1=%j$PjQS59t$F;LSd1S|H8^Qz zVALnMaJp(E*AX8rfvwsdi)5r{?3lM9Bs^o&>r}52FAe)d7f;>f$HFs9xTbsx?46M- zW$0aTRX@KqIw5*_sPYFh<8G02@df#(PVjLUoJv_WFK*tuhK;{o>UX=H*UVH|T=|~k z;8U)mSqb%~d(9&xr<6xr`Fcy?&>rOir`>Yjc;yOTJwM}9qoed)$@p<{y;Gsf)b%Ov z7A|1(ss2{B`p)BfXDnIQNIr|r=lI*`a{HSd_bb15&rDadQAsm)_ z8g^b=dVJ}m#jCQTl?l-R`<~2n4Ecp6y%d7)+ubM@pml>?f5<2{7_mq&O zD~^Z6dKB&tZJjus_40I1j`~AWQtBqHns@oe9w(Rk4kz||AGtcASzuR|)I!J09I+pI zdzxC`@HxGo)i*`th4zFiXFo|_3(j(z@!9QS)sn2fwj7&Gk=5B<=^Nx1+ATNsaB;a3 zbMWrjjSk{m>5Bs8Sax1K*7?@$(6?sa%}lrUF7(=z;k?CS#}T8on$KT!7V6Gct>4@@ zy3!e{=8{s~NX721B{)^wvE&gy3$MysBE_|5b4?|${{$q#nb7rP{=;!w=HhzSKR0F`{Ql!@T6uKswz>bM?aIymx+-*?wA%aTq=WpWSks85$q|7~=s!aeI>tSGr_vlN>(ID1WwU|$N#W}7&wAla>! zGldJB@16)dLqxPhSs6J%8BpuC{IAL8Vp{b~nXF+P?O}7GRt5!ceRXz|_=b-9lzi!m z-?LbpChjQwT$N^j{?@u_)pynQKWN^R=Gdj9&MA?&)Mz&A&y28_Jvy(wEY#Mto9D|` zga}N!k;WvP=eVt-FHq`;m_WHr!Pfi`M!ABDV8U03@f!YCA4xDu6vOx8GeY_{dN1>jUC%}Han;9#_qZ4WO+fJ@n{%Sqrs~=0UOW8m2NC?IM zZ~MiM8n|`h{gA*FklY3i%afAs>|lnlVk8rYF*#rPG+4k^g##ksp=Jk`=u|U9EA7sx z8G&UO)ukB~Cd;a8gL&RSUfkq#b)9-p)XY9+8Sl%;z_65!fkB7?8L)9MFqG#PrRe9C z<|d^UW#*;pRpjObcr!9FFu)7jh~uYZ&RB6VFyv-2Fz_R5XK3bx>Mt&-%t zVh@9GrWnw6Z(!++YWu6n`WlMzAQ#H#F$>=Wnp_C9R}jSpgUR_C3JS0UCJQvj9Yc+U z*kngBVPG($ID7I%4Qa-f$!|5}!9l{WDa|A%Iayv(6hmQvrZnUE$vK)TV7Ktk7iZE1 z+M&UU?iR_(>opa?YFcGN&dmY3^EeQTpt!em@;gmsuo}CVgxH%v_lf|+2-V-tlMS>~ J*?iPM8Ub>k!@mFk delta 1792 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 H3dl47&xR1x delta 1411 zcmewx_$iP#z?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9j6y(0L}zrJ{6EZQTW|cC{WeJ{md2-X4mWKh}n^&DUzdZjlchS}zZ%#{9tZx0d zdBeROo7SJWRUIAl>PJ+@Grt2|!bQ9b((HEZSY(@!E4ZV+K<`4P>-nxnbF$QUJxzWI zNM%T!Jen&s!Sj#RypyN9_H<6bL^0o)E1pFav9R~fFTRkP;;E**t6tG+ z?WbM;wpcV&YecziaP|vRetlnK{nS4kZ4IAv^ZKvfR<>9cUN1d4C1Z)|mDvY>E%kaP zc=<{DeGS9cr~6iR+0<`b$|aR?YH!Pq`w@YH*Qyi_a_dIC`NYq#-+9Bt7k|n-cJ2$w zxi3B0d_h$1w@;HB8h>Y}y;}Qy&-30*T_1XPUt0OiddgRWSXOC?#ryQ*&u>0*{c%at z*NHvHKME>e>T|wx!q2OO`IgbU%Y6GQ`m`_p@R{E*v2w@7ORPQ`i(MbGlsPu(+|Wpl z=@k@i{a7Bjxh9&oS9Q_tXB%(7{-3jy|Dx9)=dD41<<~x8`5q{7HeclK->+izj3}|Z zc@K*ka(BpNZ|sDvI*;UU-e$YEPpvUPCGXCjc{k5*-nRPaJ(HXIEi2~E6%L!C!mK^_ zQkk*3{OVLYaTrZ1J80A#J>0 zo!%W`d$B@i`4t8()qo4i2H%+{&Y9rFSMTv(coyFRl~y*Mh@L5;J#l+D4j!4!JNMK1 zOcObqJ6q-*J-D~O%3xb=^p?lxW_>dL_4U`Md%d%=r2`{4m#mxeWW~nDU5lotMxA6} zihZ%YUFq&KKEAcwT53;MS@~Y6c1+ded|y0&>iLhCKWBNq3bdT{h{O}?n62zI-C z9<%UGpuvSeoq{M9Y?&;mt^ig8N?x)+bKEi1?3o+@Rl}I#=avFga|NhI0L2`R$^Gi` z;4s*zF3mJceDXnYQEham&RVmVQyf^1W$7?5h@xl@p3JAA0(J)fd~qgSpz#{4=uVwG zIZ#6Z9I&l2A?M}*^&baf5fpQNDo&oLp#(O_E+!%NCeW=Soao_leDWm?RkjN%Ae{i^ C{~Bfh diff --git a/test/docx/golden/track_changes_deletion.docx b/test/docx/golden/track_changes_deletion.docx index 38362564a200d935f65f28ddd6f12a2f43ff3cc1..90fdf2464983b88b7fc1a89081c18c029006edf7 100644 GIT binary patch delta 1356 zcmX>Tcq@=Mz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jJ!Zbgz)6d12Y*J80043W|FSY zerzDn_Wq}+Q~7bPjMGX<--D|7Osa3r4wE|0^tyRslKTIB$;bIhZoX}kSiJt??~F8) zTYKll9`u`~OY2KcRoNxqv7K?jB<%3*HwTzbzGXV- zuE;U>lt@KZt`E0v$e)(Db1M!-_A0ijiCbAzE>@@`;qb3_0{#erGAEZ?r+|CMcYl@H_6tldd{x?nwJf{o5Ev{ z-q&5WCwxU;{R*YKrIGJX-M+SRW>(;`6(%7zN-78BDrz%wlfGzAdpPH2LhsNa|)mD`m}$;4SB_y?b8bk#J>Gf>rV5zultd+HU&GYmpP2`(w_`+!#m(I;*5GKIe3Er3I64d2svz#MVy#5Z)*r{qgl{GP?)G;v4a=c+XO^S9Pb ztG=tY|3UMnG{-I-bxw)IrAD(^e`bWe?9qAcWudmF-8^5mB1B-)jWj0VJjZPveSuO( z#7y`jOJ-=STYFt5`K9@l!i|rm7fiOPUm`WZyKjzM<4WnyCoNNw>Roop-~Yy-sj+3j z!Gr~_VHdi^556wgyfFNq<<>*Z&9kp@z*PHTgMJNAjs@uD7&-ca4PO&_3 zV_2!JDWR3KaNUbk$?!wW?yuY5ZtU2;v)MU)FHhjkRer*}aT7d!4z=A$e_H(O%bhhI zwkOq7XW1_~x<~Wb8l6bH-*$4v@>lB_U;S8;UCREEM?xt6f7>s9)X;q|+7AicM)7Un zu(XnJX9qJ{&&@RzPVl*R(gXq#CW z7-SfbLC@qqRc)~DJ*v`-rzYP})lmTHn0?GL-WRB2DH{WW5V8h_BDTp5Y$B5_)Ocb* z3Xh+XIb+4ez>u58z`&29@I5;NLwSBtihglPWln0bUPW$BfHxx(0|UH7h}gp*oGAvh z#hV%3maxeS)D*#Pm(ODsz6mtA5U5iS#ezALAE+sS)qs+hEYKWx3^hw8%d11wFsAsq zr2y4j0jd!|G3UeNICXh&7&NF$Gc}1%o**s?j20B9PClqE&1gOOuDS}?LjL*UOu9gW zG+5Cc)jC;017cyTOvt%8K#Pt8u?UKV4=2ZKD1*(hi%E#R33QYQCwc&^pS(~*m2HO# GNFx9ea{kT$ delta 1246 zcmcZ=cqWiHz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!ZbgucNMw{AuT2HwfHnWXFc zZz~A2{pWi0&SBBptky?wQnx<$@YSzgY|uCHOnY1B+&{mQj{9v5-QBAc*^qdz{b$ne zs&BHd88>$?eD-?k6P~8dYpuy=>t*h(7XP>FHs2|?;!gq{qQ56x4fs4wLsM~6=E2u{ zx;ULIvz4lRpNjV{bnPp(_5y4?us09 zmkE{U#h&8Uz4oWY@$8CI*3E{;+q8uD?h1OA8Tch$v+BNX+2N>r2jwPj)A(XLG4je` z`%AOuR5k>JlpKn#aIR|jxbsW?b!R)XOXoB6AJ18q*nj!UTs_$hj$e1J{<-_GPj&CF z4y&nJ-FL(8)cY(?eC0HCvRT0AmI;j24|Y4hHqxG-#*&`Yym;EnKyTs1Nl`CO*`Avg z_dIo>|CM8x90dBNwz@o?cQs^#^v=3fPl~txEQ|2|x+O5E?!#<$)?$hGKUT{(9<1!z z)Bf&IO{GsSv-K{6(_-c8tp9U&{}ntGzKxYV*?YZR=8-w?c-p>6Sg3!A;`sPG^L-s7 zO1y2J$zlzTxXIU9mx3d(o~;TJlYiJ#xWFRGLe3D8mBOry9H6*;0|MBwYEYDYgmb0Ebbv~D-{q2N$ zaNMT%j}61+|B5g0^xt)@T;P0z-N&!_EB-T}hVEa{en{x{i*EymrH6z&JD4#^K9UK< znEX!hG+1Dd5(h-!xQZQEf5Q`M0NMa}GE zmhry8Y`2t+fkB7?8Kg`$R8s`2Ietp!j1?CHLv9uW13$77hKG|2)#Six_Am%%iUG~> zW=1#1WAZwvIr4eT!Z(5X3z--g1X0ZCoBU2q0c;K^smKD&amP?IZL+Sq0@w!u>e7sl zCg-TjgL!>GUdiND>PleVc_2@B@@sV!1(5If=ZiDx0!`9jMYpkBe)2+jVg3MbMxZpj pSehKDAoru_R;hq|0RY0T`7i(g diff --git a/test/docx/golden/track_changes_insertion.docx b/test/docx/golden/track_changes_insertion.docx index 998adc6b906ca640250fa84b4cdbd858d1c76f11..70d17b05c8a4b9101b3fc5ff167cdc26ba2cec96 100644 GIT binary patch delta 1326 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 diff --git a/test/docx/golden/track_changes_scrubbed_metadata.docx b/test/docx/golden/track_changes_scrubbed_metadata.docx index 97d3c673147afeec466c86230319a085bbd73b4c..ae0190ef09d5fe39dd665e029227af630c7c7336 100644 GIT binary patch delta 1317 zcmX>VbR&p2z?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jJ!ZbgopUmldBmS7<4D!W|FEu zn|IrQ=lJ_dF6Zw@GTC{W1$Rr_618T_{?0JVkVRI;=-!Fn-}e0`l8hOH!uHf);Aw7 zq_M_Nn(1N}V;Q&nh%8G`E1&;M-gkV*DqqH{DRAJQwyr*w*k4%1eOzqQ z!WWg%o5EY|>fcy?VlHyudTw=WT~V*|o1=%U^%kV?9c2D?VAcGF37YdiUbJ_)x_s7~ zL*Y)|g&LmWO&7V}J0-6?yYKkSxfxHs@yUnJ*mU`qh0x^dKJ&}mb{f^43}5$w`A30R znOx`p*;-rgRVddL7B_4^V7O$$z9Y)}&(5mnGM`}I^G94DSoXY^<-a*40l}PSD-JGO zq@G@wX!lre<)>$#cHCLXZ`-lKo$2DSjG41cu4z4uSo@C&C1N+vWw8dw?Bv_5OTjVR z%vJ>!*u;^-1r|sba)!kHTH!)Q4p7`{-Io6~Sxr={o+*q3 zns)Pi*@_T>NjK7%g!3G?b@T;F9T79(k1Uy?v2N{kndFz|R|+>imR>N~rhbXk1n<5% za*ZpcJD;>nNve0*C4c`LgQmuo1qTxrxQ1Qm7C-p9VDrN8f0kPhH8;<`w%KCWcgNmi z>t1ilyA_@Muc>bDzCGU;FFVEZ#EoI4wx)zu&cbysQYFI=F}uHRf4i|``_5+P^u0WR zJ6HJ$^Tti^^f}aaC;e&huP=Ajc-Wp)Pn~7Imw zM;-~G`2TIc_)!BlSF9frxc|ksfx~i#ggZN!!K4t$1Y%5%Q#uV6&{5`q2$-wdfh8(b z&CoL1ZdD_&%m-Cz#(9%@)U?4oD>Z4RJFJsmvC3-)cr!9FFu*fy#O!01@xH)3x|EH9 zL5Kkvv`k*8rWgZ?%j2hH&RB6VFyv-2Fz_QQVPNE7U?|ToO3^Pasmw_&)~m?PLAPKJ zgK(x8&;oB}bPF;j%c(2MgDlu2H~*q5P)!L?jUb8z>n6vkD}dF25|k`ZjXTi!sA`lZ z&sA3d`}2UhG-KZ6JL>Xa-amC|CI*Sg(i)0juDymd)mw!L6%F58yG|C(3(fYzbQFs{r{%9=iiDnx5*LPaD35Oxg^gt zuA>D@_r#sH=D65xWwX@$hqc7>we>U2Zd!QkpJUZ`ZFy?{$vqc0wkBy*UkrN_n!I4I zL!raNzN=^0)NhTSphCtF2h%vm47cU-*G`JBUvWu=;i~D znqRCaEIhDJ?X=$(jq3J(ZJ(=>#WJ0drk9uNFW$W^@nrnE51dSMTh9uAtPk#WHlNoj ze@N~@FG~>LOT(#u%(D0KP+KbF58Wur5WFV;3Swe5a-^qXY4=k)8- zpL$&uceo^HoIK0>-}7a+|FWS(<>u8a*5J6D{E~GkI8G$C)9)EHobpr7%u-;e1WI`u50B2=Ns%ke$8L;p8+*=tHt^u zq01|=4IGxoB;47-3;~5mCJAt+(u`4)b<`EXyZ|6?!Q>ou1+XQc zq#+Bm#GQ$OK@i0Nk;$vo6~H>q0d*uyex)uC=J9AqGkp@Dtf>Jp&R0X4arNX(4HdBD n1fb+s`N?ZFAZpJ8B?BkF)=&mZ3TjF-%1_qSRAtjp1z80EEDZ54 diff --git a/test/docx/golden/unicode.docx b/test/docx/golden/unicode.docx index 49d72f256d508ce224208643998d7b539fa1b021..f6bebcebeca8e3744ff141d9c4b4cdbb55c5b3e5 100644 GIT binary patch delta 1202 zcmbOfI4_Vlz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jJ!Zbg#O*5Zn2CE43?8`GfCD@ z-s^YRK;ZayyVj?jjcS_APJxs4LXSptequOQDCPa{(%jh>rgk=p&TDLBe^9BV636^} zwGi`)RjEH;|M~y(oZWfx{-}vj3|`qrR^38gEf2R%NSl4}_t~r}XYrpY_m;Fiwbt!X zcT6zIHHxZyf62lvj`OU+Ccha8+PWFf4vTCntWRE8kg(H%$7b!L)havtOeeSTNz`&3 zo3`{xlBI=#Q;n(9gBT8uqct2d+Aj;1-0XRGU zSnXLI%f`ELw^k%9cL`(2{yk_j! zlY8w#X?b1tdX~&fvsU)3Q&|vioDiL$x2JT@`Nxm1t$SHy=z4s|i51L^Oj(YfqZdxu zs}esy|NeS?!J8pMoZDYal$mFj=2=ov$NzQF(w}{twm)A8bG^GRz{kVAc4_$z+1~jI z^ZziQM8)Pn7He=^Ozvl03XT(Vwkk;EY++B~0*gosIYUGeg;^OnK+&ajTmIMNJQ2NL*?(oAqZ#*vlTB*IpKCYue58Wh+7iCf!J563%nn*3lOzbwtdBKeA+o#=5oF zWs+Z-Un$)9SbD)^oBAbE6TJK8$ThB%?tIcRr9R1Jm;C*244N8S7931i;2L(JTm0bb zg3SxV|5CE2CyA9*B%;{Uh(;zteMt)l&q;B^<@1`5ng67KBaK=qQ3 zWCAfJFH<}X7AR5TfC$v9*nuSusF8VvHG+pQd&d$J)rNh7g zG!hB?7oW^8AwGGxIuF?8r_`mnJmnb}%JYj-^ou7OYKVh{IW?pimrhpIPzLk7fxP0$ M=^CnRH7X#Z0F1}e4*&oF delta 1333 zcmbOiI4O`fz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9jJ!Zb#OuuHoq>!D3>uSfGfCD@ z+Us}NK;U@%(N9Ml9#3IhxWaS#s-!h8l?;z9dR6ORp7VWi>c|1E^9K$vf3V@`yneuQ zvJzWB=*eA^OTYjB`L1U3&%GCyOl&xHbB^ESDMFd8+Eed7`BJubPRzwh!|ctMI@eA# zn=m8aFuORa{ekhZfGd{@eCA9yJEq0n)?U%dn=M;EMQ+Z74#9Mj-5!^{({^ksIWQyH zVBM-I6S@~R2nxLtWLoazkR_LNKSH}-`RvmYZZqis;l(T#C80Ao(l^y?=&r>yL1@tl)~a*mC`su*ClTbsPCF~pu(&@_fna$ zy8P-?JLT?OljeDgKhU+{XEZ&cv-ReQrSm82E_y!2Z6~X8(nJ}v&TR3X10ij^U!C3^ zVSCZBQPZ@+iBseY$CMSCq|WJ$a+3pT7FjME_-THokvs zs1W{Fe1WI`u50B2=Ns%ke$8L;p8+*^4~q6ff;U)v8#pj|B;47-j4=5~CJ+Cyn9z$~(vg@Hka0U5YVPEgeb>+VyPW^9_g zN>vBUy9wlJP5!E?2kWMW`|XU&K`48oaW zKx@3285o3+ZDHU8a>1I@^7Bjb@=LJmm(ODsz6sP<2sBj?MSqB}9n^s2{M_8syb`ST zgOZsn(0+Fe{V|h2swsejf-%Lq{J)ksyU_I3c}t^lzxiW;lQ zdFo1FHM7?2Ycs7tXz?+#xgn@~JgP~>a=8e1?8JU6f=7Ws9jC?>wgle$S^d3eA263**cbFvW zee(|)@U*@E)1_6eQ7~g!msqazoQcQE_*Z%>o5~km68rb}QoljrjW9)%V^torj@7*} zFT1KYjXjV>biqTfV<~1cCo!l5Yfk??V^8k&$L^ba+`6s2M73Exq%GJp7g?$8+-k+; ze7H#9iq90bm*0$9o1(TKsg2O~G1X!_W-(9WQ2o!6UjkgGR9_kel!uCER=d>@v$c35VzE_GgCUOyzDFcUs?BiiQHQ^&zF6}Z0FB% zB^{eYGXEa^m~~E1!9qX!k!Rdm{e(Hw>#pWb+BUgN%T{gif!Mr-lhbY_Sns`+%;+c^ zx~1dfti>DarMpV{Lv}~CpH#A$xy|`@_r!}+9DPih7}qqYEZVqv?bqeHWp(Q=zYRY4 z{gS)k(z3JXCuF~N{<19o!t?YmYKs}8=FNSgEAwV*$OFkgvIWm?MeKPZa+{$(=-GxV z^=Dq6>-x>T>itH^b-{P;?#BxJj2?q}~yRhCF7Ywmj_C1+xN_xX;UpZ8as ze8G$ob(!p~J{_UCV{n^t{SZU2MjO=*r@ zI_jJfiA#-Uv;NEod)cG&+RH+1O}lx%Y(xyF^!oljb()F-*@lE43rK~rPPf`bVQT*EGOiywSl zuz6wlKg+F$nww`|+ibDxyJPRMb+0$&-HJ~B*HpK6-=6P_mz`pH;>NI2TT?{kdnkTQs7W(EnjE1f2j*1*d7hJ}LgjV> zdHs{Gswv3B;$0SKtvk?cL1bGQrcV}8SBM3vVNCIJO98660#qY_qUNzE14BxFazIgj zL9u>fL4jUHZVs9|Bcv)-dpm%-t^lzxitf_M6V;W#o}aa5FQ+&=14EV$0|U@VB%miT z*-k=y@+);7uvdPnOLJAoGcc6r7p3SIPfpMf2m7K`Cgj{4pswRUEP|vPXzSz<4P~&_ TDh+AIMU$s#sIskA0Vx3hP(blp delta 1363 zcmX>bcrcJRz?+#xgn@~JgW*8$rj5KC8JU6f=7Ws9j6y(0gtepAoCZb)hR2)?41x@k z1676V?@l|NcgR4%wVt(-pHF9%mXc$xVD^$r?|L7rOncOR%#W!){&}JR_bm;lr6rF8 zpI9F+wiQ-AebrH9a#!O+FSiUk?h7rRtAzA6bJV^uyPUqIYkKJnjVLa)w?|$s<$TTY z^x7+dWanbFj+vTgm)!Oid2GJu{_tl=?s+iRkz-ja*F!-RR#^NCBrCu$vOZn{<|I%A5)O!8u=LCk` zJ5A<0wpn;LTnS$nUToF$U{emKdi7ShgFABm?z-)AR^e@EQO=^g>AG7U-j(AvTY0!k zMDSLDL78_$io=%r*G7HQf2ib6FXM7v%$X{9=>Si2*TM)BtJ|y2N4@xTr{nhYru0km zlf2$8o5ythn*2rY^%um&OWw%FZ2kDE=iQBi_f9ax9I%&sbN5Zx_BjsK2jYt@*1VGU zu9`FLU(-W&>BiezO8z@M?a#b$_s`wuynoM^y}wd-c*R{O{ug%ZfBZQtAXd+a5^0-z zSggUZHu)6mQgG}Qu~k8$@jZJA7g!`r$QdFsN0^n70~E0*?xy~nyi!E7ek1b~CG8ex zZNIf4D?`>+ZGOY5^GN>YZMJ*+)EWa+^6u=Jck}$_ZL5#oGr6hXvSRMs$(s^Xn6>9# zDl=A>U!7{F+`VhkJa6#_x)%J5rbl$P-aN5%{$$-n&!@QUWK~X@C}Y-{E#7k=q>cBh z)4L;VFFH1Anl?CbihSWX^VdN|eaWPH=1c!umN9F1E@WgDQ`YUC6t{=t;E~z9b3dKW zG?BBpvt{1VgM0g{47TM)Z+U!f)~D%TUVnYMSK9Qt*`f_X9q0)i>#no1GEw3oKBq!UXRY|&bSg;b-g7(c`Hz=BzdGrPve~RBZxr>@SAUx5ziiIN z_m2$~!vBgd@buqxtz6)IgWbok`78c2pa$;;(SAtqHi>To2d1@zJ3E-sDj&%NVoZLh zcp5CQUWo%DuuH`bEb&{#j1M&%O}1Axlm`iwu052-0?b*PSr`~(7?45n0%rf2=sADM`1A`E<28Kws$&G9xlP%SFVn7OypOQIa#l^soo5jGu zkD~AzI|D;`eo=~kaY`p z9vlXZ>e5V^;*%$ei)y1gb=I1_oZ>(qW$7?5h@xm$ntV@P1?&v|`Ql8vK;t!7(Vdzz zSy2Pxj8>VDb8~?Dj{~s?ia94HCuk^x&9RF~h`kAPstB+kL=F6DlNV{IvdvckX#@a% CdHXp4