packages feed

pandoc 3.9.0.2 → 3.10

raw patch · 105 files changed

+3118/−2614 lines, 105 filesdep ~aesondep ~asciidocdep ~citeproc

Dependency ranges changed: aeson, asciidoc, citeproc, commonmark, commonmark-extensions, commonmark-pandoc, texmath, time, tls, typst

Files

AUTHORS.md view
@@ -91,6 +91,7 @@ - Cormac Relf - Craig S. Bosma - Damien Clochard+- Dan Jacobson - Daniel Bergey - Daniel Kessler - Daniel Maslowski@@ -215,6 +216,7 @@ - Jez Cope - Joe Hermaszewski - Joe Hillenbrand+- Johan Larsson - John KetzerX - John Luke Bentley - John MacFarlane@@ -237,6 +239,7 @@ - Justin Bogner - Justin Wood - Karl Pettersson+- Keenan Brock - Keiichiro Shikano - Kelsey Hightower - Kevin Broch@@ -286,6 +289,7 @@ - Max Bolingbroke - Max Heller - Max Rydahl Andersen+- Meher Chaitanya - Merijn Verstraaten - Michael Beaumont - Michael Chladek@@ -365,6 +369,7 @@ - RyanGlScott - Ryan Gibb - S.P.H+- Sai Asish Y - Salim B - Sam S. Almahri - Sam May@@ -495,6 +500,7 @@ - mjfs - mt_caret - nbehrnd+- nibras shami - niszet - nkalvi - nuew
MANUAL.txt view
@@ -1,7 +1,7 @@ --- title: Pandoc User's Guide author: John MacFarlane-date: 2026-03-19+date: 2026-06-03 ---  # Synopsis@@ -435,6 +435,24 @@          eval "$(pandoc --bash-completion)" +`--sandbox[=true|false]`++:   Run pandoc in a sandbox, limiting IO operations in readers+    and writers to reading the files specified on the command line.+    Note that this option does not limit IO operations by+    filters or in the production of PDF documents.  But it does+    offer security against, for example, disclosure of files+    through the use of `include` directives.  Anyone using+    pandoc on untrusted user input should use this option.++    Note: some readers and writers (e.g., `docx`) need access to data+    files.  If these are stored on the file system, then pandoc+    will not be able to find them when run in `--sandbox` mode+    and will raise an error. For these applications, we+    recommend using a pandoc binary compiled with the `embed_data_files`+    option, which causes the data files to be baked into the binary+    instead of being stored on the file system.+ `--verbose`  :   Give verbose debugging output.@@ -765,6 +783,13 @@     space, and the period will not produce sentence-ending space     in formats like LaTeX.  The strings may not contain spaces. +`--typst-input=`*KEY*[`=`*VAL*]++:   Set a parameter value that will be made available to the typst+    parser in `sys.inputs`, like `--input` in the `typst` CLI.+    Either `:` or `=` may be used to separate *KEY* from *VAL*.+    Values containing spaces must be quoted.+ `--trace[=true|false]`  :   Print diagnostic output tracing parser progress to stderr.@@ -813,10 +838,10 @@     a *list* value, the value will be added to the list. If it already     has another kind of value, it will be made into a list containing     the previous and the new value. For example,-    `-V keyword=Joe -V author=Sue` makes `author` contain a list+    `-V author=Joe -V author=Sue` makes `author` contain a list     of strings: `Joe` and `Sue`. -`--variable-json=`*KEY*[`=`:*JSON*]+`--variable-json=`*KEY*[`=`*JSON*]  :   Set the template variable *KEY* to the value specified by a JSON     string (this may be a boolean, a string, a list, or a mapping;@@ -827,24 +852,6 @@     separate *KEY* from *VAL*. If the variable already has a     value, this value will be replaced. -`--sandbox[=true|false]`--:   Run pandoc in a sandbox, limiting IO operations in readers-    and writers to reading the files specified on the command line.-    Note that this option does not limit IO operations by-    filters or in the production of PDF documents.  But it does-    offer security against, for example, disclosure of files-    through the use of `include` directives.  Anyone using-    pandoc on untrusted user input should use this option.--    Note: some readers and writers (e.g., `docx`) need access to data-    files.  If these are stored on the file system, then pandoc-    will not be able to find them when run in `--sandbox` mode-    and will raise an error. For these applications, we-    recommend using a pandoc binary compiled with the `embed_data_files`-    option, which causes the data files to be baked into the binary-    instead of being stored on the file system.- `-D` *FORMAT*, `--print-default-template=`*FORMAT*  :   Print the system default template for an output *FORMAT*. (See `-t`@@ -911,13 +918,10 @@     on `man`, `docbook4`, `docbook5`, or `jats` output.      Note that if you are producing a PDF via `ms` and using-    (the default) `pdfroff` as a `--pdf-engine`, the table-    of contents will appear at the beginning of the-    document, before the title.  If you would prefer it to-    be at the end of the document, use the option-    `--pdf-engine-opt=--no-toc-relocation`. If `groff` is-    used as the `--pdf-engine`, the table of contents will-    always appear at the end of the document.+    (the default) `groff` as a `--pdf-engine`, the table of+    contents will appear at the end of the document. If you would+    prefer it to be at the beginning of the document, before the+    title, you can use `--pdf-engine=pdfroff`.  `--toc-depth=`*NUMBER* @@ -1309,7 +1313,7 @@         To produce a custom `reference.docx`, first get a copy of         the default `reference.docx`: `pandoc         -o custom-reference.docx --print-default-data-file reference.docx`.-        Then open `custom-reference.docx` in Word, modify the+        Then open `custom-reference.docx` in Word or LibreOffice, modify the         styles as you wish, and save the file.  For best         results, do not make changes to this file other than         modifying the styles used by pandoc:@@ -1539,7 +1543,7 @@         `pagedjs-cli`;         see [print-css.rocks](https://print-css.rocks) for a good         introduction to PDF generation from HTML/CSS)-    - `-t ms`:  `pdfroff`+    - `-t ms`:  `groff`     - `-t typst`: `typst`      This option is normally intended to be used when a PDF@@ -1969,6 +1973,11 @@ | ```                              | ```                               | +----------------------------------+-----------------------------------+ | ```                              | ``` yaml                          |+| --typst-input foo=bar            | typst-inputs:                     |+|                                  |   foo: bar                        |+| ```                              | ```                               |++----------------------------------+-----------------------------------++| ```                              | ``` yaml                          | | --trace                          | trace: true                       | | ```                              | ```                               | +----------------------------------+-----------------------------------+@@ -3664,13 +3673,13 @@ This extension can be enabled/disabled for the following formats:  input formats-:  `markdown`, `latex`, `rst`, `mediawiki`, `textile`+:  `markdown`, `latex`, `rst`, `mediawiki`, `textile`, `man`  output formats :  `markdown`, `muse`  enabled by default in-:  `markdown`, `muse`+:  `markdown`, `muse`, `man`  The default algorithm used to derive the identifier from the heading text is:@@ -4597,19 +4606,19 @@ or two spaces.  A term may have multiple definitions, and each definition may-consist of one or more block elements (paragraph, code block,-list, etc.), each indented four spaces or one tab stop.  The-body of the definition (not including the first line)-should be indented four spaces. However, as with-other Markdown lists, you can "lazily" omit indentation except-at the beginning of a paragraph or other block element:+consist of one or more indented block elements (paragraph, code block,+list, etc.). The blocks in the definition shoud be indented to the column+of the first non-space content after the `:` or `~` marker, or+(if the `four_space_rule` extension is enabled) four spaces or+one tab stop. As with other Markdown lists, you can "lazily" omit+indentation in paragraph continuation lines:      Term 1 -    :   Definition+    : Definition     with lazy continuation. -        Second paragraph of the definition.+      Second paragraph of the definition.  If you leave space before the definition (as in the example above), the text of the definition will be treated as a paragraph.  In some@@ -5181,10 +5190,10 @@       \renewcommand{\section}[1]{\clearpage\oldsection{#1}}       ``` -Note:  the `yaml_metadata_block` extension works with-`commonmark` as well as `markdown` (and it is enabled by default-in `gfm` and `commonmark_x`).  However, in these formats the-following restrictions apply:+Note:  the `yaml_metadata_block` extension works not just with+`markdown` but with `commonmark` (and it is enabled by default in+`gfm` and `commonmark_x`). However, in `commonmark`, `gfm`,+and `commonmark_x`, the following restrictions apply:  - The YAML metadata block must occur at the beginning of the   document (and there can be only one).  If multiple files are@@ -5653,22 +5662,34 @@  The link consists of link text in square brackets, followed by a label in square brackets. (There cannot be space between the two unless the-`spaced_reference_links` extension is enabled.) The link definition-consists of the bracketed label, followed by a colon and a space, followed by-the URL, and optionally (after a space) a link title either in quotes or in-parentheses.  The label must not be parseable as a citation (assuming-the `citations` extension is enabled):  citations take precedence over-link labels.+`spaced_reference_links` extension is enabled.) If the label is empty+(`[]`), then it will be implicitly be taken to be the same as the link text;+thus `[foo][]` is equivalent to `[foo][foo]`. (If the+`shortcut_reference_links` extension is enabled, the empty `[]`+may be omitted.) -Here are some examples:+The link definition consists of the bracketed label, followed by+a colon and a space, followed by the URL, and optionally (after a+space) a link title either in quotes or in parentheses. The label+must not be parseable as a citation (assuming the `citations`+extension is enabled): citations take precedence over link+labels. -    [my label 1]: /foo/bar.html  "My title, optional"-    [my label 2]: /foo-    [my label 3]: https://fsf.org (The Free Software Foundation)-    [my label 4]: /bar#special  'A title in single quotes'+Here are some examples of reference links and link definitions; -The URL may optionally be surrounded by angle brackets:+    See [the website *I* built][my website]. +    See [my website][] and [the bar page][1] and+    the [home page of the FSF][fsf].++    [my website]: http://foo.bar.baz+    [1]: /foo/bar.html  "My title, optional"+    [fsf]: https://fsf.org (The Free Software Foundation)+    [special page]: /bar#special  'A title in single quotes'++The URL in a link definition may optionally be surrounded by+angle brackets:+     [my label 5]: <http://foo.bar.baz>  The title may go on the next line:@@ -5682,18 +5703,14 @@      [Foo]: /bar/baz -In an *implicit* reference link, the second pair of brackets is-empty:--    See [my website][].--    [my website]: http://foo.bar.baz+The link definition may come either before or after a+reference link that uses the label. -Note:  In `Markdown.pl` and most other Markdown implementations,-reference link definitions cannot occur in nested constructions-such as list items or block quotes.  Pandoc lifts this-arbitrary-seeming restriction.  So the following is fine in pandoc,-though not in most other implementations:+Note: In some Markdown implementations, reference link+definitions cannot occur in nested constructions such as list+items or block quotes. Pandoc lifts this arbitrary-seeming+restriction. So the following is fine in pandoc, though not in+all implementations:      > My block [quote].     >
changelog.md view
@@ -1,5 +1,276 @@ # Revision history for pandoc +## pandoc 3.10 (2026-06-03)++  * Add `--typst-input` CLI option (#11588). This allows one to+    pass parameters to typst, which are available at `sys.inputs`,+    just as `typst` itself does with its `--input` option.++  * Avoid trailing spaces in `--help` output (#11623).++  * Make groff the default pdf-engine for `ms` output (#11558).+    Formerly it was pdfroff.++  * Set default User-Agent request header to `pandoc/VERSION`.+    This can be overridden using the `--request-header` option.++  * Markdown reader:++     + Allow grid tables to be indented (#11671, Johan Larsson). Like+      the other table syntaxes (pipe, simple, and multiline tables)+      and block-level constructs generally, a grid table may now be+      indented by up to three spaces and still be recognized as a+      table. Previously the grid-table parser required the table to+      begin at the left margin, so an indented grid table was parsed+      as a paragraph.+    + Fix calculation of column widths for default columns in grid tables+      (#11664). This fixes a bug which produced too-narrow columns in some+      cases.+    + Don't produce empty Raw element with `--strip-comments` (#11625).+    + Fix quotes in inline notes (#11613, Andrew Dunning).+    + Allow spaces inside attributes in super/sub (#11589).+    + Simplify `checkNotes`, remove dead code+    + Various small performance optimizations.++  * HTML reader:++    + Parse aside as a Div with class "aside" (instead of using+      raw HTML) (#11626).+    + Add "header" class to Divs created from headers.++  * Docx reader:++    + Fix bug in bitmask checking (#8299). This led to some table rows+      being wrongly considered header rows.+    + Improve treatment of `tblHeader` element (#8299).+      If `tblHeader` exists but has `w:val="0"`, then don't consider+      the element a header.+    + With `citations` extension, prefer `citation-key` as the key for+      item data, if it is defined (#11581; cf. #10366, #11567). The `id` key+      used by Zotero is not exposed by their API and is generally not what+      is wanted when converting to biblatex.+    + Don't look to `ext` tags for image extent (#11580).+      This reverts a change from 7ff1b798c4e6681ef9050899442d80883116573a.+      The change was mistaken and could cause images to be parsed with+      the wrong sizes.++  * Man reader:++    + Support `auto_identifiers`, `gfm_auto_identifiers`, and+      `ascii_identifiers` extensions (#8852, Meher Chaitanya).+      Section headings parsed from .SH and .SS macros now receive+      auto-generated id attributes when the extension is enabled (as+      it is by default). This enables `--toc` to produce working anchor links.+    + Better handling of `.TP` macro (#11668). We parse these as+      DefinitionList items, but we previously sometimes stopped prematurely+      in including material in the definition.  We should include everything+      until we hit a new indentation-changing macro.++  * Roff reader:++    + Handle `\` line continuation in table cells (#11635).++  * LaTeX reader:++    + Evaluate theorem name when used rather than evaluating it when+      the `\newtheorem` command is encountered (#11608). It may include+      macros only defined later.+    + Put identifier from label on table attributes rather than adding+      an enclosing Div (#11604).++  * Typst reader:++    + Fix issue parsing figure inside rotate or box (#11598).+    + Implement "rotate" as pass-through (#11531). Information about the+      angle is encoded in an attribute of an enclosing span or div.++  * RTF reader:++    + Fix tables parsed as deeply nested tables (#11682).++  * Docx writer:++    + Fix display of paragraph with just inline math (#11674).+      Word displays a paragraph containing just one inline math+      element as if it were display math. We don't want that,+      so we add a zero-width space to defeat this behavior.+    + Fix FirstParagraph style lost after heading with footnote (#11573).+    + Fix empty keywords in core document properties (#11666, Sai Asish Y).++  * OpenDocument/ODT writer:++    + Use predefined styles (#9316, #5086, #2747, #3426, #7336).+      Previously the OpenDocument writer emitted a fresh automatic+      style (L1..Ln, P1..Pn, T1..Tn) for nearly every list, list-item+      paragraph, block quote, preformatted block, and inline text+      style. This commit teaches the writer to reference the+      predefined styles that LibreOffice ships and that pandoc's+      reference.odt now exports:++      - Bullet lists use `List_20_1`; ordered lists with default start and+        decimal format use `Numbering_20_1`.  Non-default ordered lists+        generate a single named override style (`Pandoc_Numbering_N`)+        memoised by (ListNumberStyle, ListNumberDelim); a non-default start+        value with the default format is expressed via `text:start-value`+        on the `text:list` element instead of a new style.+      - List-item paragraphs use `List_20_Bullet[_Tight]` and+        `List_20_Number[_Tight]`.  The Tight variants are pandoc-specific+        (zero top/bottom margin) and are injected into the user's+        reference.odt if missing, just like the Skylighting token styles.+      - Block quotes use the predefined `Quotations` paragraph style+        directly.  Nested block quotes use a single automatic style that+        inherits from Quotations and only adds extra margin-left, so a list+        inside a block quote now inherits its container's indent (#2747).+      - Preformatted blocks use `Preformatted_20_Text` directly.+      - Emphasis, Strong, Strikeout, Subscript, Superscript and Code spans+        use the predefined `Emphasis`, `Strong_20_Emphasis`, `Strikeout`,+        `Subscript`, `Superscript` and `Source_20_Text` text styles.+      - `paraStyle`/`paraStyleFromParent` no longer emit a wrapper automatic+        style when its only attribute would be `parent-style-name`; the+        parent name is returned directly.++  * EPUB writer:++    + Support multiple EPUB versions for raw content (#11628,+      nibras shami). This change ensures that raw content marked `epub2`+      will appear in (only) EPUBv2 output and content marked `epub3` will+      appear in (only) EPUBv3 output.++  * Typst writer:++    + Add zero-width space before a Span label if otherwise the label+      doesn't come after anything (#11568). (In this case typst will+      raise an error.)+    + Add newline after `#set text` directive (#11583). This ensures that+      blocks such as lists are parsed correctly after a `set text`.++  * LaTeX writer:++    + Fix `fr-CA` babel language mapping (#11575, Christophe+      Dervieux). Map fr-CA to `french` instead of deprecated `canadien`.+      The babel-french package's `canadien.ldf` is deprecated and+      broken: it never calls `\ldf@finish`, so `\bbl@main@language` is+      left undefined, causing babel to crash at `\begin{document}`.+      Since `canadien` was always just an unconditional alias for+      `french`, use `french` directly.++  * MediaWiki writer:++    + Handle some technically malformed URLs (#11562).+    + Fix escaping to avoid accidental lists (#11563).++  * Markdown writer:++    + Fix spacing issues with definition lists.+      - Properly handle the case where the first item is an indented+        code block (#11542).+      - Use correct indentation when `four_space_rule` extension is+        disabled.+    + Escape `:::` to avoid triggering unintended divs (#11571).++  * Man writer:++   + Don't run together successive definitions in a tight definition list+     with multiple definitions after a term (#11547).++  * Text.Pandoc.Writers.Shared:++    + `htmlAttrs`: use `data-` prefix when needed (#11680). This now+      behaves like the HTML writer, adding the `data-` prefix for+      custom attributes. This will affect, e.g., the mediawiki writer.++  * Text.Pandoc.Error:++    + Display IOError without stack trace (#11676).+    + Use single quotes around paths and format names (#11645) in+      displayed messages.++  * Text.Pandoc.App.Opt:++    + Opt has a new field `optTypstInputs` [API change].++  * Text.Pandoc.Options:++    + Change `defaultMathJaxURL` to use MathJax v4 (#11669).+    + ReaderOptions has a new field `readerTypstInputs` [API change].++  * Text.Pandoc.Citeproc.BibTeX:++    + Prevent wrong combination of `subtitle` and `titleaddon` with+      `maintitle` (#11677, Amir Dekel). When `maintitle` is present, `subtitle`+      should not be added to `title`, but only to `volume-title`.+    + BibLaTeX `inbook` should be CSL `book`, not `chapter` (#11552).+    + Allow `doi` field in bibtex (input and output) (#11617, Thomas Hodson).++  * Text.Pandoc.Translations:++    + Find lang-script type translations (#11648).+      E.g. for `zh-Hant-TW` look for (in order) `zh-Hant-TW.yaml`,+      `zh-Hant.yaml`, `zh.yaml`.++  * Text.Pandoc.Parsing:++    + Various small optimizations.+    + Fix bug in `extractIdClass` to ensure that both `id` and+      `class` are stripped from key/value attributes..++  * Text.Pandoc.Shared:++    + Various small optimizations.++  * ODT reference doc: demonstrate predefined styles (310327).+    This mirrors the demonstration content already present in+    the Word reference doc.++  * HTML templates:++    + Include pandoc-version in generator meta tag (#11624).+    + Styles: make screen-only CSS conditional (#11524, Keenan Brock).++  * EPUB templates:++    + Add dir attribute to html element (#11554).++  * LaTeX template: Define `\xmpquote` if not defined (#11528).+    `\xmpquote` is defined by the hyperref driver hyperxmp; we need a+    fallback for those who aren't using that.++  * Lua subsystem:++    + Add constructor `pandoc.TableBody`.++  * doc/lua-filters.md: Re-indent definition list items+    (Albert Krewinkel).++  * wasm/index.js: include filter to embed images for pdf-via-typst.+    Auto-inject `embed_images` filter for PDF via Typst. Otherwise+    conversion fails because we can't write the images in a temporary+    directory in the WASM sandbox. See jgm/pandoc#11584.++  * Fix test suite parallel execution failures (#11566).++  * linux/make_artifacts.sh: add `loong64` support (#11597,+    Olivier Benz).++  * `bash_completion.tpl`: add `groff` to `--pdf-engine` completions (#11555).++  * MANUAL.txt:++    + Improve description of reference links (#11643).+    + Update instructions for modifying reference.docx+      (#11600, Dan Jacobson). Mention LibreOffice as an alternative.+    + Clarify indentation rules for definition lists (#11542).+    + Move `--sandbox` to general options.+    + Reword restrictions on YAML metadata in commonmark (#11561).++  * Bump upper bound for time, tls, aeson.++  * Use latest releases of doclayout, asciidoc, texmath, typst,+    typst-symbols, pandoc-types, citeproc, commonmark, commonmark-pandoc,+    commonmark-extensions.++  * Add missing NAME heading to pandoc-lua, pandoc-server man pages (#11634).+ ## pandoc 3.9.0.2 (2026-03-19)    * Typst template: fix regression introduced in 3.9.0.1 (#11538).@@ -22,6 +293,7 @@     + Preserve non-textbox content when unwrapping textboxes (#11510, #6893,       #11412, #5394, #9633). Treat text inside a textbox containing an image       as a figure caption.+    + Support `w:gridBefore` table row property (#11464, Jan Tojnar).    * Typst reader: @@ -33,10 +305,6 @@   * Textile reader:      + Handle block content in cells (#11455).--  * Docx reader:--    + Support `w:gridBefore` table row property (#11464, Jan Tojnar).    * LaTeX reader: 
data/bash_completion.tpl view
@@ -34,7 +34,7 @@              return 0              ;;          --pdf-engine)-             COMPREPLY=( $(compgen -W "pdflatex lualatex xelatex latexmk tectonic wkhtmltopdf weasyprint prince context pdfroff" -- ${cur}) )+             COMPREPLY=( $(compgen -W "pdflatex lualatex xelatex latexmk tectonic wkhtmltopdf weasyprint prince context pdfroff groff" -- ${cur}) )              return 0              ;;          --print-default-data-file)
data/odt/content.xml view
@@ -1,2 +1,82 @@ <?xml version="1.0" encoding="UTF-8"?>-<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.3"><office:scripts/><office:font-face-decls><style:font-face style:name="StarSymbol" svg:font-family="StarSymbol"/><style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/><style:font-face style:name="Courier New" svg:font-family="&apos;Courier New&apos;" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="Times New Roman" svg:font-family="&apos;Times New Roman&apos;" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Lucida Sans Unicode" svg:font-family="&apos;Lucida Sans Unicode&apos;" style:font-family-generic="system" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/></office:font-face-decls><office:automatic-styles><style:style style:name="P1" style:family="paragraph" style:parent-style-name="Footer"><style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/></style:style></office:automatic-styles><office:body><office:text><text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/></text:sequence-decls><text:p text:style-name="Standard">Hello World!</text:p></office:text></office:body></office:document-content>+<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.3">+  <office:scripts/>+  <office:font-face-decls>+    <style:font-face style:name="StarSymbol" svg:font-family="StarSymbol"/>+    <style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/>+    <style:font-face style:name="Courier New" svg:font-family="&apos;Courier New&apos;" style:font-family-generic="modern" style:font-pitch="fixed"/>+    <style:font-face style:name="Times New Roman" svg:font-family="&apos;Times New Roman&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>+    <style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>+    <style:font-face style:name="Lucida Sans Unicode" svg:font-family="&apos;Lucida Sans Unicode&apos;" style:font-family-generic="system" style:font-pitch="variable"/>+    <style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>+  </office:font-face-decls>+  <office:automatic-styles>+    <style:style style:name="DemoTable" style:family="table">+      <style:table-properties style:width="6in" table:align="margins"/>+    </style:style>+    <style:style style:name="DemoTable.A" style:family="table-column">+      <style:table-column-properties style:column-width="3in"/>+    </style:style>+  </office:automatic-styles>+  <office:body>+    <office:text>+      <text:sequence-decls>+        <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>+        <text:sequence-decl text:display-outline-level="0" text:name="Table"/>+        <text:sequence-decl text:display-outline-level="0" text:name="Text"/>+        <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>+      </text:sequence-decls>+      <text:p text:style-name="Title">Title</text:p>+      <text:p text:style-name="Subtitle">Subtitle</text:p>+      <text:p text:style-name="Author">Author</text:p>+      <text:p text:style-name="Date">Date</text:p>+      <text:p text:style-name="Abstract">Abstract.</text:p>+      <text:h text:style-name="Heading_20_1" text:outline-level="1">Heading 1</text:h>+      <text:h text:style-name="Heading_20_2" text:outline-level="2">Heading 2</text:h>+      <text:h text:style-name="Heading_20_3" text:outline-level="3">Heading 3</text:h>+      <text:h text:style-name="Heading_20_4" text:outline-level="4">Heading 4</text:h>+      <text:h text:style-name="Heading_20_5" text:outline-level="5">Heading 5</text:h>+      <text:h text:style-name="Heading_20_6" text:outline-level="6">Heading 6</text:h>+      <text:p text:style-name="First_20_paragraph">First Paragraph.</text:p>+      <text:p text:style-name="Text_20_body">Body Text. <text:span text:style-name="Emphasis">Emphasis</text:span>. <text:span text:style-name="Strong_20_Emphasis">Strong Emphasis</text:span>. <text:span text:style-name="Strikeout">Strikeout</text:span>. <text:span text:style-name="Superscript">Superscript</text:span>. <text:span text:style-name="Subscript">Subscript</text:span>. <text:span text:style-name="Source_20_Text">Source Text</text:span>. <text:span text:style-name="Highlighted">Highlighted</text:span>. <text:a xlink:type="simple" xlink:href="https://pandoc.org"><text:span text:style-name="Definition">Hyperlink</text:span></text:a>. Footnote.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote">Footnote text.</text:p></text:note-body></text:note></text:p>+      <text:p text:style-name="Quotations">Block quote.</text:p>+      <text:p text:style-name="Preformatted_20_Text">Preformatted Text.</text:p>+      <text:list text:style-name="List_20_1">+        <text:list-item>+          <text:p text:style-name="List_20_Bullet">Bullet list item.</text:p>+        </text:list-item>+      </text:list>+      <text:list text:style-name="Numbering_20_1">+        <text:list-item>+          <text:p text:style-name="List_20_Number">Numbered list item.</text:p>+        </text:list-item>+      </text:list>+      <text:p text:style-name="TableCaption">Table caption.</text:p>+      <table:table table:name="DemoTable" table:style-name="DemoTable">+        <table:table-column table:style-name="DemoTable.A"/>+        <table:table-column table:style-name="DemoTable.A"/>+        <table:table-header-rows>+          <table:table-row>+            <table:table-cell office:value-type="string">+              <text:p text:style-name="Table_20_Heading">Table Heading</text:p>+            </table:table-cell>+            <table:table-cell office:value-type="string">+              <text:p text:style-name="Table_20_Heading">Table Heading</text:p>+            </table:table-cell>+          </table:table-row>+        </table:table-header-rows>+        <table:table-row>+          <table:table-cell office:value-type="string">+            <text:p text:style-name="Table_20_Contents">Table Contents</text:p>+          </table:table-cell>+          <table:table-cell office:value-type="string">+            <text:p text:style-name="Table_20_Contents">Table Contents</text:p>+          </table:table-cell>+        </table:table-row>+      </table:table>+      <text:p text:style-name="FigureCaption">Image caption.</text:p>+      <text:p text:style-name="Definition_20_Term">Definition Term</text:p>+      <text:p text:style-name="Definition_20_Definition">Definition.</text:p>+    </office:text>+  </office:body>+</office:document-content>
data/odt/styles.xml view
@@ -73,6 +73,26 @@       style:font-size-complex="12pt" style:language-complex="zxx"       style:country-complex="none" />     </style:default-style>+    <style:style style:name="Title" style:family="paragraph"+      style:parent-style-name="Heading" style:next-style-name="Subtitle"+      style:class="chapter">+      <style:paragraph-properties fo:text-align="center"+        style:justify-single-word="false" fo:margin-top="0in"+        fo:margin-bottom="0.0835in" style:contextual-spacing="false" />+      <style:text-properties fo:font-size="28pt" fo:font-weight="bold"+        style:font-size-asian="28pt" style:font-weight-asian="bold"+        style:font-size-complex="28pt" style:font-weight-complex="bold" />+    </style:style>+    <style:style style:name="Subtitle" style:family="paragraph"+      style:parent-style-name="Heading" style:next-style-name="Text_20_body"+      style:class="chapter">+      <style:paragraph-properties fo:text-align="center"+        style:justify-single-word="false" fo:margin-top="0.0835in"+        fo:margin-bottom="0.0835in" style:contextual-spacing="false" />+      <style:text-properties fo:font-size="18pt" fo:font-style="italic"+        style:font-size-asian="18pt" style:font-style-asian="italic"+        style:font-size-complex="18pt" style:font-style-complex="italic" />+    </style:style>     <style:style style:name="Author" style:family="paragraph"       style:parent-style-name="Standard" style:class="html">         <style:paragraph-properties fo:text-align="center" />@@ -135,6 +155,24 @@     <style:style style:name="List" style:family="paragraph"     style:parent-style-name="Text_20_body" style:class="list">       <style:text-properties style:font-name-complex="Tahoma1" />+    </style:style>+    <style:style style:name="List_20_Bullet"+    style:display-name="List Bullet" style:family="paragraph"+    style:parent-style-name="List" style:class="list" />+    <style:style style:name="List_20_Bullet_20_Tight"+    style:display-name="List Bullet Tight" style:family="paragraph"+    style:parent-style-name="List" style:class="list">+      <style:paragraph-properties fo:margin-top="0in"+      fo:margin-bottom="0in" style:contextual-spacing="false" />+    </style:style>+    <style:style style:name="List_20_Number"+    style:display-name="List Number" style:family="paragraph"+    style:parent-style-name="List" style:class="list" />+    <style:style style:name="List_20_Number_20_Tight"+    style:display-name="List Number Tight" style:family="paragraph"+    style:parent-style-name="List" style:class="list">+      <style:paragraph-properties fo:margin-top="0in"+      fo:margin-bottom="0in" style:contextual-spacing="false" />     </style:style>     <style:style style:name="Caption" style:family="paragraph"     style:parent-style-name="Standard" style:class="extra">
data/templates/default.epub2 view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">-<html xmlns="http://www.w3.org/1999/xhtml"$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$>+<html xmlns="http://www.w3.org/1999/xhtml"$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$> <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <meta http-equiv="Content-Style-Type" content="text/css" />
data/templates/default.epub3 view
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html>-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops"$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$>+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops"$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$> <head>   <meta charset="utf-8" />   <meta name="generator" content="pandoc" />
data/templates/default.html4 view
@@ -3,7 +3,7 @@ <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <meta http-equiv="Content-Style-Type" content="text/css" />-  <meta name="generator" content="pandoc" />+  <meta name="generator" content="pandoc $pandoc-version$" /> $for(author-meta)$   <meta name="author" content="$author-meta$" /> $endfor$
data/templates/default.html5 view
@@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml"$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$> <head>   <meta charset="utf-8" />-  <meta name="generator" content="pandoc" />+  <meta name="generator" content="pandoc $pandoc-version$" />   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> $for(author-meta)$   <meta name="author" content="$author-meta$" />
data/templates/hypersetup.latex view
@@ -1,3 +1,7 @@+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{ $if(title-meta)$   pdftitle={$title-meta$},
data/templates/styles.html view
@@ -185,8 +185,12 @@ } $endif$ span.smallcaps{font-variant: small-caps;}-div.columns{display: flex; gap: min(4vw, 1.5em);}-div.column{flex: auto; overflow-x: auto;}+div.columns{display: flex; gap: 1.5em;}+div.column{flex: auto;}+@media screen {+div.columns{gap: min(4vw, 1.5em);}+div.column{overflow-x: auto;}+} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} /* The extra [class] is a hack that increases specificity enough to    override a similar rule in reveal.js */
pandoc.cabal view
@@ -1,6 +1,6 @@ cabal-version:   2.4 name:            pandoc-version:         3.9.0.2+version:         3.10 build-type:      Simple license:         GPL-2.0-or-later license-file:    COPYING.md@@ -511,7 +511,7 @@   build-depends: xml-light,                  Glob                  >= 0.7      && < 0.11,                  JuicyPixels           >= 3.1.6.1  && < 3.4,-                 aeson                 >= 2.0.1.0  && < 2.3,+                 aeson                 >= 2.0.1.0  && < 2.4,                  aeson-pretty          >= 0.8.9    && < 0.9,                  array                 >= 0.5      && < 0.6,                  attoparsec            >= 0.12     && < 0.15,@@ -521,10 +521,10 @@                  blaze-markup          >= 0.8      && < 0.9,                  bytestring            >= 0.9      && < 0.13,                  case-insensitive      >= 1.2      && < 1.3,-                 citeproc              >= 0.13     && < 0.14,-                 commonmark            >= 0.2.6.1  && < 0.3,-                 commonmark-extensions >= 0.2.6    && < 0.3,-                 commonmark-pandoc     >= 0.2.3    && < 0.3,+                 citeproc              >= 0.13.0.1 && < 0.14,+                 commonmark            >= 0.3      && < 0.4,+                 commonmark-extensions >= 0.2.7    && < 0.3,+                 commonmark-pandoc     >= 0.3      && < 0.4,                  containers            >= 0.6.0.1  && < 0.9,                  crypton               >= 0.30     && < 1.2,                  data-default          >= 0.4      && < 0.9,@@ -558,10 +558,10 @@                  syb                   >= 0.1      && < 0.8,                  tagsoup               >= 0.14.6   && < 0.15,                  temporary             >= 1.1      && < 1.4,-                 texmath               >= 0.13.1.1 && < 0.14,+                 texmath               >= 0.13.1.2 && < 0.14,                  text                  >= 1.1.1.0  && < 2.2,                  text-conversions      >= 0.3      && < 0.4,-                 time                  >= 1.5      && < 1.16,+                 time                  >= 1.5      && < 1.17,                  unicode-collation     >= 0.1.1    && < 0.2,                  unicode-data          >= 0.6      && < 0.9,                  unicode-transforms    >= 0.3      && < 0.5,@@ -570,10 +570,10 @@                  zip-archive           >= 0.4.3.1  && < 0.5,                  zlib                  >= 0.5      && < 0.8,                  xml                   >= 1.3.12   && < 1.4,-                 typst                 >= 0.9.0.1  && < 0.10,+                 typst                 >= 0.10     && < 0.11,                  vector                >= 0.12     && < 0.14,                  djot                  >= 0.1.4    && < 0.2,-                 asciidoc              >= 0.1.0.2  && < 0.2+                 asciidoc              >= 0.1.0.3  && < 0.2    if !os(windows)     build-depends:  unix >= 2.4 && < 2.9@@ -588,7 +588,7 @@                  http-client           >= 0.4.30   && < 0.8,                  http-client-tls       >= 0.2.4    && < 0.5,                  network               >= 2.6      && < 3.3,-                 tls                   >= 2.0.1    && < 2.4+                 tls                   >= 2.0.1    && < 2.5   hs-source-dirs:  src    exposed-modules: Text.Pandoc,@@ -853,7 +853,7 @@                   tasty-quickcheck  >= 0.8     && < 0.12,                   text              >= 1.1.1.0 && < 2.2,                   temporary         >= 1.1     && < 1.4,-                  time              >= 1.5     && < 1.16,+                  time              >= 1.5     && < 1.17,                   xml               >= 1.3.12  && < 1.4,                   zip-archive       >= 0.4.3   && < 0.5   other-modules:  Tests.Old
src/Text/Pandoc/App.hs view
@@ -50,6 +50,7 @@ import System.FilePath ( takeBaseName, takeExtension, takeDirectory) import System.IO (nativeNewline, stdout) import qualified System.IO as IO (Newline (..))+import Data.Version (showVersion) import Text.Pandoc import Text.Pandoc.Builder (setMeta) import Text.Pandoc.MediaBag (mediaItems)@@ -237,6 +238,7 @@         , readerAbbreviations = abbrevs         , readerExtensions = readerExts         , readerStripComments = optStripComments opts+        , readerTypstInputs = optTypstInputs opts         }    metadataFromFile <- getMetadataFromFiles readerNameBase readerOpts@@ -357,6 +359,7 @@   setOutputFile (optOutputFile opts)   setNoCheckCertificate (optNoCheckCertificate opts) +  setRequestHeader "User-Agent" ("pandoc/" <> T.pack (showVersion pandocVersion))   mapM_ (uncurry setRequestHeader) (optRequestHeaders opts)    case lookupMetaString "lang" (optMetadata opts) of
src/Text/Pandoc/App/CommandLineOptions.hs view
@@ -199,7 +199,8 @@     VersionInfo -> versionInfo [] Nothing ""     Help -> do       prg <- getProgName-      UTF8.hPutStr stdout (T.pack $ usageMessage prg options)+      mapM_ (UTF8.hPutStrLn stdout . T.stripEnd . T.pack) $+        lines $ usageMessage prg options     OptError e -> E.throwIO e   exitSuccess @@ -219,8 +220,8 @@           map ("html5",) htmlEngines ++           map ("latex",) latexEngines ++           map ("beamer",) latexEngines ++-          [ ("ms", "pdfroff")-          , ("ms", "groff")+          [ ("ms", "groff")+          , ("ms", "pdfroff")           , ("typst", "typst")           , ("context", "context")           ]@@ -303,7 +304,7 @@                      let (key, val) = splitField arg                      return opt{ optMetadata = addMeta key val $                                                  optMetadata opt })-                  "KEY[:VALUE]")+                  "KEY[=VALUE]")                  ""      , Option "" ["metadata-file"]@@ -345,7 +346,7 @@                   "true|false")                  "" -    , Option "s" ["standalone"]+     , Option "s" ["standalone"]                  (OptArg                   (\arg opt -> do                         boolValue <- readBoolFromOptArg "--standalone/-s" arg@@ -367,7 +368,7 @@                      return opt{ optVariables =                                   setVariable (T.pack key) (T.pack val) $                                     optVariables opt })-                  "KEY[:VALUE]")+                  "KEY[=VALUE]")                  ""      , Option "" ["variable-json"]@@ -663,7 +664,7 @@                      let (key, val) = splitField arg                      return opt{ optRequestHeaders =                        (T.pack key, T.pack val) : optRequestHeaders opt })-                  "NAME:VALUE")+                  "NAME=VALUE")                  ""      , Option "" ["no-check-certificate"]@@ -680,6 +681,14 @@                                             Just $ normalizePath arg })                 "FILE")                 "" -- "Specify file for custom abbreviations"++    , Option "" ["typst-input"]+                 (ReqArg+                  (\arg opt -> do+                     let (key, val) = splitField arg+                     return opt{ optTypstInputs = (T.pack key, T.pack val) : optTypstInputs opt })+                  "KEY=VALUE")+                 ""      , Option "" ["indented-code-classes"]                   (ReqArg
src/Text/Pandoc/App/Opt.hs view
@@ -184,6 +184,7 @@     , optBibliography          :: [FilePath]  -- ^ Bibliography files     , optCitationAbbreviations :: Maybe FilePath -- ^ Citation abbreviations     , optSandbox               :: Bool+    , optTypstInputs           :: [(Text, Text)] -- ^ List of parameter values for typst     } deriving (Generic, Show)  instance FromJSON Opt where@@ -271,6 +272,7 @@        <*> o .:? "bibliography" .!= optBibliography defaultOpts        <*> o .:? "citation-abbreviations"        <*> o .:? "sandbox" .!= optSandbox defaultOpts+       <*> o .:? "typst-inputs" .!= optTypstInputs defaultOpts  instance ToJSON Opt where  toJSON = genericToJSON defaultOptions{@@ -848,6 +850,7 @@     , optBibliography          = []     , optCitationAbbreviations = Nothing     , optSandbox               = False+    , optTypstInputs           = []     }  yamlToMeta :: Value -> Parser Meta
src/Text/Pandoc/Citeproc/BibTeX.hs view
@@ -188,6 +188,7 @@            , "annote"            , "url" -- not officially supported, but supported by                    -- some styles (#8287)+           , "doi"            ]    valToInlines (TextVal t) = B.text t@@ -476,12 +477,12 @@     subtitle' <- (guard isPeriodical >> getTitle "issuesubtitle")                   <|> (guard hasMaintitle >>                        guard (not isChapterlike) >>-                       getTitle "mainsubtitle")+                       getTitle "mainsubtitle" <|> return mempty)                   <|> getTitle "subtitle"                   <|> return mempty     titleaddon' <- (guard hasMaintitle >>                      guard (not isChapterlike) >>-                     getTitle "maintitleaddon")+                     getTitle "maintitleaddon" <|> return mempty)                     <|> getTitle "titleaddon"                     <|> return mempty @@ -1209,7 +1210,7 @@              | otherwise         -> "article-journal"            "book"                -> "book"            "booklet"             -> "pamphlet"-           "bookinbook"          -> "chapter"+           "bookinbook"          -> "book"            "collection"          -> "book"            "dataset"             -> "dataset"            "electronic"          -> "webpage"
src/Text/Pandoc/Error.hs view
@@ -86,40 +86,41 @@     PandocSyntaxMapError s -> s     PandocFailOnWarningError -> "Failing because there were warnings."     PandocPDFProgramNotFoundError pdfprog ->-        pdfprog <> " not found. Please select a different --pdf-engine or install " <> pdfprog+        quote pdfprog <> " not found. Please select a different --pdf-engine or install "+        <> quote pdfprog     PandocPDFError logmsg -> "Error producing PDF.\n" <> logmsg     PandocXMLError fp logmsg -> "Invalid XML" <>-        (if T.null fp then "" else " in " <> fp) <> ":\n" <> logmsg+        (if T.null fp then "" else " in " <> quote fp) <> ":\n" <> logmsg     PandocFilterError filtername msg -> "Error running filter " <>-        filtername <> ":\n" <> msg+        quote filtername <> ":\n" <> msg     PandocLuaError msg -> "Error running Lua:\n" <> msg     PandocNoScriptingEngine -> "This version of pandoc has been compiled " <>                                "without Lua support."     PandocCouldNotFindDataFileError fn ->-        "Could not find data file " <> fn+        "Could not find data file " <> quote fn     PandocCouldNotFindMetadataFileError fn ->-        "Could not find metadata file " <> fn+        "Could not find metadata file " <> quote fn     PandocResourceNotFound fn ->-        "File " <> fn <> " not found in resource path"-    PandocTemplateError s -> "Error compiling template " <> s-    PandocNoTemplateError fp -> "No template defined in " <> fp+        "File " <> quote fn <> " not found in resource path"+    PandocTemplateError s -> "Error compiling template " <> quote s+    PandocNoTemplateError fp -> "No template defined in " <> quote fp     PandocAppError s -> s     PandocEpubSubdirectoryError s ->-      "EPUB subdirectory name '" <> s <> "' contains illegal characters"+      "EPUB subdirectory name " <> quote s <> " contains illegal characters"     PandocMacroLoop s ->       "Loop encountered in expanding macro " <> s     PandocUTF8DecodingError f offset w ->-      "UTF-8 decoding error in " <> f <> " at byte offset " <> tshow offset <>-      " (" <> T.pack (printf "%2x" w) <> ").\n" <>-      "The input must be a UTF-8 encoded text."+      "UTF-8 decoding error in " <> quote f <> " at byte offset "+       <> tshow offset <> " (" <> T.pack (printf "%2x" w) <> ").\n"+       <> "The input must be a UTF-8 encoded text."     PandocIpynbDecodingError w ->       "ipynb decoding error: " <> w     PandocUnsupportedCharsetError charset ->-      "Unsupported charset " <> charset+      "Unsupported charset " <> quote charset     PandocFormatError format s ->-      "Error parsing format " <> tshow format <> ": " <> s+      "Error parsing format " <> quote format <> ": " <> s     PandocUnknownReaderError r ->-      "Unknown input format " <> r <>+      "Unknown input format " <> quote r <>       case r of         "doc" -> "\nPandoc can convert from DOCX, but not from DOC." <>                  "\nTry using Word to save your DOC file as DOCX," <>@@ -127,7 +128,7 @@         "pdf" -> "\nPandoc can convert to PDF, but not from PDF."         _     -> ""     PandocUnknownWriterError w ->-       "Unknown output format " <> w <>+       "Unknown output format " <> quote w <>        case w of          "pdf" -> "To create a pdf using pandoc, use" <>                   " -t latex|beamer|context|ms|html5|typst" <>@@ -136,28 +137,32 @@          "doc" -> "\nPandoc can convert to DOCX, but not to DOC."          _     -> ""     PandocUnsupportedExtensionError ext f ->-      "The extension " <> ext <> " is not supported " <>+      "The extension " <> quote ext <> " is not supported " <>       "for " <> f <> ".\nUse --list-extensions=" <> f <> " to " <>       "list supported extensions."     PandocCiteprocError e' ->       prettyCiteprocError e'     PandocBibliographyError fp msg ->-      "Error reading bibliography file " <> fp <> ":\n" <> msg+      "Error reading bibliography file " <> quote fp <> ":\n" <> msg     PandocInputNotTextError fp ->       "Expected text as an input, but received binary data from " <>       (if T.null fp         then "stdin"-        else "file " <> fp) <>+        else "file " <> quote fp) <>       ".\nIf you intended to convert from binary format, verify that it's " <>       "supported and use\nexplicit -f FORMAT." +quote :: Text -> Text+quote s = "'" <> s <> "'"  -- | Handle PandocError by exiting with an error message. handleError :: Either PandocError a -> IO a handleError (Right r) = return r handleError (Left e) =   case e of-    PandocIOError _ err' -> ioError err'+    PandocIOError _ err' -> do+      putStrLn $ displayException err'+      exitWith (ExitFailure 1)     _ -> err exitCode (renderError e)  where   exitCode =
src/Text/Pandoc/Extensions.hs view
@@ -664,4 +664,5 @@     [ Ext_smart ]   getAll "typst"           = extensionsFromList [Ext_citations, Ext_smart]   getAll "djot"            = extensionsFromList [Ext_sourcepos]+  getAll "man"             = autoIdExtensions   getAll _                 = mempty
src/Text/Pandoc/Options.hs view
@@ -74,6 +74,7 @@        , readerTrackChanges          :: TrackChanges -- ^ Track changes setting for docx        , readerStripComments         :: Bool -- ^ Strip HTML comments instead of parsing as raw HTML                                              -- (only implemented in commonmark)+       , readerTypstInputs           :: [(Text, Text)] -- ^ parameters specified using --typst-input } deriving (Show, Read, Data, Typeable, Generic)  instance HasSyntaxExtensions ReaderOptions where@@ -90,6 +91,7 @@                , readerDefaultImageExtension = ""                , readerTrackChanges          = AcceptChanges                , readerStripComments         = False+               , readerTypstInputs           = []                }  defaultAbbrevs :: Set.Set Text@@ -442,7 +444,7 @@ isEnabled ext opts = ext `extensionEnabled` getExtensions opts  defaultMathJaxURL :: Text-defaultMathJaxURL = "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js"+defaultMathJaxURL = "https://cdn.jsdelivr.net/npm/mathjax@4/tex-chtml.js"  defaultWebTeXURL :: Text defaultWebTeXURL = "https://latex.codecogs.com/png.latex?"
src/Text/Pandoc/Parsing/General.hs view
@@ -284,7 +284,7 @@                => (Char -> Char -> Bool) -> [Text] -> ParsecT s st m Text oneOfStrings' _ [] = Prelude.fail "no strings to match" oneOfStrings' matches strs =-  TL.toStrict . TB.toLazyText <$> try (go (TB.fromText mempty) strs)+  TL.toStrict . TB.toLazyText <$> try (go mempty strs)  where    go acc strs' = do      c <- anyChar@@ -400,15 +400,13 @@ -- | Parse string, case insensitive. stringAnyCase :: (Stream s m Char, UpdateSourcePos s Char)               => Text -> ParsecT s st m Text-stringAnyCase = fmap T.pack . stringAnyCase' . T.unpack--stringAnyCase' :: (Stream s m Char, UpdateSourcePos s Char)-               => String -> ParsecT s st m String-stringAnyCase' [] = string ""-stringAnyCase' (x:xs) = do-  firstChar <- char (toUpper x) <|> char (toLower x)-  rest <- stringAnyCase' xs-  return (firstChar:rest)+stringAnyCase t = TL.toStrict . TB.toLazyText <$> go (T.unpack t)+  where+    go [] = string "" $> mempty+    go (x:xs) = do+      c <- char (toUpper x) <|> char (toLower x)+      rest <- go xs+      pure $ TB.singleton c <> rest  -- TODO rewrite by just adding to Sources stream? -- | Parse contents of 'str' using 'parser' and return result.@@ -484,8 +482,10 @@                               xs <- many (satisfy isEmailChar)                               return (x:xs)        isEmailChar c     = isAlphaNum c || isEmailPunct c-       isEmailPunct c    = T.any (== c) "!\"#$%&'*+-/=?^_{|}~;"+       isEmailPunct c    = c `Set.member` emailPunctChars +emailPunctChars :: Set.Set Char+emailPunctChars = Set.fromList "!\"#$%&'*+-/=?^_{|}~;"  uriScheme :: (Stream s m Char, UpdateSourcePos s Char) => ParsecT s st m Text uriScheme = oneOfStringsCI (Set.toList schemes)@@ -532,7 +532,7 @@            <|> entity            <|> try (punct <* lookAhead (void wordChar <|> void percentEscaped))     uriChunkBetween l r = try $ do chunk <- between (char l) (char r) uriChunk-                                   return (T.pack $ [l] ++ chunk ++ [r])+                                   return $ T.singleton l <> T.pack chunk <> T.singleton r  -- | Applies a parser, returns tuple of its results and its horizontal -- displacement (the difference between the source column at the end@@ -688,7 +688,7 @@   where     ident' = fromMaybe ident (lookup "id" kvs)     cls'   = maybe cls T.words $ lookup "class" kvs-    kvs'   = filter (\(k,_) -> k /= "id" || k /= "class") kvs+    kvs'   = filter (\(k,_) -> k /= "id" && k /= "class") kvs  insertIncludedFile :: (PandocMonad m, HasIncludeFiles st)                    => ParsecT a st m b -- ^ parser to apply@@ -755,8 +755,9 @@       ((pos,txt):_) ->         let ls = T.lines txt <> [""]             ln = (errLine - sourceLine pos) + 1-         in if length ls > ln && ln >= 1-               then T.concat ["\n", ls !! (ln - 1)-                             ,"\n", T.replicate (errColumn - 1) " "-                             ,"^"]-               else ""+         in case drop (ln - 1) ls of+               (l:_) | ln >= 1 ->+                 T.concat ["\n", l+                          ,"\n", T.replicate (errColumn - 1) " "+                          ,"^"]+               _ -> ""
src/Text/Pandoc/Parsing/Lists.hs view
@@ -113,7 +113,7 @@            => ParsecT s ParserState m (ListNumberStyle, Int) exampleNum = do   char '@'-  lab <- mconcat . map T.pack <$>+  lab <- T.pack . concat <$>                     many (many1 alphaNum <|>                           try (do c <- char '_' <|> char '-'                                   cs <- many1 alphaNum
src/Text/Pandoc/Parsing/Math.hs view
@@ -28,6 +28,8 @@   (UpdateSourcePos, anyChar, char, digit, newline, satisfy, space, string)  import qualified Data.Text as T+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Builder as TB  mathInlineWith :: (Stream s m Char, UpdateSourcePos s Char)  => Text -> Text -> ParsecT s st m Text mathInlineWith op cl = try $ do@@ -48,25 +50,32 @@   notFollowedBy digit  -- to prevent capture of $5   return $ trimMath $ T.concat words'  where-  inBalancedBraces :: (Stream s m Char, UpdateSourcePos s Char) => Int -> Text -> ParsecT s st m Text-  inBalancedBraces n = fmap T.pack . inBalancedBraces' n . T.unpack+  inBalancedBraces :: (Stream s m Char, UpdateSourcePos s Char)+                   => Int -> Text -> ParsecT s st m Text+  inBalancedBraces n t =+    TL.toStrict . TB.toLazyText <$>+      go n False (TB.fromText t) (not (T.null t)) -  inBalancedBraces' :: (Stream s m Char, UpdateSourcePos s Char) => Int -> String -> ParsecT s st m String-  inBalancedBraces' 0 "" = do+  -- go depth lastWasBackslash accumulator started+  go :: (Stream s m Char, UpdateSourcePos s Char)+     => Int -> Bool -> TB.Builder -> Bool -> ParsecT s st m TB.Builder+  go 0 _ acc False = do     c <- anyChar     if c == '{'-       then inBalancedBraces' 1 "{"+       then go 1 False (acc <> TB.singleton '{') True        else mzero-  inBalancedBraces' 0 s = return $ reverse s-  inBalancedBraces' numOpen ('\\':xs) = do+  go 0 _ acc True = return acc+  go depth True acc _ = do     c <- anyChar-    inBalancedBraces' numOpen (c:'\\':xs)-  inBalancedBraces' numOpen xs = do+    go depth False (acc <> TB.singleton c) True+  go depth False acc _ = do     c <- anyChar+    let acc' = acc <> TB.singleton c     case c of-         '}' -> inBalancedBraces' (numOpen - 1) (c:xs)-         '{' -> inBalancedBraces' (numOpen + 1) (c:xs)-         _   -> inBalancedBraces' numOpen (c:xs)+         '\\' -> go depth True acc' True+         '}'  -> go (depth - 1) False acc' True+         '{'  -> go (depth + 1) False acc' True+         _    -> go depth False acc' True  mathDisplayWith :: (Stream s m Char, UpdateSourcePos s Char) => Text -> Text -> ParsecT s st m Text mathDisplayWith op cl = try $ fmap T.pack $ do
src/Text/Pandoc/Readers/Docx.hs view
@@ -83,7 +83,7 @@ import Data.Sequence (ViewL (..), viewl) import qualified Data.Sequence as Seq import qualified Data.Set as Set-import Citeproc (ItemId(..), Reference(..), CitationItem(..))+import Citeproc (ItemId(..), Val(TextVal,FancyVal), Reference(..), CitationItem(..)) import qualified Citeproc import Text.Pandoc.Builder as Pandoc import Text.Pandoc.MediaBag (MediaBag)@@ -536,8 +536,13 @@                => Citeproc.Citation T.Text                -> DocxContext m [Citation] handleCitation citation = do+  let getItemId item =+        case citationItemData item >>= M.lookup "citation-key" . referenceVariables of+          Just (TextVal k) -> ItemId k+          Just (FancyVal k) -> ItemId k+          _ -> citationItemId item   let toPandocCitation item =-        Citation{ citationId = unItemId (Citeproc.citationItemId item)+        Citation{ citationId = unItemId (getItemId item)                 , citationPrefix = maybe [] (toList . text) $                                      Citeproc.citationItemPrefix item                 , citationSuffix = (toList . text) $@@ -554,8 +559,7 @@   let refs = mapMaybe (\item -> fmap (\itemData -> text <$>                                         -- see #10366, sometimes itemData has a different                                         -- id and we need to use the same one:-                                        itemData{ referenceId =-                                                    Citeproc.citationItemId item })+                                        itemData{ referenceId = getItemId item })                                   (Citeproc.citationItemData item)) items   modify $ \st ->     st{ docxReferences = foldr
src/Text/Pandoc/Readers/Docx/Parse.hs view
@@ -67,7 +67,7 @@ import Control.Monad.Except import Control.Monad.Reader import Control.Monad.State.Strict-import Data.Bits ((.|.))+import Data.Bits ((.&.)) import qualified Data.ByteString.Lazy as B import Data.Char (chr, ord, readLitChar) import Data.List@@ -764,9 +764,12 @@     let cellElems = findChildrenByName ns "w" "tc" element     let beforeCells = genericReplicate (fromMaybe 0 gridBefore) emptyCell     cells <- mapD (elemToCell ns) cellElems-    let hasTblHeader = maybe NoTblHeader (const HasTblHeader)-          (properties-           >>= findChildByName ns "w" "tblHeader")+    let hasTblHeader =+          case (properties >>= findChildByName ns "w" "tblHeader") of+            Nothing -> NoTblHeader+            Just he -> case findAttrByName ns "w" "val" he of+              Just "0" -> NoTblHeader+              _ -> HasTblHeader     return $ Row hasTblHeader (beforeCells ++ cells) elemToRow _ _ = throwError WrongElem @@ -804,7 +807,7 @@ testBitMask bitMaskS n =   case (reads ("0x" ++ T.unpack bitMaskS) :: [(Int, String)]) of     []            -> False-    ((n', _) : _) -> (n' .|. n) /= 0+    ((n', _) : _) -> (n' .&. n) /= 0  pHeading :: ParagraphStyle -> Maybe (ParaStyleName, Int) pHeading = getParStyleField headingLev . pStyle@@ -1234,7 +1237,7 @@     (Just w, Just h) -> Just (w, h)     _                -> Nothing  where-  getDim at = filterElementName (\n -> qName n `elem` ["extent", "ext"]) el+  getDim at = filterElementName (\n -> qName n == "extent") el               >>= findAttr (QName at Nothing Nothing) >>= safeRead  
src/Text/Pandoc/Readers/HTML.hs view
@@ -35,7 +35,6 @@ import Data.List.Split (splitWhen) import qualified Data.List as L import qualified Data.Map as M-import Data.Maybe (fromMaybe, isJust, isNothing) import Data.Either (partitionEithers) import Data.Monoid (First (..)) import qualified Data.Set as Set@@ -70,6 +69,7 @@ import Text.Pandoc.Walk import Text.TeXMath (readMathML, writeTeX) import qualified Data.Sequence as Seq+import Data.Maybe (fromMaybe, isJust)  -- | Convert HTML-formatted string to 'Pandoc' document. readHtml :: (PandocMonad m, ToSources a)@@ -237,6 +237,7 @@           -> pLineBlock           | otherwise           -> pDiv+        "aside" -> pDiv         "section" -> pDiv         "header" -> pDiv         "main" -> pDiv@@ -489,6 +490,7 @@ isDivLike "section" = True isDivLike "header"  = True isDivLike "main"    = True+isDivLike "aside"   = True isDivLike _         = False  pDiv :: PandocMonad m => TagParser m Blocks@@ -502,12 +504,13 @@                         | hident == ident ->                           B.Many $ Header lev ("",hclasses,hkvs) ils Seq.<| rest                     _ -> contents-  let classes' = if tag == "section"-                    then "section":classes-                    else classes-      kvs' = if tag == "main" && isNothing (lookup "role" kvs)-               then ("role", "main"):kvs-               else kvs+  let (classes', kvs') =+        case tag of+          "section" -> ("section":classes, kvs)+          "aside" -> ("aside":classes, kvs)+          "header" -> ("header":classes, kvs)+          "main" | Nothing <- lookup "role" kvs -> (classes, ("role", "main"):kvs)+          _ -> (classes, kvs)   return $ B.divWith (ident, classes', kvs') contents'  pIframe :: PandocMonad m => TagParser m Blocks
src/Text/Pandoc/Readers/LaTeX.hs view
@@ -985,7 +985,7 @@    , ("address", mempty <$ (skipopts *> tok >>= addMeta "address"))    , ("signature", mempty <$ (skipopts *> authors))    , ("date", mempty <$ (skipopts *> tok >>= addMeta "date"))-   , ("newtheorem", newtheorem inline)+   , ("newtheorem", newtheorem)    , ("theoremstyle", theoremstyle)    -- KOMA-Script metadata commands    , ("extratitle", mempty <$ (skipopts *> tok >>= addMeta "extratitle"))@@ -1156,7 +1156,7 @@   name <- untokenize <$> braced   M.findWithDefault mzero name environments <|>     langEnvironment name <|>-    theoremEnvironment blocks opt name <|>+    theoremEnvironment blocks inlines opt name <|>     if M.member name (inlineEnvironments                        :: M.Map Text (LP PandocPure Inlines))        then mzero
src/Text/Pandoc/Readers/LaTeX/Math.hs view
@@ -135,14 +135,14 @@     Just sty -> updateState $ \s -> s{ sLastTheoremStyle = sty }   return mempty -newtheorem :: PandocMonad m => LP m Inlines -> LP m Blocks-newtheorem inline = do+newtheorem :: PandocMonad m => LP m Blocks+newtheorem = do   number <- option True (False <$ symbol '*' <* sp)   name <- untokenize <$> braced   sp   series <- option Nothing $ Just . untokenize <$> bracketedToks   sp-  showName <- tokWith inline+  showName <- braced <|> ((:[]) <$> anyTok)   sp   syncTo <- option Nothing $ Just . untokenize <$> bracketedToks   sty <- sLastTheoremStyle <$> getState@@ -168,8 +168,12 @@ extractLabelFromBlock _ = Nothing  theoremEnvironment :: PandocMonad m-                   => LP m Blocks -> LP m Inlines -> Text -> LP m Blocks-theoremEnvironment blocks opt name = do+                   => LP m Blocks+                   -> LP m Inlines+                   -> LP m Inlines+                   -> Text+                   -> LP m Blocks+theoremEnvironment blocks inlines opt name = do   resetCaption   tmap <- sTheoremMap <$> getState   case M.lookup name tmap of@@ -206,7 +210,8 @@                          PlainStyle      -> B.strong                          DefinitionStyle -> B.strong                          RemarkStyle     -> B.emph-       let title = titleEmph (theoremName tspec <> number)+       tname <- parseFromToks inlines (theoremName tspec)+       let title = titleEmph (tname <> number)                       <> optTitle <> "." <> space        return $ divWith (fromMaybe "" mblabel, [name], [])               $ addTitle title
src/Text/Pandoc/Readers/LaTeX/Parsing.hs view
@@ -141,7 +141,7 @@  data TheoremSpec =   TheoremSpec-    { theoremName    :: Inlines+    { theoremName    :: [Tok]     , theoremStyle   :: TheoremStyle     , theoremSeries  :: Maybe Text     , theoremSyncTo  :: Maybe Text
src/Text/Pandoc/Readers/LaTeX/Table.hs view
@@ -379,14 +379,6 @@                         ((_,classes,kvs), Just ident) ->                            (ident,classes,kvs)                         _ -> attr-          return $ addAttrDiv attr'-                 $ maybe id removeLabel mblabel-                 $ Table nullAttr capt spec th tb tf+          return $ maybe id removeLabel mblabel+                 $ Table attr' capt spec th tb tf         go x = return x---- TODO: For now we add a Div to contain table attributes, since--- most writers don't do anything yet with attributes on Table.--- This can be removed when that changes.-addAttrDiv :: Attr -> Block -> Block-addAttrDiv ("",[],[]) b = b-addAttrDiv attr b       = Div attr [b]
src/Text/Pandoc/Readers/Man.hs view
@@ -26,23 +26,40 @@ import Text.Pandoc.Class.PandocMonad (PandocMonad(..), report) import Text.Pandoc.Logging (LogMessage(..)) import Text.Pandoc.Options+import Text.Pandoc.Parsing.Capabilities import Text.Pandoc.Parsing import Text.Pandoc.Walk (query) import Text.Pandoc.Readers.Roff  -- TODO explicit imports import qualified Text.Pandoc.Parsing as P import qualified Data.Foldable as Foldable+import qualified Data.Set as Set import Text.Pandoc.Shared (extractSpaces)  data ManState = ManState { readerOptions   :: ReaderOptions+                         , manLogMessages  :: []LogMessage+                         , manIdentifiers  :: Set.Set T.Text                          , metadata        :: Meta                          , tableCellsPlain :: Bool                          } deriving Show  instance Default ManState where   def = ManState { readerOptions   = def+                 , manLogMessages  = []+                 , manIdentifiers  = Set.empty                  , metadata        = nullMeta                  , tableCellsPlain = True } +instance HasReaderOptions ManState where+  extractReaderOptions = readerOptions++instance HasLogMessages ManState where+  addLogMessage msg st = st{ manLogMessages = msg : manLogMessages st }+  getLogMessages st = reverse $ manLogMessages st++instance HasIdentifierList ManState where+  extractIdentifierList = manIdentifiers+  updateIdentifierList f st = st{ manIdentifiers = f $ manIdentifiers st }+ type ManParser m = P.ParsecT [RoffToken] ManState m  @@ -74,6 +91,7 @@   bs <- many parseBlock <* eof   meta <- metadata <$> getState   let (Pandoc _ blocks) = doc $ mconcat bs+  reportLogMessages   return $ Pandoc meta blocks  parseBlock :: PandocMonad m => ManParser m Blocks@@ -200,9 +218,11 @@   isEmptyLine _ = False  mmacro :: PandocMonad m => T.Text -> ManParser m RoffToken-mmacro mk = msatisfy isControlLine where-  isControlLine (ControlLine mk' _ _) | mk == mk' = True-                            | otherwise = False+mmacro mk = mmacroMatching (== mk)++mmacroMatching :: PandocMonad m => (T.Text -> Bool) -> ManParser m RoffToken+mmacroMatching f = msatisfy isControlLine where+  isControlLine (ControlLine mk _ _) = f mk   isControlLine _ = False  mmacroAny :: PandocMonad m => ManParser m RoffToken@@ -415,8 +435,10 @@                  else return $ mconcat $ intersperse B.space                              $ map linePartsToInlines args   let lvl = if name == "SH" then 1 else 2-  return $ header lvl contents+  attr <- registerHeader nullAttr contents +  return $ B.headerWith attr lvl contents+ parseBlockQuote :: PandocMonad m => ManParser m Blocks parseBlockQuote = blockQuote <$>    (  (mmacro "RS" *> (mconcat <$> manyTill parseBlock (endmacro "RE")))@@ -479,7 +501,12 @@ continuation :: PandocMonad m => ManParser m Blocks continuation =       (mmacro "RS" *> (mconcat <$> manyTill parseBlock (endmacro "RE")))-  <|> try ((memptyLine <|> bareIP) *> (parsePara <|> parseCodeBlock))+  <|> (bareIP *> parsePara)+  <|> (notFollowedBy (mmacroMatching+                      (`elem` ["TP","IP","LP","P","PP","HP",+                               "RE","RS","SH","SS","SV","YS","TH",+                               "TQ","YS","AT","DT","OP","PD","UC"]))+                                *> parseBlock)  definitionListItem :: PandocMonad m                    => ManParser m (Inlines, [Blocks])
src/Text/Pandoc/Readers/Markdown.hs view
@@ -43,7 +43,6 @@ import Text.Pandoc.Class.PandocMonad (PandocMonad (..), report) import Text.Pandoc.Definition as Pandoc import Text.Pandoc.Emoji (emojiToInline)-import Text.Pandoc.Error import Safe.Foldable (maximumBounded) import Text.Pandoc.Logging import Text.Pandoc.Options@@ -199,6 +198,7 @@ litCharNoSpace :: PandocMonad m => MarkdownParser m Text litCharNoSpace = T.singleton <$> escapedChar''        <|> characterReference+       <|> (snd <$> withRaw attributes)        <|> T.singleton <$> noneOf "\n \r\t"  where    escapedChar'' = do@@ -352,13 +352,9 @@ checkNotes = do   st <- getState   let notesUsed = stateNoteRefs st-  let notesDefined = M.keys (stateNotes' st)-  mapM_ (\n -> unless (n `Set.member` notesUsed) $-                case M.lookup n (stateNotes' st) of-                   Just (pos, _) -> report (NoteDefinedButNotUsed n pos)-                   Nothing -> throwError $-                     PandocShouldNeverHappenError "note not found")-         notesDefined+  forM_ (M.toList (stateNotes' st)) $ \(n, (pos, _)) ->+    unless (n `Set.member` notesUsed) $+      report (NoteDefinedButNotUsed n pos)   referenceKey :: PandocMonad m => MarkdownParser m (F Blocks)@@ -781,7 +777,7 @@   when (sourceColumn pos /= 1) $ Prelude.fail "Not in first column"   lns <- many1 $ birdTrackLine c   -- if (as is normal) there is always a space after >, drop it-  let lns' = if all (\ln -> T.null ln || T.take 1 ln == " ") lns+  let lns' = if all (\ln -> T.null ln || T.head ln == ' ') lns                 then map (T.drop 1) lns                 else lns   blanklines@@ -1167,7 +1163,7 @@                 many1 ((<>) <$> rawLaTeXBlock <*> spnl'))   return $ case B.toList result of                 [RawBlock _ cs]-                  | T.all (`elem` [' ','\t','\n']) cs -> return mempty+                  | T.all (\c -> c == ' ' || c == '\t' || c == '\n') cs -> return mempty                 -- don't create a raw block for suppressed macro defs                 _ -> return result @@ -1203,7 +1199,9 @@         return (return (B.rawBlock "html" $ stripMarkdownAttribute raw) <>                 contents <>                 return (B.rawBlock "html" rawcloser)))-      <|> return (return (B.rawBlock "html" raw) <> contents)+      <|> if T.all isSpace raw+             then return mempty+             else return (return (B.rawBlock "html" raw) <> contents)   updateState $ \st -> st{ stateInHtmlBlock = oldInHtmlBlock }   return result @@ -1405,7 +1403,20 @@ -- ending with a footer (dashed line followed by blank line). gridTable :: PandocMonad m           => MarkdownParser m (F TableComponents)-gridTable = gridTableWith' NormalizeHeader parseBlocks+gridTable = try $ do+  -- Like other block-level constructs, a grid table may be indented by+  -- up to three spaces.  The underlying grid-table parser expects the+  -- table to begin at the left margin, so strip a uniform indentation+  -- from every line before handing it off.+  indent <- T.length <$> lookAhead nonindentSpaces+  if indent == 0+     then gridTableWith' NormalizeHeader parseBlocks+     else do+       let gridLine = try $ count indent (char ' ')+                              *> lookAhead (oneOf "+|")+                              *> anyLineNewline+       rawTable <- T.concat <$> many1 gridLine+       parseFromString' (gridTableWith' NormalizeHeader parseBlocks) rawTable  pipeBreak :: PandocMonad m => MarkdownParser m ([Alignment], [Int]) pipeBreak = try $ do@@ -1607,7 +1618,7 @@   guardEnabled Ext_example_lists   try $ do     char '@'-    lab <- mconcat . map T.pack <$>+    lab <- T.pack . concat <$>                       many (many1 alphaNum <|>                             try (do c <- char '_' <|> char '-'                                     cs <- many1 alphaNum@@ -1886,7 +1897,7 @@           (before, after)             | titleAfter -> (T.drop 1 after, before)             | otherwise -> (before, T.drop 1 after)-    guard $ T.all (`notElem` ['\n','\r','\f','\t']) url+    guard $ T.all (\c -> c /= '\n' && c /= '\r' && c /= '\f' && c /= '\t') url     return . pure . constructor attr url "" $        B.text $ fromEntities title @@ -1931,7 +1942,7 @@  isSmallCapsFontVariant :: Text -> Bool isSmallCapsFontVariant s =-  T.toLower (T.filter (`notElem` [' ', '\t', ';']) s) ==+  T.toLower (T.filter (\c -> c /= ' ' && c /= '\t' && c /= ';') s) ==   "font-variant:small-caps"  regLink :: PandocMonad m@@ -2090,7 +2101,7 @@     char '^'     updateState $ \st -> st{ stateInNote = True                            , stateNoteNumber = stateNoteNumber st + 1 }-    contents <- inBalancedBrackets inlines+    contents <- withQuoteContext NoQuote $ inBalancedBrackets inlines     notFollowedBy (char '(' <|> char '[' <|> ('{' <$ attributes))       -- ^[link](foo)^ is superscript     updateState $ \st -> st{ stateInNote = False }@@ -2194,7 +2205,9 @@                              then (\x -> isInlineTag x &&                                          not (isCloseBlockTag x))                              else not . isTextTag-  return $ return $ B.rawInline "html" result+  return $ if T.all isSpace result+              then return mempty+              else return $ B.rawInline "html" result  -- Emoji 
src/Text/Pandoc/Readers/RTF.hs view
@@ -305,6 +305,26 @@             [] -> []             (x:xs) -> f x : xs } +-- | @\\plain@ resets character formatting to default values.  Unlike a+-- full reset to 'def', it must leave paragraph-level properties (such as+-- whether we are inside a table, the list level, or the outline level)+-- intact, as well as contextual properties like the current hyperlink or+-- anchor.  Resetting these caused tables to be parsed as deeply nested+-- structures when cell paragraphs used @\\plain@ after @\\intbl@.+resetCharProps :: Properties -> Properties+resetCharProps g =+  g{ gBold = False+   , gItalic = False+   , gCaps = False+   , gDeleted = False+   , gSub = False+   , gSuper = False+   , gSmallCaps = False+   , gUnderline = False+   , gFontFamily = Nothing+   , gHidden = False+   }+ addFormatting :: (Properties, Text) -> Inlines addFormatting (_, "\n") = B.linebreak addFormatting (props, _) | gHidden props = mempty@@ -546,9 +566,8 @@     ControlSymbol '~' -> bs <$ addText "\x00a0"     ControlSymbol '-' -> bs <$ addText "\x00ad"     ControlSymbol '_' -> bs <$ addText "\x2011"-    ControlWord "trowd" _ -> bs <$ do -- add new row-      updateState $ \s -> s{ sTableRows = TableRow [] : sTableRows s-                           , sCurrentCell = mempty }+    ControlWord "trowd" _ -> bs <$ beginTableRow -- begin new row+    ControlWord "row" _ -> bs <$ beginTableRow -- end current row     ControlWord "cell" _ -> bs <$ do       new <- emitBlocks mempty       curCell <- (<> new) . sCurrentCell <$> getState@@ -561,7 +580,7 @@     ControlWord "intbl" _ -> do       ls <- closeLists 0 -- see #11364       ((ls <>) <$> emitBlocks bs) <* modifyGroup (\g -> g{ gInTable = True })-    ControlWord "plain" _ -> bs <$ modifyGroup (const def)+    ControlWord "plain" _ -> bs <$ modifyGroup resetCharProps     ControlWord "lquote" _ -> bs <$ addText "\x2018"     ControlWord "rquote" _ -> bs <$ addText "\x2019"     ControlWord "ldblquote" _ -> bs <$ addText "\x201C"@@ -673,6 +692,19 @@           closeLists lvl     _ -> pure mempty +-- Begin a new table row.  Both @\\trowd@ (which sets row defaults) and+-- @\\row@ (which ends a row) start a fresh row to be filled by subsequent+-- @\\cell@s.  We only push a new empty row when the current one already has+-- cells, so that documents repeating @\\trowd@ after @\\row@ (or omitting+-- @\\trowd@ between rows) both produce the same flat structure.+beginTableRow :: PandocMonad m => RTFParser m ()+beginTableRow =+  updateState $ \s ->+    s{ sTableRows = case sTableRows s of+                      TableRow [] : _ -> sTableRows s+                      rs -> TableRow [] : rs+     , sCurrentCell = mempty }+ closeTable :: PandocMonad m => RTFParser m Blocks closeTable = do   rawrows <- sTableRows <$> getState@@ -680,10 +712,13 @@      then return mempty      else do        let getCells (TableRow cs) = reverse cs-       let rows = map getCells . reverse $ rawrows+       -- drop empty rows produced by row terminators+       let rows = filter (not . null) . map getCells . reverse $ rawrows        updateState $ \s -> s{ sCurrentCell = mempty                             , sTableRows = [] }-       return $ B.simpleTable [] rows+       if null rows+          then return mempty+          else return $ B.simpleTable [] rows  closeContainers :: PandocMonad m => RTFParser m Blocks closeContainers = do
src/Text/Pandoc/Readers/Roff.hs view
@@ -268,7 +268,8 @@     manyTill anyChar (try (string "T}"))   simpleCell = do     tabChar <- tableTabChar <$> getState-    many (notFollowedBy (char tabChar <|> newline) >> anyChar)+    many $ (char '\\' >> anyChar)+       <|> (notFollowedBy (char tabChar <|> newline) >> anyChar)  tableRow :: PandocMonad m => RoffLexer m [RoffTokens] tableRow = do
src/Text/Pandoc/Readers/Typst.hs view
@@ -60,7 +60,7 @@ -- | Read Typst from an input string and return a Pandoc document. readTypst :: (PandocMonad m, ToSources a)            => ReaderOptions -> a -> m Pandoc-readTypst _opts inp = do+readTypst opts inp = do   let sources = toSources inp   let inputName = case sources of         Sources ((pos, _):_) -> sourceName pos@@ -73,7 +73,7 @@                   currentUTCTime = getCurrentTime,                   lookupEnvVar = fmap (fmap T.unpack) . lookupEnv . T.pack,                   checkExistence = fileExists }-      res <- evaluateTypst ops inputName parsed+      res <- evaluateTypst ops (readerTypstInputs opts) inputName parsed       case res of         Left e -> throwError $ PandocParseError $ tshow e         Right content -> do@@ -142,8 +142,9 @@   | Just (VContent elts) <- M.lookup "body" fields   = let elts' = fmap fixNesting elts         fields' = M.insert "body" (VContent elts') fields-        in if isInline el-              then case getField "body" fields' of+        in if isBlock el+              then Elt name pos fields'+              else case getField "body" fields' of                         Just ([el'@(Elt name' pos' fields'')] :: Seq Content)                           | isBlock el'                           , not (isInline el')@@ -154,7 +155,6 @@                                                   (Elt name pos fields'')))                                         fields'                         _ -> Elt name pos fields'-              else Elt name pos fields' fixNesting x = x  pPandoc :: PandocMonad m => P m B.Pandoc@@ -422,6 +422,12 @@                    _ -> Just . B.text <$> lift (translateTerm References)       let hdr = maybe mempty (B.header 1) mbTitle       pure $ hdr <> B.divWith ("refs", [], []) mempty)+  ,("rotate", \_ _ fields -> do+      body <- getField "body" fields >>= pWithContents pBlocks+      let kvs = case M.lookup "angle" fields of+                    Just (VAngle ang) -> [("angle", T.pack $ show ang)]+                    _ -> []+      pure $ B.divWith ("", ["rotate"], kvs) body)   ]  inlineHandlers :: PandocMonad m =>@@ -568,6 +574,12 @@   ,("block", \_ mbident fields ->       maybe id (\ident -> B.spanWith (ident, [], [])) mbident         <$> (getField "body" fields >>= pWithContents pInlines))+  ,("rotate", \_ _ fields -> do+      body <- getField "body" fields >>= pWithContents pInlines+      let kvs = case M.lookup "angle" fields of+                    Just (VAngle ang) -> [("angle", T.pack $ show ang)]+                    _ -> []+      pure $ B.spanWith ("", ["rotate"], kvs) body)   ]  getInlineBody :: PandocMonad m => M.Map Identifier Val -> P m (Seq Content)
src/Text/Pandoc/Shared.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE BangPatterns          #-} {-# LANGUAGE CPP                   #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -140,23 +141,27 @@ -- /not/ indices but text widths, which will be different for East Asian -- characters, emojis, etc. splitTextByIndices :: [Int] -> T.Text -> [T.Text]-splitTextByIndices ns = splitTextByRelIndices (zipWith (-) ns (0:ns)) . T.unpack+splitTextByIndices ns = splitByRelWidths (zipWith (-) ns (0:ns))  where-  splitTextByRelIndices [] cs = [T.pack cs]-  splitTextByRelIndices (x:xs) cs =-    let (first, rest) = splitAt' x cs-     in T.pack first : splitTextByRelIndices xs rest+  splitByRelWidths [] t = [t]+  splitByRelWidths (w:ws) t =+    let (first, rest) = splitAtWidth w t+     in first : splitByRelWidths ws rest --- | Returns a pair whose first element is a prefix of @t@ and that has--- width @n@, and whose second is the remainder of the string.+-- | Split a @Text@ at a given display width, where width is determined+-- by 'charWidth' (East Asian characters, emojis, etc. count as 2). -- -- Note: Do *not* replace this with 'T.splitAt', which is not sensitive -- to character widths!-splitAt' :: Int {-^ n -} -> [Char] {-^ t -} -> ([Char],[Char])-splitAt' _ []          = ([],[])-splitAt' n xs | n <= 0 = ([],xs)-splitAt' n (x:xs)      = (x:ys,zs)-  where (ys,zs) = splitAt' (n - charWidth x) xs+splitAtWidth :: Int -> T.Text -> (T.Text, T.Text)+splitAtWidth n t+  | n <= 0    = (T.empty, t)+  | otherwise = T.splitAt (go 0 0 t) t+  where+    go !idx !w t'+      | w >= n    = idx+      | T.null t' = idx+      | otherwise = go (idx + 1) (w + charWidth (T.head t')) (T.tail t')  -- -- Text processing@@ -237,20 +242,23 @@ toRomanNumeral :: Int -> T.Text toRomanNumeral x   | x >= 4000 || x < 0 = "?"-  | x >= 1000 = "M" <> toRomanNumeral (x - 1000)-  | x >= 900  = "CM" <> toRomanNumeral (x - 900)-  | x >= 500  = "D" <> toRomanNumeral (x - 500)-  | x >= 400  = "CD" <> toRomanNumeral (x - 400)-  | x >= 100  = "C" <> toRomanNumeral (x - 100)-  | x >= 90   = "XC" <> toRomanNumeral (x - 90)-  | x >= 50   = "L"  <> toRomanNumeral (x - 50)-  | x >= 40   = "XL" <> toRomanNumeral (x - 40)-  | x >= 10   = "X" <> toRomanNumeral (x - 10)-  | x == 9    = "IX"-  | x >= 5    = "V" <> toRomanNumeral (x - 5)-  | x == 4    = "IV"-  | x >= 1    = "I" <> toRomanNumeral (x - 1)-  | otherwise = ""+  | otherwise = T.pack (go x)+  where+    go n+      | n >= 1000 = 'M'       : go (n - 1000)+      | n >= 900  = 'C' : 'M' : go (n - 900)+      | n >= 500  = 'D'       : go (n - 500)+      | n >= 400  = 'C' : 'D' : go (n - 400)+      | n >= 100  = 'C'       : go (n - 100)+      | n >= 90   = 'X' : 'C' : go (n - 90)+      | n >= 50   = 'L'       : go (n - 50)+      | n >= 40   = 'X' : 'L' : go (n - 40)+      | n >= 10   = 'X'       : go (n - 10)+      | n == 9    = "IX"+      | n >= 5    = 'V'       : go (n - 5)+      | n == 4    = "IV"+      | n >= 1    = 'I'       : go (n - 1)+      | otherwise = []  -- | Convert tabs to spaces. Tabs will be preserved if tab stop is set to 0. tabFilter :: Int       -- ^ Tab stop@@ -263,7 +271,7 @@          in  if T.null s2                 then s1                 else s1 <> T.replicate-                       (tabStop - (T.length s1 `mod` tabStop)) (T.pack " ")+                       (tabStop - (T.length s1 `mod` tabStop)) " "                        <> go (T.drop 1 s2)  --@@ -409,9 +417,9 @@   let (others, final) = (init items, last items)   in  case reverse (B.toList final) of            (Para a:xs)-             | null [Para x | Para x <- xs ++ concatMap B.toList others]+             | not (any isPara xs || any (any isPara . B.toList) others)              -> others ++ [B.fromList (reverse (Plain a : xs))]-           _ | null [Para x | Para x <- concatMap B.toList items]+           _ | not (any (any isPara . B.toList) items)              -> items            _ -> map (fmap plainToPara) items @@ -727,11 +735,12 @@ -- | Render HTML tags. renderTags' :: [Tag T.Text] -> T.Text renderTags' = renderTagsOptions-               renderOptions{ optMinimize = matchTags ["hr", "br", "img",-                                                       "meta", "link", "col",-                                                       "use", "path", "rect"]-                            , optRawTag   = matchTags ["script", "style"] }-              where matchTags tags = flip elem tags . T.toLower+               renderOptions{ optMinimize = \t -> T.toLower t `Set.member` minimizeTags+                            , optRawTag   = \t -> T.toLower t `Set.member` rawTags }+  where+    minimizeTags = Set.fromList ["hr","br","img","meta","link","col",+                                 "use","path","rect"]+    rawTags = Set.fromList ["script","style"]  -- -- File handling
src/Text/Pandoc/Translations.hs view
@@ -23,7 +23,7 @@ import Text.Pandoc.Class (PandocMonad(..), toTextM, report) import Text.Pandoc.Class.CommonState (CommonState(..)) import Text.Pandoc.Data (readDataFile)-import Text.Pandoc.Error (PandocError(..))+import Data.Containers.ListUtils (nubOrd) import Text.Pandoc.Logging (LogMessage(..)) import Control.Monad.Except (catchError) import qualified Data.Text as T@@ -56,34 +56,29 @@        Nothing -> return mempty  -- no language defined        Just (_, Just t) -> return t        Just (lang, Nothing) -> do  -- read from file-         let translationFile = "translations/" <> renderLang lang <> ".yaml"-         let fallbackFile = "translations/" <> langLanguage lang <> ".yaml"-         let getTrans fp = do-               txt <- readDataFile fp >>= toTextM fp-               case readTranslations txt of-                    Left e   -> do+         let translationFiles = map (\x -> "translations/" <> T.unpack x <> ".yaml")+               (nubOrd [renderLang lang,+                      langLanguage lang <> maybe "" ("-" <>) (langScript lang),+                      langLanguage lang])+         let getTrans [] = return mempty+             getTrans (fp:fps) = do+               result <- catchError (Right <$> (readDataFile fp >>= toTextM fp))+                             (\_ -> pure (Left ""))+               case result >>= readTranslations of+                  Left e+                    | null fps -> do                       report $ CouldNotLoadTranslations (renderLang lang)-                        (T.pack fp <> ": " <> e)+                                  (T.pack fp <> ": " <> e)                       -- make sure we don't try again...                       modifyCommonState $ \st ->                         st{ stTranslations = Nothing }                       return mempty-                    Right t -> do-                      modifyCommonState $ \st ->-                                  st{ stTranslations = Just (lang, Just t) }-                      return t-         catchError (getTrans $ T.unpack translationFile)-           (\_ ->-             catchError (getTrans $ T.unpack fallbackFile)-               (\e -> do-                 report $ CouldNotLoadTranslations (renderLang lang)-                          $ case e of-                               PandocCouldNotFindDataFileError _ ->-                                 "data file " <> fallbackFile <> " not found"-                               _ -> ""-                 -- make sure we don't try again...-                 modifyCommonState $ \st -> st{ stTranslations = Nothing }-                 return mempty))+                    | otherwise -> getTrans fps+                  Right t -> do+                    modifyCommonState $ \st ->+                        st{ stTranslations = Just (lang, Just t) }+                    return t+         getTrans translationFiles  -- | Get a translation from the current term map. -- Issue a warning if the term is not defined.
src/Text/Pandoc/Writers/Docx.hs view
@@ -738,8 +738,13 @@ -- | Create core document properties entry mkCorePropsEntry :: Integer -> UTCTime -> Meta -> Entry mkCorePropsEntry epochtime utctime meta =-  let keywords = case lookupMeta "keywords" meta of-                       Just (MetaList xs) -> map stringify xs+  let metaValueToText (MetaString s)    = s+      metaValueToText (MetaInlines ils) = stringify ils+      metaValueToText (MetaBlocks bs)   = stringify bs+      metaValueToText (MetaBool b)      = T.pack (show b)+      metaValueToText _                 = ""+      keywords = case lookupMeta "keywords" meta of+                       Just (MetaList xs) -> map metaValueToText xs                        _                  -> []       docPropsPath = "docProps/core.xml"       extraCoreProps = ["subject","lang","category","description"]
src/Text/Pandoc/Writers/Docx/OpenXML.hs view
@@ -438,6 +438,10 @@      else block blockToOpenXML' opts (Para lst)   | null lst && not (isEnabled Ext_empty_paragraphs opts) = return []+  | [Math InlineMath _] <- lst+     = blockToOpenXML' opts (Para (lst ++ [Str "\x200B"])) -- see #11674+       -- we add a space to prevent Word from displaying the single+       -- inline math element with display math style   | otherwise = do       isFirstPara <- gets stFirstPara       let displayMathPara = case lst of@@ -907,6 +911,7 @@ inlineToOpenXML' opts (Note bs) = do   notes <- gets stFootnotes   notenum <- getUniqueId+  oldFirstPara <- gets stFirstPara   footnoteStyle <- rStyleM "Footnote Reference"   let notemarker = mknode "w:r" []                    [ mknode "w:rPr" [] footnoteStyle@@ -922,6 +927,7 @@                                 , envInNote = True })               (withParaPropM (pStyleM "Footnote Text") $                blocksToOpenXML opts $ insertNoteRef bs)+  modify $ \s -> s{ stFirstPara = oldFirstPara }   let newnote = mknode "w:footnote" [("w:id", notenum)] contents   modify $ \s -> s{ stFootnotes = newnote : notes }   return [ Elem $ mknode "w:r" []
src/Text/Pandoc/Writers/EPUB.hs view
@@ -466,8 +466,8 @@ pandocToEPUB version opts doc = do   let doc' = ensureValidXmlIdentifiers doc   -- handle pictures-  Pandoc meta blocks <- walkM (transformInline opts) doc' >>=-                        walkM transformBlock+  Pandoc meta blocks <- walkM (transformInline version opts) doc' >>=+                        walkM (transformBlock version)   picEntries <- mapMaybe (snd . snd) <$> gets stMediaPaths    epubSubdir <- gets stEpubSubdir@@ -1203,42 +1203,47 @@   modify $ \st -> st { stMediaNextId = nextId + 1 }   return $ "file" ++ show nextId ++ ext -isHtmlFormat :: Format -> Bool-isHtmlFormat (Format "html") = True-isHtmlFormat (Format "html4") = True-isHtmlFormat (Format "html5") = True-isHtmlFormat _ = False+isHtmlFormat :: EPUBVersion -> Format -> Bool+isHtmlFormat _ (Format "html") = True+isHtmlFormat _ (Format "html4") = True+isHtmlFormat _ (Format "html5") = True+isHtmlFormat _ (Format "epub") = True+isHtmlFormat EPUB2 (Format "epub2") = True+isHtmlFormat EPUB3 (Format "epub3") = True+isHtmlFormat _ _ = False  transformBlock  :: PandocMonad m-                => Block+                => EPUBVersion+                -> Block                 -> E m Block-transformBlock (RawBlock fmt raw)-  | isHtmlFormat fmt = do+transformBlock version (RawBlock fmt raw)+  | isHtmlFormat version fmt = do   let tags = parseTags raw   tags' <- mapM transformTag tags   return $ RawBlock fmt (renderTags' tags')-transformBlock b = return b+transformBlock _ b = return b  transformInline  :: PandocMonad m-                 => WriterOptions+                 => EPUBVersion+                 -> WriterOptions                  -> Inline                  -> E m Inline-transformInline _opts (Image attr@(_,_,kvs) lab (src,tit))+transformInline _ _opts (Image attr@(_,_,kvs) lab (src,tit))   | isNothing (lookup "external" kvs) = do     newsrc <- modifyMediaRef $ T.unpack src     return $ Image attr lab ("../" <> newsrc, tit)-transformInline opts x@(Math t m)+transformInline _ opts x@(Math t m)   | WebTeX url <- writerHTMLMathMethod opts = do     newsrc <- modifyMediaRef (T.unpack (url <> urlEncode m))     let mathclass = if t == DisplayMath then "display" else "inline"     return $ Span ("",["math",mathclass],[])                 [Image nullAttr [x] ("../" <> newsrc, "")]-transformInline _opts (RawInline fmt raw)-  | isHtmlFormat fmt = do+transformInline version _opts (RawInline fmt raw)+  | isHtmlFormat version fmt = do   let tags = parseTags raw   tags' <- mapM transformTag tags   return $ RawInline fmt (renderTags' tags')-transformInline _ x = return x+transformInline _ _ x = return x  (!) :: (t -> Element) -> [(Text, Text)] -> t -> Element (!) f attrs n = add_attrs (map (\(k,v) -> Attr (unqual k) v) attrs) (f n)
src/Text/Pandoc/Writers/HTML.hs view
@@ -1795,9 +1795,19 @@ isRawHtml :: PandocMonad m => Format -> StateT WriterState m Bool isRawHtml f = do   html5 <- gets stHtml5+  epubVersion <- gets stEPUBVersion   return $ f == Format "html" ||            ((html5 && f == Format "html5") || f == Format "html4") ||+           isEpubFormat epubVersion f ||            isSlideVariant f++-- | Check to see if Format matches with an EPUB variant+isEpubFormat :: Maybe EPUBVersion -> Format -> Bool+isEpubFormat Nothing _ = False+isEpubFormat (Just EPUB2) f =+  f == Format "epub" || f == Format "epub2"+isEpubFormat (Just EPUB3) f =+  f == Format "epub" || f == Format "epub3"  -- | Check to see if Format matches with an HTML slide variant isSlideVariant :: Format -> Bool
src/Text/Pandoc/Writers/LaTeX/Lang.hs view
@@ -40,7 +40,7 @@ toBabel (Lang "en" _ (Just "NZ") _ _ _) = Just "newzealand" toBabel (Lang "en" _ (Just "UK") _ _ _) = Just "british" toBabel (Lang "en" _ (Just "US") _ _ _) = Just "american"-toBabel (Lang "fr" _ (Just "CA") _ _ _) = Just "canadien"+toBabel (Lang "fr" _ (Just "CA") _ _ _) = Just "french" toBabel (Lang "fra" _ _ vars _ _)   | "aca" `elem` vars                   = Just "acadian" toBabel (Lang "grc" _ _ _ _ _)          = Just "ancientgreek"
src/Text/Pandoc/Writers/Man.hs view
@@ -14,7 +14,7 @@  -} module Text.Pandoc.Writers.Man ( writeMan ) where-import Control.Monad ( liftM, zipWithM, forM, unless )+import Control.Monad ( liftM, zipWithM, unless ) import Control.Monad.State.Strict ( StateT, gets, modify, evalStateT ) import Control.Monad.Trans (MonadTrans(lift)) import Data.List (intersperse)@@ -241,7 +241,7 @@   labelText <- inlineListToMan opts label   contents <- if null defs                  then return empty-                 else liftM vcat $ forM defs $ \case+                 else case mconcat defs of                           (x:xs) -> do                             first' <- blockToMan opts $                                       case x of
src/Text/Pandoc/Writers/Markdown.hs view
@@ -578,7 +578,10 @@           tildes <> attrs <> cr <> literal str <> cr <> tildes <> blankline      _ | variant == Markua -> blankline <> attrsToMarkua opts attribs <> cr <> backticks <> cr <>                                 literal str <> cr <> backticks <> cr <> blankline-       | otherwise -> nest (writerTabStop opts) (literal str) <> blankline+       | otherwise -> -- don't use nest: see #11542+           let addIndent "" = "\n"+               addIndent x  = (T.replicate (writerTabStop opts) " ") <> x <> "\n"+          in  literal (mconcat $ map addIndent (T.lines str)) $$ blankline    where      endlineLen c = maybe 3 ((+1) . maximum) $ nonEmpty                         [T.length ln@@ -862,8 +865,10 @@                         _ -> ":"        let leadingChars = case tabStop of                             -- Always use two leading characters for Markua-                            n | n >= 2 && variant /= Markua -> n-                            _ -> 2+                            n | variant == Markua -> 2+                              | isEnabled Ext_four_space_rule opts+                              , n >= 2 -> n+                              | otherwise -> 2        let sps = literal $ T.replicate (leadingChars - 1) " "        let isTight = case defs of                         ((Plain _ : _): _) -> True
src/Text/Pandoc/Writers/Markdown/Inline.hs view
@@ -74,6 +74,9 @@     | isEnabled Ext_smart opts = '\\':'-':go('-':cs)   go ('.':'.':'.':cs)     | isEnabled Ext_smart opts = '\\':'.':'.':'.':go cs+  go (':':':':':':cs)+    | isEnabled Ext_fenced_divs opts -- see #11571+    = '\\':':':':':':': (takeWhile (==':') cs ++ go cs)   go (c:'_':d:cs)     | isAlphaNum c     , isAlphaNum d =
src/Text/Pandoc/Writers/MediaWiki.hs view
@@ -129,10 +129,10 @@   contents <- inlineListToMediaWiki inlines   let contents' = render Nothing contents   let initEsc = if startsWithListMarker contents'-                   then literal "\\"+                   then literal "<nowiki></nowiki>"                    else mempty   return $ if tags-              then  literal "<p>" <> contents <> literal "</p>"+              then literal "<p>" <> contents <> literal "</p>"               else initEsc <> contents $$                    if null lev then blankline else mempty @@ -492,7 +492,7 @@   let label' = render Nothing label   case txt of      [Str s] | isURI src && escapeURI s == src -> return $ literal src-     _  -> return $ literal $ if isURI src+     _  -> return $ literal $ if isURI (T.takeWhile (/= '#') src) -- see #11562        then "[" <> src <> " " <> label' <> "]"        else          if src == label'
src/Text/Pandoc/Writers/ODT.hs view
@@ -212,9 +212,10 @@                 . maybe id addLang mbLang                 . transformElement (\qn -> qName qn == "styles" &&                                       qPrefix qn == Just "office" )-                     (case writerHighlightMethod opts of+                     (addListItemStyles .+                      (case writerHighlightMethod opts of                         Skylighting style -> addHlStyles style-                        _ -> id)+                        _ -> id))                 $ d )         | otherwise = pure e   entries <- mapM goEntry (zEntries arch)@@ -227,6 +228,56 @@  where    isHlStyle (Elem e) = "Tok" `T.isSuffixOf` (qName (elName e))    isHlStyle _ = False++-- | Ensure the office:styles element contains paragraph styles for+-- list items used by the OpenDocument writer.  This injects only the+-- styles that are missing, so a user-supplied reference.odt may+-- override any of them.+addListItemStyles :: Element -> Element+addListItemStyles el =+  el{ elContent = elContent el ++ map Elem missingStyles }+ where+   existing = [ T.concat [ attrVal a+                         | a <- elAttribs e+                         , qName (attrKey a) == "name"+                         , qPrefix (attrKey a) == Just "style" ]+              | Elem e <- elContent el+              , qName (elName e) == "style"+              , qPrefix (elName e) == Just "style" ]+   missingStyles =+     [ s | s <- listItemStyleElements+         , styleNameOf s `notElem` existing ]+   styleNameOf e = T.concat [ attrVal a+                            | a <- elAttribs e+                            , qName (attrKey a) == "name"+                            , qPrefix (attrKey a) == Just "style" ]++listItemStyleElements :: [Element]+listItemStyleElements =+  [ mkParaStyle "List_20_Bullet" "List Bullet" Nothing+  , mkParaStyle "List_20_Bullet_20_Tight" "List Bullet Tight" (Just tightProps)+  , mkParaStyle "List_20_Number" "List Number" Nothing+  , mkParaStyle "List_20_Number_20_Tight" "List Number Tight" (Just tightProps)+  ]+ where+   styleQN n p = QName n Nothing (Just p)+   mkAttr p n v = Attr (styleQN n p) v+   tightProps =+     Element (styleQN "paragraph-properties" "style")+       [ mkAttr "fo" "margin-top" "0in"+       , mkAttr "fo" "margin-bottom" "0in"+       , mkAttr "style" "contextual-spacing" "false"+       ] [] Nothing+   mkParaStyle name display mbProps =+     Element (styleQN "style" "style")+       [ mkAttr "style" "name" name+       , mkAttr "style" "display-name" display+       , mkAttr "style" "family" "paragraph"+       , mkAttr "style" "parent-style-name" "List"+       , mkAttr "style" "class" "list"+       ]+       (maybe [] (\p -> [Elem p]) mbProps)+       Nothing  -- top-down search transformElement :: (QName -> Bool)
src/Text/Pandoc/Writers/OpenDocument.hs view
@@ -51,6 +51,29 @@ plainToPara (Plain x) = Para x plainToPara x         = x +-- Names of predefined styles in the reference.odt; see data/odt/styles.xml.+defaultBulletListStyleName, defaultNumberedListStyleName :: Text+defaultBulletListStyleName   = "List_20_1"+defaultNumberedListStyleName = "Numbering_20_1"++bulletItemStyleName, bulletItemTightStyleName,+  numberItemStyleName, numberItemTightStyleName :: Text+bulletItemStyleName      = "List_20_Bullet"+bulletItemTightStyleName = "List_20_Bullet_20_Tight"+numberItemStyleName      = "List_20_Number"+numberItemTightStyleName = "List_20_Number_20_Tight"++-- | Predefined inline style names for single-style spans.+wellKnownTextStyle :: Set.Set TextStyle -> Maybe Text+wellKnownTextStyle s = case Set.toList s of+  [Italic] -> Just "Emphasis"+  [Bold]   -> Just "Strong_20_Emphasis"+  [Strike] -> Just "Strikeout"+  [Sub]    -> Just "Subscript"+  [Sup]    -> Just "Superscript"+  [Pre]    -> Just "Source_20_Text"+  _        -> Nothing+ -- -- OpenDocument writer --@@ -66,7 +89,8 @@     WriterState { stNotes          :: [Doc Text]                 , stTableStyles    :: [Doc Text]                 , stParaStyles     :: [Doc Text]-                , stListStyles     :: [(Int, [Doc Text])]+                , stListOverrides  :: Map.Map (ListNumberStyle,ListNumberDelim)+                                        (Text, Doc Text)                 , stTextStyles     :: Map.Map (Set.Set TextStyle)                                         (Text, Doc Text)                 , stTextStyleAttr  :: Set.Set TextStyle@@ -85,7 +109,7 @@     WriterState { stNotes          = []                 , stTableStyles    = []                 , stParaStyles     = []-                , stListStyles     = []+                , stListOverrides  = Map.empty                 , stTextStyles     = Map.empty                 , stTextStyleAttr  = Set.empty                 , stIndentPara     = 0@@ -121,10 +145,6 @@ resetIndent :: PandocMonad m => OD m () resetIndent = modify $ \s -> s { stIndentPara = stIndentPara s - 1 } -inTightList :: PandocMonad m => OD m a -> OD m a-inTightList  f = modify (\s -> s { stTight = True  }) >> f >>= \r ->-                 modify (\s -> s { stTight = False }) >> return r- setInDefinitionList :: PandocMonad m => Bool -> OD m () setInDefinitionList b = modify $  \s -> s { stInDefinition = b } @@ -163,22 +183,25 @@   at <- gets stTextStyleAttr   if Set.null at      then return d-     else do-       styles <- gets stTextStyles-       case Map.lookup at styles of-            Just (styleName, _) -> return $-              inTags False "text:span" [("text:style-name",styleName)] d-            Nothing -> do-              let styleName = "T" <> tshow (Map.size styles + 1)-              addTextStyle at (styleName,-                     inTags False "style:style"-                       [("style:name", styleName)-                       ,("style:family", "text")]-                       $ selfClosingTag "style:text-properties"-                          (sortOn fst . Map.toList-                                $ L.foldl' textStyleAttr mempty (Set.toList at)))-              return $ inTags False-                  "text:span" [("text:style-name",styleName)] d+     else case wellKnownTextStyle at of+       Just styleName -> return $+         inTags False "text:span" [("text:style-name", styleName)] d+       Nothing -> do+         styles <- gets stTextStyles+         case Map.lookup at styles of+              Just (styleName, _) -> return $+                inTags False "text:span" [("text:style-name",styleName)] d+              Nothing -> do+                let styleName = "T" <> tshow (Map.size styles + 1)+                addTextStyle at (styleName,+                       inTags False "style:style"+                         [("style:name", styleName)+                         ,("style:family", "text")]+                         $ selfClosingTag "style:text-properties"+                            (sortOn fst . Map.toList+                                  $ L.foldl' textStyleAttr mempty (Set.toList at)))+                return $ inTags False+                    "text:span" [("text:style-name",styleName)] d  formulaStyles :: [Doc Text] formulaStyles = [formulaStyle InlineMath, formulaStyle DisplayMath]@@ -263,10 +286,8 @@   let styles   = stTableStyles s ++ stParaStyles s ++ formulaStyles ++                      map snd (sortBy (comparing (Down . fst)) (                         Map.elems (stTextStyles s)))-      listStyle (n,l) = inTags True "text:list-style"-                          [("style:name", "L" <> tshow n)] (vcat l)-  let listStyles  = map listStyle (stListStyles s)-  let automaticStyles = vcat $ reverse $ styles ++ listStyles+  let listStyles  = map snd (Map.elems (stListOverrides s))+  let automaticStyles = vcat $ reverse styles ++ listStyles   let context = defField "body" body               . defField "toc" (writerTableOfContents opts)               . defField "toc-depth" (tshow $ writerTOCDepth opts)@@ -286,56 +307,101 @@ withParagraphStyle _ _ [] = return empty  inPreformattedTags :: PandocMonad m => [Doc Text] -> OD m (Doc Text)-inPreformattedTags s = do-  n <- paraStyle [("style:parent-style-name","Preformatted_20_Text")]-  return $ inParagraphTagsWithStyle ("P" <> tshow n) $ hcat s+inPreformattedTags s =+  return $ inParagraphTagsWithStyle "Preformatted_20_Text" $ hcat s +-- | Get the list-style name to use for an ordered list with the given+-- numbering style and delimiter, registering an override automatic style+-- if needed.  Lists with default style/delimiter use the predefined+-- @Numbering_20_1@ style and no override is generated.+orderedListStyleName :: PandocMonad m+                     => ListNumberStyle -> ListNumberDelim -> OD m Text+orderedListStyleName ns nd+  | (ns == DefaultStyle || ns == Decimal) &&+    (nd == DefaultDelim || nd == Period) =+      return defaultNumberedListStyleName+  | otherwise = do+      overrides <- gets stListOverrides+      case Map.lookup (ns, nd) overrides of+        Just (name, _) -> return name+        Nothing -> do+          let name = "Pandoc_5f_Numbering_5f_" <>+                       tshow (Map.size overrides + 1)+              doc = inTags True "text:list-style"+                      [("style:name", name)]+                      (vcat (map (orderedListLevel ns nd) [1..10]))+          modify $ \s -> s { stListOverrides =+                               Map.insert (ns, nd) (name, doc)+                                          (stListOverrides s) }+          return name++orderedListLevel :: ListNumberStyle -> ListNumberDelim -> Int -> Doc Text+orderedListLevel ns nd lvl =+    let suffix = case nd of+                   OneParen  -> [("style:num-suffix", ")")]+                   TwoParens -> [("style:num-prefix", "(")+                                ,("style:num-suffix", ")")]+                   _         -> [("style:num-suffix", ".")]+        format = case ns of+                   UpperAlpha -> "A"+                   LowerAlpha -> "a"+                   UpperRoman -> "I"+                   LowerRoman -> "i"+                   _          -> "1"+    in inTags True "text:list-level-style-number"+              ([ ("text:level"      , tshow lvl)+               , ("text:style-name" , "Numbering_20_Symbols")+               , ("style:num-format", format)+               ] ++ suffix)+              (selfClosingTag "style:list-level-properties"+                 [ ("text:space-before",+                      T.pack (printf "%.4fin" (0.1972 * fromIntegral (lvl - 1) :: Double)))+                 , ("text:min-label-width", "0.1965in")+                 , ("text:min-label-distance", "0.1in")+                 ])+ orderedListToOpenDocument :: PandocMonad m-                          => WriterOptions -> Int -> [[Block]] -> OD m (Doc Text)-orderedListToOpenDocument o pn bs =+                          => WriterOptions -> Text -> [[Block]]+                          -> OD m (Doc Text)+orderedListToOpenDocument o paraName bs =     vcat . map (inTagsIndented "text:list-item") <$>-    mapM (orderedItemToOpenDocument o pn . map plainToPara) bs+    mapM (orderedItemToOpenDocument o paraName . map plainToPara) bs  orderedItemToOpenDocument :: PandocMonad m-                          => WriterOptions -> Int -> [Block] -> OD m (Doc Text)-orderedItemToOpenDocument  o n bs = vcat <$> mapM go bs- where go (OrderedList a l) = newLevel a l-       go (Para          l) = inParagraphTagsWithStyle ("P" <> tshow n) <$>+                          => WriterOptions -> Text -> [Block]+                          -> OD m (Doc Text)+orderedItemToOpenDocument  o paraName bs = vcat <$> mapM go bs+ where go (OrderedList a l) = orderedList a l+       go (Para          l) = inParagraphTagsWithStyle paraName <$>                                 inlinesToOpenDocument o l        go b                 = blockToOpenDocument o b-       newLevel a l = do-         nn <- length <$> gets stParaStyles-         liststyles <- gets stListStyles-         let ls = case liststyles of-                    [] -> (1,[])  -- should never happen-                    (s:_) -> s-         modify $ \s -> s { stListStyles = orderedListLevelStyle a ls :-                                 drop 1 (stListStyles s) }-         inTagsIndented "text:list" <$> orderedListToOpenDocument o nn l+       orderedList a@(_,ns,nd) l = do+         lstName <- orderedListStyleName ns nd+         let pn = if isTightList l then numberItemTightStyleName+                                   else numberItemStyleName+         let listAttrs = ("text:style-name", lstName) : startValueAttr a+         inTags True "text:list" listAttrs <$>+           orderedListToOpenDocument o pn l +-- | Generate a @text:start-value@ attribute when the start value is not 1.+startValueAttr :: ListAttributes -> [(Text, Text)]+startValueAttr (s,_,_) | s /= 1 = [("text:start-value", tshow s)]+startValueAttr _                = []+ isTightList :: [[Block]] -> Bool isTightList []          = False isTightList (b:_)     | Plain {} : _ <- b = True     | otherwise         = False -newOrderedListStyle :: PandocMonad m-                    => Bool -> ListAttributes -> OD m (Int,Int)-newOrderedListStyle b a = do-  ln <- (+) 1 . length  <$> gets stListStyles-  let nbs = orderedListLevelStyle a (ln, [])-  pn <- if b then inTightList (paraListStyle ln) else paraListStyle ln-  modify $ \s -> s { stListStyles = nbs : stListStyles s }-  return (ln,pn)- bulletListToOpenDocument :: PandocMonad m                          => WriterOptions -> [[Block]] -> OD m (Doc Text) bulletListToOpenDocument o b = do-  ln <- (+) 1 . length <$> gets stListStyles-  (pn,ns) <- if isTightList b then inTightList (bulletListStyle ln) else bulletListStyle ln-  modify $ \s -> s { stListStyles = ns : stListStyles s }-  is <- listItemsToOpenDocument ("P" <> tshow pn) o b-  return $ inTags True "text:list" [("text:style-name", "L" <> tshow ln)] is+  let pn = if isTightList b then bulletItemTightStyleName+                            else bulletItemStyleName+  is <- listItemsToOpenDocument pn o b+  return $ inTags True "text:list"+             [("text:style-name", defaultBulletListStyleName)] is  listItemsToOpenDocument :: PandocMonad m                         => Text -> WriterOptions -> [[Block]] -> OD m (Doc Text)@@ -354,16 +420,18 @@   return $ t' $$ d'  inBlockQuote :: PandocMonad m-             => WriterOptions -> Int -> [Block] -> OD m (Doc Text)-inBlockQuote  o i (b:bs)+             => WriterOptions -> Text -> [Block] -> OD m (Doc Text)+inBlockQuote  o sty (b:bs)     | BlockQuote l <- b = do increaseIndent                              ni <- paraStyle                                    [("style:parent-style-name","Quotations")]-                             go =<< inBlockQuote o ni (map plainToPara l)-    | Para       l <- b = go =<< inParagraphTagsWithStyle ("P" <> tshow i) <$> inlinesToOpenDocument o l+                             inner <- inBlockQuote o ni (map plainToPara l)+                             resetIndent+                             go inner+    | Para       l <- b = go =<< inParagraphTagsWithStyle sty <$> inlinesToOpenDocument o l     | otherwise         = go =<< blockToOpenDocument o b-    where go  block  = ($$) block <$> inBlockQuote o i bs-inBlockQuote     _ _ [] =  resetIndent >> return empty+    where go  block  = ($$) block <$> inBlockQuote o sty bs+inBlockQuote     _ _ [] = return empty  -- | Convert a list of Pandoc blocks to OpenDocument. blocksToOpenDocument :: PandocMonad m => WriterOptions -> [Block] -> OD m (Doc Text)@@ -425,13 +493,16 @@         if T.null ident           then i           else fmap mkBookmarkedDiv i-      mkBlockQuote  b = do increaseIndent-                           i <- paraStyle-                                 [("style:parent-style-name","Quotations")]-                           inBlockQuote o i (map plainToPara b)-      orderedList a b = do (ln,pn) <- newOrderedListStyle (isTightList b) a-                           inTags True "text:list" [ ("text:style-name", "L" <> tshow ln)]-                                      <$> orderedListToOpenDocument o pn b+      mkBlockQuote  b = do sty <- paraStyle+                                    [("style:parent-style-name","Quotations")]+                           inBlockQuote o sty (map plainToPara b)+      orderedList a@(_,ns,nd) b = do+        lstName <- orderedListStyleName ns nd+        let pn = if isTightList b then numberItemTightStyleName+                                  else numberItemStyleName+        let listAttrs = ("text:style-name", lstName) : startValueAttr a+        inTags True "text:list" listAttrs <$>+          orderedListToOpenDocument o pn b       table :: PandocMonad m => WriterOptions -> Ann.Table -> OD m (Doc Text)       table opts           (Ann.Table (ident, _, _) (Caption _ c) colspecs thead tbodies tfoot) = do@@ -591,14 +662,9 @@       aa = alignAttrib align       a = [ ("table:style-name" , s )           , ("office:value-type", "string" ) ] ++ csa ++ rsa-  itemParaStyle <- case aa of-                     [] -> return 0-                     _  -> paraStyleFromParent n aa-  let itemParaStyle' = case itemParaStyle of-                         0 -> n-                         x -> "P" <> tshow x+  itemParaStyle <- paraStyleFromParent n aa   inTags True "table:table-cell" a <$>-    withParagraphStyle o itemParaStyle' (map plainToPara i)+    withParagraphStyle o itemParaStyle (map plainToPara i)  -- | Convert a list of inline elements to OpenDocument. inlinesToOpenDocument :: PandocMonad m => WriterOptions -> [Inline] -> OD m (Doc Text)@@ -761,55 +827,6 @@             then linkOrReference             else link -bulletListStyle :: PandocMonad m => Int -> OD m (Int,(Int,[Doc Text]))-bulletListStyle l = do-  let doStyles  i = inTags True "text:list-level-style-bullet"-                    [ ("text:level"      , tshow (i + 1))-                    , ("text:style-name" , "Bullet_20_Symbols"  )-                    , ("style:num-suffix", "."                  )-                    , ("text:bullet-char", T.singleton (bulletList !! i))-                    ] (listLevelStyle (1 + i))-      bulletList  = map chr $ cycle [8226,9702,9642]-      listElStyle = map doStyles [0..9]-  pn <- paraListStyle l-  return (pn, (l, listElStyle))--orderedListLevelStyle :: ListAttributes -> (Int, [Doc Text]) -> (Int,[Doc Text])-orderedListLevelStyle (s,n, d) (l,ls) =-    let suffix    = case d of-                      OneParen  -> [("style:num-suffix", ")")]-                      TwoParens -> [("style:num-prefix", "(")-                                   ,("style:num-suffix", ")")]-                      _         -> [("style:num-suffix", ".")]-        format    = case n of-                      UpperAlpha -> "A"-                      LowerAlpha -> "a"-                      UpperRoman -> "I"-                      LowerRoman -> "i"-                      _          -> "1"-        listStyle = inTags True "text:list-level-style-number"-                    ([ ("text:level"      , tshow $ 1 + length ls )-                     , ("text:style-name" , "Numbering_20_Symbols")-                     , ("style:num-format", format                )-                     , ("text:start-value", tshow s               )-                     ] ++ suffix) (listLevelStyle (1 + length ls))-    in  (l, ls ++ [listStyle])--listLevelStyle :: Int -> Doc Text-listLevelStyle i =-    let indent = tshow (0.25 + (0.25 * fromIntegral i :: Double)) in-    inTags True "style:list-level-properties"-                       [ ("text:list-level-position-and-space-mode",-                          "label-alignment")-                       , ("fo:text-align", "right")-                       ] $-       selfClosingTag "style:list-level-label-alignment"-                      [ ("text:label-followed-by", "listtab")-                      , ("text:list-tab-stop-position", indent <> "in")-                      , ("fo:text-indent", "-0.25in")-                      , ("fo:margin-left", indent <> "in")-                      ]- tableStyle :: Int -> Double -> [(Char,Double)] -> Doc Text tableStyle num textWidth wcs =     let tableId        = "Table" <> tshow (num + 1)@@ -847,15 +864,17 @@         columnStyles   = map colStyle wcs     in cellStyles $$ table $$ vcat columnStyles -paraStyle :: PandocMonad m => [(Text,Text)] -> OD m Int+-- | Generate (or reuse) a paragraph style with the given attributes.+-- When the only attribute is @style:parent-style-name@ and no+-- indent/tight overrides are active, the parent name is returned+-- directly (no @Pn@ automatic style is created), so that the+-- predefined style passes through unchanged.+paraStyle :: PandocMonad m => [(Text,Text)] -> OD m Text paraStyle attrs = do-  pn <- (+)   1 . length       <$> gets stParaStyles   i  <- (*) (0.5 :: Double) . fromIntegral <$> gets stIndentPara   b  <- gets stInDefinition   t  <- gets stTight-  let styleAttr = [ ("style:name"             , "P" <> tshow pn)-                  , ("style:family"           , "paragraph"   )]-      indentVal = flip (<>) "in" . tshow $ if b then max 0.5 i else i+  let indentVal = flip (<>) "in" . tshow $ if b then max 0.5 i else i       tight     = if t then [ ("fo:margin-top"          , "0in"    )                             , ("fo:margin-bottom"       , "0in"    )]                        else []@@ -866,31 +885,32 @@                            , ("style:auto-text-indent" , "false"  )]                       else []       attributes = indent <> tight-      paraProps = if null attributes-                     then mempty-                     else selfClosingTag-                             "style:paragraph-properties" attributes-  addParaStyle $ inTags True "style:style" (styleAttr <> attrs) paraProps-  return pn--paraStyleFromParent :: PandocMonad m => Text -> [(Text,Text)] -> OD m Int-paraStyleFromParent parent attrs = do-  pn <- (+) 1 . length  <$> gets stParaStyles-  let styleAttr = [ ("style:name"             , "P" <> tshow pn)-                  , ("style:family"           , "paragraph")-                  , ("style:parent-style-name", parent)]-      paraProps = if null attrs-                     then mempty-                     else selfClosingTag-                          "style:paragraph-properties" attrs-  addParaStyle $ inTags True "style:style" styleAttr paraProps-  return pn-+  case (attributes, attrs) of+    ([], [("style:parent-style-name", parent)]) -> return parent+    _ -> do+      pn <- (+) 1 . length <$> gets stParaStyles+      let name      = "P" <> tshow pn+          styleAttr = [ ("style:name"  , name)+                      , ("style:family", "paragraph") ]+          paraProps = if null attributes+                         then mempty+                         else selfClosingTag+                                 "style:paragraph-properties" attributes+      addParaStyle $ inTags True "style:style" (styleAttr <> attrs) paraProps+      return name -paraListStyle :: PandocMonad m => Int -> OD m Int-paraListStyle l = paraStyle-  [("style:parent-style-name","Text_20_body")-  ,("style:list-style-name", "L" <> tshow l)]+paraStyleFromParent :: PandocMonad m => Text -> [(Text,Text)] -> OD m Text+paraStyleFromParent parent attrs+  | null attrs = return parent+  | otherwise  = do+      pn <- (+) 1 . length <$> gets stParaStyles+      let name      = "P" <> tshow pn+          styleAttr = [ ("style:name"             , name)+                      , ("style:family"           , "paragraph")+                      , ("style:parent-style-name", parent)]+          paraProps = selfClosingTag "style:paragraph-properties" attrs+      addParaStyle $ inTags True "style:style" styleAttr paraProps+      return name  paraTableStyles :: Text -> Int -> [Alignment] -> [(Text, Doc Text)] paraTableStyles _ _ [] = []
src/Text/Pandoc/Writers/Shared.hs view
@@ -63,7 +63,7 @@ import Data.Either (isRight) import Data.Aeson (ToJSON (..), encode) import Data.Char (chr, ord, isSpace, isLetter, isUpper)-import Data.List (groupBy, intersperse, transpose)+import Data.List (groupBy, intersperse, transpose, zipWith4) import qualified Data.List as L import Data.List.NonEmpty (NonEmpty((:|))) import Data.Text.Conversions (FromText(..))@@ -80,7 +80,7 @@ import Text.Pandoc.Shared (stringify, makeSections, blocksToInlines) import Text.Pandoc.Walk (Walkable(..)) import qualified Text.Pandoc.UTF8 as UTF8-import Text.Pandoc.XML (escapeStringForXML)+import Text.Pandoc.XML (escapeStringForXML, rdfaAttributes, html5Attributes) import Text.DocTemplates (Context(..), Val(..), TemplateTarget,                           ToContext(..), FromContext(..)) import Text.Pandoc.Chunks (tocToList, toTOCTree)@@ -89,6 +89,7 @@ import Text.Pandoc.Translations (setTranslations) import Data.Maybe (fromMaybe) import qualified Text.Pandoc.Writers.AnnotatedTable as Ann+import qualified Data.Set as Set  -- import Debug.Trace @@ -206,9 +207,18 @@   ,if null classes       then empty       else "class=" <> doubleQuotes (text $ T.unpack (T.unwords classes))-  ,hsep (map (\(k,v) -> text (T.unpack k) <> "=" <>+  ,hsep (map (\(k,v) -> formatKey k <> "=" <>                 doubleQuotes (text $ T.unpack (escapeStringForXML v))) kvs)   ])+ where+   formatKey x = text . T.unpack $+        if (x `Set.member` (html5Attributes <> rdfaAttributes)+            && x /= "label") -- #10048+             || T.any (== ':') x -- e.g. epub: namespace+             || "data-" `T.isPrefixOf` x+             || "aria-" `T.isPrefixOf` x+           then x+           else "data-" <> x  addSpaceIfNotEmpty :: HasChars a => Doc a -> Doc a addSpaceIfNotEmpty f = if isEmpty f then f else " " <> f@@ -322,9 +332,18 @@              (setTopBorder DoubleLine . setBottomBorder DoubleLine) footCells   pure $ gridRows $ redoWidths opts colspecs rows +data ColWidthInfo =+  ColWidthInfo+  { colWidthSpecified :: Int+  , colWidthFull :: Int+  , colWidthMin :: Int+  , colWidthUsed :: Int }+  deriving (Show, Ord, Eq)+ -- Returns (current widths, full widths, min widths)-extractColWidths :: WriterOptions -> [[RenderedCell Text]] -> ([Int], [Int], [Int])-extractColWidths opts rows = (currentwidths, fullwidths, minwidths)+extractColWidths :: WriterOptions -> [[RenderedCell Text]] -> [ColWidthInfo]+extractColWidths opts rows =+  zipWith4 ColWidthInfo specifiedwidths fullwidths minwidths currentwidths  where    getWidths calcOffset =      map (fromMaybe 0 . maximumMay) (transpose (map (concatMap (getCellWidths calcOffset)) rows))@@ -332,11 +351,15 @@                                  (calcOffset c `div` (cellColSpan c) +                                   calcOffset c `rem` (cellColSpan c))    fullwidths = getWidths (max 1 . offset . cellContents)-   currentwidths = getWidths cellWidth    minwidths =      case writerWrapText opts of        WrapNone -> fullwidths        _ -> getWidths (minOffset . cellContents)+   specifiedwidths = getWidths cellWidth+   currentwidths = zipWith (\specw minw -> if specw == 0+                                              then 0+                                              else max specw minw)+                           specifiedwidths minwidths  resetWidths :: [Int] -> [RenderedCell Text] -> [RenderedCell Text] resetWidths _ [] = []@@ -353,21 +376,37 @@ redoWidths opts colspecs rows = map (resetWidths newwidths) rows  where   numcols = length colspecs-  isSimple = all ((== ColWidthDefault) . snd) colspecs-  (actualwidths, fullwidths, minwidths) = extractColWidths opts rows-  totwidth = writerColumns opts - (3 * numcols) - 1-  evenwidth = totwidth `div` numcols + totwidth `rem` numcols-  keepwidths = filter (< evenwidth) fullwidths-  evenwidth' = (totwidth - sum keepwidths) `div`-                (numcols - length keepwidths)-  ensureMinWidths = zipWith max minwidths-  newwidths = ensureMinWidths $-              case isSimple of-                True | sum fullwidths <= totwidth -> fullwidths-                     | otherwise -> map (\w -> if w < evenwidth-                                                  then w-                                                  else evenwidth') fullwidths-                False -> actualwidths+  widthInfos = extractColWidths opts rows+  colsAvailable = writerColumns opts - (3 * numcols) - 1+  -- now, we need to change colWidthUsed 0 to an appropriate number;+  -- either the full width if it fits easily, or an appropriate fraction+  -- of the remaining width.  This must be done recursively, because+  -- once we decide that the full width can fit, that may leave less+  -- space for the remaining columns with default width to fill.+  recalculateWidths finalRun numRuns infos =+    let numUnassigned = length (filter ((== 0) . colWidthUsed) infos)+        unusedCols = colsAvailable - sum (map colWidthUsed infos)+        defwidth = if numUnassigned == 0+                      then 0+                      else unusedCols `div` numUnassigned+        infos' = map (\info -> if colWidthUsed info == 0+                                  then if finalRun+                                          then info{ colWidthUsed =+                                                      max (colWidthMin info) defwidth }+                                          else if colWidthFull info <= defwidth+                                               then info{ colWidthUsed = colWidthFull info }+                                               else info+                                  else info) infos+     in if finalRun || numRuns > 4+           then infos'+           else if infos == infos'+                 then recalculateWidths True (numRuns + 1) infos+                       -- run again, filling in unassigned widths with a fraction of the+                       -- remaining width+                 else recalculateWidths False (numRuns + 1) infos'+                       -- run again, filling in unassigned widths only if the full with+                       -- would be less than the fraction of remaining width+  newwidths = map colWidthUsed $ recalculateWidths False (1 :: Int) widthInfos  makeDummy :: RenderedCell Text -> RenderedCell Text makeDummy c =@@ -534,7 +573,7 @@  toCharWidth :: WriterOptions -> Double -> Int toCharWidth opts width =-  max 1 (floor (width * fromIntegral (writerColumns opts)) - 3)+  max 0 (floor (width * fromIntegral (writerColumns opts)) - 3)  gridRow :: (Monad m, HasChars a)         => WriterOptions
src/Text/Pandoc/Writers/Typst.hs view
@@ -164,10 +164,10 @@  toTypstSetText :: [(Text, Text)] -> Doc Text toTypstSetText [] = ""-toTypstSetText typstTextAttrs = "set text" <> parens (toTypstPropsListSep typstTextAttrs) <> "; "+toTypstSetText typstTextAttrs = "set text" <> parens (toTypstPropsListSep typstTextAttrs) <> ";"  toTypstPoundSetText :: [(Text, Text)] -> Doc Text-toTypstPoundSetText [] = ""+toTypstPoundSetText [] = mempty toTypstPoundSetText typstTextAttrs = "#" <> toTypstSetText typstTextAttrs  toTypstBracesSetText :: [(Text, Text)] -> Doc Text -> Doc Text@@ -313,7 +313,7 @@                      ColSpan n -> [ "colspan: " <> tshow n ]) ++                   map formatTypstProp typstAttrs2             cellContents <- blocksToTypst bs-            let contents2 = brackets (toTypstPoundSetText typstTextAttrs <> cellContents)+            let contents2 = brackets (toTypstPoundSetText typstTextAttrs $$ cellContents)             pure $ if null cellattrs                       then contents2                       else "table.cell" <>@@ -395,7 +395,8 @@       let allTypstTextAttrs = typstTextAttrs ++ langAttrs       contents <- blocksToTypst blocks       return $ "#block" <> toTypstPropsListParens typstAttrs <> "["-        $$ toTypstPoundSetText allTypstTextAttrs <> contents+        $$ toTypstPoundSetText allTypstTextAttrs+        $$ contents         $$ ("]" <+> lab)  defListItemToTypst :: PandocMonad m => ([Inline], [[Block]]) -> TW m (Doc Text)@@ -413,6 +414,10 @@   return $ hang ind (marker <> space) contents  inlinesToTypst :: PandocMonad m => [Inline] -> TW m (Doc Text)+inlinesToTypst (i@(Span (ident,_,_) _):is) | not (T.null ident) =+  -- insert a zero-width space U+200B before the label+  -- because a typst label refers to preceding element (see #11568)+  ("\x200B" <>) . hcat <$> mapM inlineToTypst (escapeParens (i:is)) inlinesToTypst ils = hcat <$> mapM inlineToTypst (escapeParens ils)  -- Add an escape before a parenthesis right after a non-space element.
test/Tests/MediaBag.hs view
@@ -7,42 +7,50 @@ import Text.Pandoc.Class.IO (extractMedia) import Text.Pandoc.Class (fillMediaBag, runIOorExplode) import System.IO.Temp (withTempDirectory)-import Text.Pandoc.Shared (inDirectory) import System.FilePath import Text.Pandoc.Builder as B-import System.Directory (doesFileExist, copyFile)+import qualified Data.Text as T+import System.Directory (doesFileExist, makeAbsolute)  tests :: [TestTree] tests = [   testCase "test fillMediaBag & extractMedia" $-      withTempDirectory "." "extractMediaTest" $ \tmpdir -> inDirectory tmpdir $ do-        copyFile "../../test/lalune.jpg" "moon.jpg"+      withTempDirectory "." "extractMediaTest" $ \tmpdir -> do+        -- Use absolute paths so the test does not need to change+        -- the process-wide current directory (which is not thread-safe+        -- and breaks other tests running in parallel).+        absTmpdir <- makeAbsolute tmpdir+        absLalune <- makeAbsolute "lalune.jpg"         let d = B.doc $-                  B.para (B.image "../../test/lalune.jpg" "" mempty) <>-                  B.para (B.image "moon.jpg" "" mempty) <>+                  -- simple relative path -> extracted with original name+                  B.para (B.image "lalune.jpg" "" mempty) <>+                  -- absolute path -> extracted with hashed name+                  B.para (B.image (T.pack absLalune) "" mempty) <>                   B.para (B.image "data:image/png;base64,cHJpbnQgImhlbGxvIgo=;.lua+%2f%2e%2e%2f%2e%2e%2fa%2elua" "" mempty) <>                   B.para (B.image "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" "" mempty)+        let fooDir = absTmpdir </> "foo"         runIOorExplode $ do           fillMediaBag d-          extractMedia "foo" d-        exists1 <- doesFileExist ("foo" </> "moon.jpg")+          extractMedia fooDir d+        exists1 <- doesFileExist (fooDir </> "lalune.jpg")         assertBool "file in directory is not extracted with original name" exists1-        exists2 <- doesFileExist ("foo" </> "f9d88c3dbe18f6a7f5670e994a947d51216cdf0e.jpg")-        assertBool "file above directory is not extracted with hashed name" exists2-        exists3 <- doesFileExist ("foo" </> "2a0eaa89f43fada3e6c577beea4f2f8f53ab6a1d.png")-        exists4 <- doesFileExist "a.lua"+        exists2 <- doesFileExist (fooDir </> "f9d88c3dbe18f6a7f5670e994a947d51216cdf0e.jpg")+        assertBool "file with absolute path is not extracted with hashed name" exists2+        exists3 <- doesFileExist (fooDir </> "2a0eaa89f43fada3e6c577beea4f2f8f53ab6a1d.png")+        exists4 <- doesFileExist (absTmpdir </> "a.lua")         assertBool "data uri with malicious payload gets written outside of destination dir"           (exists3 && not exists4)-        exists5 <- doesFileExist ("foo" </> "d5fceb6532643d0d84ffe09c40c481ecdf59e15a.gif")+        exists5 <- doesFileExist (fooDir </> "d5fceb6532643d0d84ffe09c40c481ecdf59e15a.gif")         assertBool "data uri with gif is not properly decoded" exists5         -- double-encoded version:         let e = B.doc $                   B.para (B.image "data:image/png;base64,cHJpbnQgInB3bmVkIgo=;.lua+%252f%252e%252e%252f%252e%252e%252fb%252elua" "" mempty)+        let barDir = absTmpdir </> "bar"         runIOorExplode $ do           fillMediaBag e-          extractMedia "bar" e-        exists6 <- doesFileExist ("bar" </> "772ceca21a2751863ec46cb23db0e7fc35b9cff8.png")-        exists7 <- doesFileExist "b.lua"+          extractMedia barDir e+        exists6 <- doesFileExist (barDir </> "772ceca21a2751863ec46cb23db0e7fc35b9cff8.png")+        exists7 <- doesFileExist (absTmpdir </> "b.lua")         assertBool "data uri with double-encoded malicious payload gets written outside of destination dir"           (exists6 && not exists7)   ]
test/Tests/Old.hs view
@@ -344,7 +344,7 @@ s5WriterTest :: FilePath -> String -> [String] -> String -> TestTree s5WriterTest pandocPath modifier opts format   = test pandocPath (format ++ " writer (" ++ modifier ++ ")")-    (["-r", "native", "-w", format] ++ opts)+    (["-r", "native", "-w", format] ++ opts ++ ["--variable", "pandoc-version="])     "s5.native"  ("s5-" ++ modifier <.> "html")  fb2WriterTest :: FilePath -> String -> [String] -> String -> String -> TestTree
test/Tests/Readers/HTML.hs view
@@ -124,7 +124,7 @@         , testGroup "header"           [ test htmlNativeDivs "<header> is parsed as a div" $             "<header id=\"title\">Title</header>" =?>-            divWith ("title", mempty, mempty) (plain "Title")+            divWith ("title", ["header"], mempty) (plain "Title")           ]         , testGroup "code block"           [ test html "attributes in pre > code element" $
test/Tests/Readers/Markdown.hs view
@@ -375,6 +375,12 @@           , test markdownSmart "unclosed double quote"             ("**this should \"be bold**"             =?> para (strong "this should \8220be bold"))+          , test markdownSmart "single quote in inline note within single quotes" $ -- issue #11613+              "'a^['b'.] c.'" =?>+              para (singleQuoted ("a" <> note (para (singleQuoted "b" <> ".")) <> space <> "c."))+          , test markdownSmart "double quote in inline note within double quotes" $ -- issue #11613+              "\"a^[\"b\".] c.\"" =?>+              para (doubleQuoted ("a" <> note (para (doubleQuoted "b" <> ".")) <> space <> "c."))           ]         , testGroup "sub- and superscripts"           [
test/Tests/Writers/Docx.hs view
@@ -353,4 +353,25 @@               assertBool "Language from metadata did not override reference docx (expected fr-FR)"                 (any ("fr-FR" `isInfixOf`) (getLangLines stylesXml))           ]+        , testGroup "paragraph styles"+          [ testCase "FirstParagraph after heading with footnote (#11573)" $ do+              let opts = def+              bs <- runIOorExplode $ do+                setVerbosity ERROR+                let doc = Pandoc mempty+                          [ Header 3 ("heading-with-note", [], [])+                              [Note [Para [Str "note"]], Str "Heading"]+                          , Para [Str "Para", Space, Str "after."]+                          ]+                writeDocx opts doc+              let archive = toArchive bs+              entry <- case findEntryByPath "word/document.xml" archive of+                Nothing -> assertFailure "Missing word/document.xml in output docx"+                Just e -> return e+              let docXml = show (fromEntry entry)+              assertBool+                ("Expected FirstParagraph style after heading with footnote, got: "+                  ++ docXml)+                ("FirstParagraph" `isInfixOf` docXml)+          ]         ]
test/command/10791.md view
@@ -5,10 +5,11 @@ [^1]: **Heart of the Ocean** (海洋之心) – The Heart of the Ocean ^D <text:p text:style-name="Text_20_body">Aboard-<text:span text:style-name="T1">the luxury cruise ship Heart of the-Ocean</text:span><text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote"><text:span text:style-name="T1">Heart+<text:span text:style-name="Strong_20_Emphasis">the luxury cruise ship+Heart of the+Ocean</text:span><text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote"><text:span text:style-name="Strong_20_Emphasis">Heart of the Ocean</text:span> (海洋之心) – The Heart of the-Ocean</text:p></text:note-body></text:note><text:span text:style-name="T1">+Ocean</text:p></text:note-body></text:note><text:span text:style-name="Strong_20_Emphasis"> in the Atlantic Ocean</text:span>…</text:p>  ```
test/command/10965.md view
@@ -5,7 +5,8 @@ ::: ^D #block[-#set text(lang: "en"); This text should be in English.+#set text(lang: "en");+This text should be in English.  ] ```@@ -17,7 +18,8 @@ ::: ^D #block[-#set text(lang: "fr"); Ce texte devrait être en français.+#set text(lang: "fr");+Ce texte devrait être en français.  ] ```@@ -29,7 +31,8 @@ ::: ^D #block[-#set text(lang: "de"); Dieser Text sollte auf Deutsch sein.+#set text(lang: "de");+Dieser Text sollte auf Deutsch sein.  ] ```
+ test/command/11542.md view
@@ -0,0 +1,47 @@+```+% pandoc -f native -t markdown+[ DefinitionList+    [ ( [ Str "Input" ]+      , [ [ CodeBlock ( "" , [] , [] ) "Term\n\n  : Def" ] ]+      )+    ]+]+^D+Input++:     Term++        : Def+```++```+% pandoc -f markdown -t native+Input++:     Term++        : Def+^D+[ DefinitionList+    [ ( [ Str "Input" ]+      , [ [ CodeBlock ( "" , [] , [] ) "Term\n\n  : Def" ] ]+      )+    ]+]+```++```+% pandoc -f native -t markdown+four_space_rule+[ DefinitionList+    [ ( [ Str "Input" ]+      , [ [ CodeBlock ( "" , [] , [] ) "Term\n\n  : Def" ] ]+      )+    ]+]+^D+Input++:       Term++          : Def+```
+ test/command/11562.md view
@@ -0,0 +1,10 @@+```+% pandoc -t mediawiki+[example](https://example.com/#/#room)++[example](https://example.com/##)+^D+[https://example.com/#/#room example]++[https://example.com/## example]+```
+ test/command/11571.md view
@@ -0,0 +1,18 @@+```+% pandoc -t markdown+:::+A+:::+^D+\::: A \:::+```++```+% pandoc -t commonmark+fenced_divs+:::+A+:::+^D+\::: A \:::+```+
+ test/command/11583.md view
@@ -0,0 +1,16 @@+```+% pandoc -t typst+::: {lang=en}+1. item+2. item+3. item+:::+^D+#block[+#set text(lang: "en");++ item++ item++ item++]+```
+ test/command/11588.md view
@@ -0,0 +1,10 @@+```+% pandoc --typst-input foo=FOO --typst-input bar="bar bim" -f typst -t plain+#sys.inputs.at("foo");++#sys.inputs.at("bar");+^D+FOO++bar bim+```
+ test/command/11589.md view
@@ -0,0 +1,20 @@+```+% pandoc -f markdown -t native+t^[a]{.cb}\ b^+t^[a]{fg=yellow bg=blue}\ b^+^D+[ Para+    [ Str "t"+    , Superscript+        [ Span ( "" , [ "cb" ] , [] ) [ Str "a" ] , Str "\160b" ]+    , SoftBreak+    , Str "t"+    , Superscript+        [ Span+            ( "" , [] , [ ( "fg" , "yellow" ) , ( "bg" , "blue" ) ] )+            [ Str "a" ]+        , Str "\160b"+        ]+    ]+]+```
+ test/command/11598.md view
@@ -0,0 +1,16 @@+```+% pandoc -f typst --wrap=none+#rotate(90deg, figure(+  [body text here inside rotate],+  caption: "Figure 1: How a caption gets lost when rotating",+  supplement: none,+))+^D+<div class="rotate" data-angle="90.0">+<figure>+<p>body text here inside rotate</p>+<figcaption><p>Figure 1: How a caption gets lost when rotating</p></figcaption>+</figure>+</div>++```
+ test/command/11604.md view
@@ -0,0 +1,22 @@+```+% pandoc -f latex -t typst+\begin{table}+  \caption{Caption}\label{tab}+  \begin{tabular}{cc}+    a & b \\ c & d+  \end{tabular}+\end{table}+^D+#figure(+  align(center)[#table(+    columns: 2,+    align: (center,center,),+    [a], [b],+    [c], [d],+  )]+  , caption: [Caption]+  , kind: table+  )+<tab>++```
+ test/command/11608.md view
@@ -0,0 +1,54 @@+```+% pandoc -f latex -t plain+\documentclass[english]{article}+\usepackage[T1]{fontenc}+\usepackage[utf8]{inputenc}+\usepackage{amsthm}+\theoremstyle{plain}+\newtheorem{thm}{\protect\theoremname}+\newtheorem{prop}[thm]{\protect\propositionname}+\usepackage{babel}+\providecommand{\propositionname}{Proposition}+\providecommand{\theoremname}{Theorem}++\begin{document}+\begin{thm}+first theorem+\end{thm}+\begin{prop}+first proposition+\end{prop}++\end{document}+<div class="thm">+<p><strong>Theorem 1</strong>. <em>first theorem</em></p>+</div>+<div class="prop">+<p><strong>Proposition 2</strong>. <em>first proposition</em></p>+</div>+jgm@Johns-MacBook-Air:~/src/pandoc % `make binpath` -f latex -t plain+\documentclass[english]{article}+\usepackage[T1]{fontenc}+\usepackage[utf8]{inputenc}+\usepackage{amsthm}+\theoremstyle{plain}+\newtheorem{thm}{\protect\theoremname}+\newtheorem{prop}[thm]{\protect\propositionname}+\usepackage{babel}+\providecommand{\propositionname}{Proposition}+\providecommand{\theoremname}{Theorem}++\begin{document}+\begin{thm}+first theorem+\end{thm}+\begin{prop}+first proposition+\end{prop}++\end{document}+^D+Theorem 1. first theorem++Proposition 2. first proposition+```
+ test/command/11635.md view
@@ -0,0 +1,28 @@+```+% pandoc -f man -t html+.TH "TEST" "1" "2026-05-08"  "test v1.0.0" "test manual"+.SH HEADING+.TS+tab(;);+l l.+this is a table element \+written in two lines;abcdefg+another \+one;123456+.TE+^D+<h1 id="heading">HEADING</h1>+<table>+<tbody>+<tr>+<td style="text-align: left;">this is a table element written in two+lines</td>+<td style="text-align: left;">abcdefg</td>+</tr>+<tr>+<td style="text-align: left;">another one</td>+<td style="text-align: left;">123456</td>+</tr>+</tbody>+</table>+```
+ test/command/11664.md view
@@ -0,0 +1,35 @@+```+% pandoc -t markdown -f html+<table>+        <colgroup>+                <col width="1%"/>+                <col />+        </colgroup>+        <tbody>+                <tr>+                        <td>+                                <p>A</p><p>B</p>+                        </td>+                        <td>+                                Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do+                                eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut+                                enim ad minim veniam, quis nostrud exercitation ullamco laboris+                                nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor+                                in reprehenderit in voluptate velit esse cillum dolore eu fugiat+                                nulla pariatur. Excepteur sint occaecat cupidatat non proident,+                                sunt in culpa qui officia deserunt mollit anim id est laborum.+                        </td>+                </tr>+        </tbody>+</table>+^D++---+------------------------------------------------------------------++| A | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do  |+|   | eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut   |+| B | enim ad minim veniam, quis nostrud exercitation ullamco laboris  |+|   | nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor   |+|   | in reprehenderit in voluptate velit esse cillum dolore eu fugiat |+|   | nulla pariatur. Excepteur sint occaecat cupidatat non proident,  |+|   | sunt in culpa qui officia deserunt mollit anim id est laborum.   |++---+------------------------------------------------------------------++```
+ test/command/11668.md view
@@ -0,0 +1,42 @@+```+% pandoc -f man -t html+TH "TEST" "1" "2026-05-25" "test v1.0.0" "test manual"+.SH HEADING+.TP 4+This is the unindented tag.+This text, along with the table, should be indented.+.TS+tab(;);+l l.+aaa;bbb+ccc;ddd+.TE+This should still be indented, until some other macro is called to change it.+.PP+Like this.+^D+<p>TH "TEST" "1" "2026-05-25" "test v1.0.0" "test manual"</p>+<h1 id="heading">HEADING</h1>+<dl>+<dt>This is the unindented tag.</dt>+<dd>+<p>This text, along with the table, should be indented.</p>+<table>+<tbody>+<tr>+<td style="text-align: left;">aaa</td>+<td style="text-align: left;">bbb</td>+</tr>+<tr>+<td style="text-align: left;">ccc</td>+<td style="text-align: left;">ddd</td>+</tr>+</tbody>+</table>+<p>This should still be indented, until some other macro is called to+change it.</p>+</dd>+</dl>+<p>Like this.</p>++```
+ test/command/11682.md view
@@ -0,0 +1,81 @@+Cell paragraphs that use `\plain` after `\intbl`, together with a single+`\trowd` and `\row` row terminators, should produce a flat table rather+than deeply nested tables.++```+% pandoc -f rtf -t native+{\rtf1\ansi\deff0+{\fonttbl{\f0 Times;}{\f1 Times;}{\f2 Times;}}+\trowd\trgaph60\trleft0+\clvertalt\cellx3245+\clvertalt\cellx6490+\clvertalt\cellx9735+\pard\intbl\s0\ql\plain\f0\fs20\plain\f2\fs22 A\plain\f1\fs22\cell+\pard\intbl\s0\ql\plain\f0\fs20\plain\f2\fs22 B\plain\f1\fs22\cell+\pard\intbl\s0\ql\plain\f0\fs20\plain\f2\fs22 C\plain\f1\fs22\cell+\intbl\row+\pard\intbl\s0\ql\plain\f0\fs20\plain\f2\fs22 1\plain\f1\fs22\cell+\pard\intbl\s0\ql\plain\f0\fs20\plain\f2\fs22 2\plain\f1\fs22\cell+\pard\intbl\s0\ql\plain\f0\fs20\plain\f2\fs22 3\plain\f1\fs22\cell+\intbl\row+}+^D+[ Table+    ( "" , [] , [] )+    (Caption Nothing [])+    [ ( AlignDefault , ColWidthDefault )+    , ( AlignDefault , ColWidthDefault )+    , ( AlignDefault , ColWidthDefault )+    ]+    (TableHead ( "" , [] , [] ) [])+    [ TableBody+        ( "" , [] , [] )+        (RowHeadColumns 0)+        []+        [ Row+            ( "" , [] , [] )+            [ Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Para [ Str "A" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Para [ Str "B" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Para [ Str "C" ] ]+            ]+        , Row+            ( "" , [] , [] )+            [ Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Para [ Str "1" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Para [ Str "2" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Para [ Str "3" ] ]+            ]+        ]+    ]+    (TableFoot ( "" , [] , [] ) [])+]+```
test/command/2434.md view
@@ -6,23 +6,23 @@     2. beta     * gamma ^D-<text:list text:style-name="L1">+<text:list text:style-name="Numbering_20_1">   <text:list-item>-    <text:p text:style-name="P1">a</text:p>+    <text:p text:style-name="List_20_Number_20_Tight">a</text:p>   </text:list-item>   <text:list-item>-    <text:p text:style-name="P1">b</text:p>-    <text:list>+    <text:p text:style-name="List_20_Number_20_Tight">b</text:p>+    <text:list text:style-name="Numbering_20_1">       <text:list-item>-        <text:p text:style-name="P1">alpha</text:p>+        <text:p text:style-name="List_20_Number_20_Tight">alpha</text:p>       </text:list-item>       <text:list-item>-        <text:p text:style-name="P1">beta</text:p>+        <text:p text:style-name="List_20_Number_20_Tight">beta</text:p>       </text:list-item>     </text:list>-    <text:list text:style-name="L2">+    <text:list text:style-name="List_20_1">       <text:list-item>-        <text:p text:style-name="P2">gamma</text:p>+        <text:p text:style-name="List_20_Bullet_20_Tight">gamma</text:p>       </text:list-item>     </text:list>   </text:list-item>@@ -40,20 +40,23 @@      more text -- this line is missing in the odt output ^D-<text:list text:style-name="L1">+<text:list text:style-name="Pandoc_5f_Numbering_5f_1">   <text:list-item>-    <text:p text:style-name="P1">text</text:p>-    <text:p text:style-name="P1">some text</text:p>-    <text:list>+    <text:p text:style-name="List_20_Number">text</text:p>+    <text:p text:style-name="List_20_Number">some text</text:p>+    <text:list text:style-name="Pandoc_5f_Numbering_5f_2">       <text:list-item>-        <text:p text:style-name="P1">sub item 1</text:p>+        <text:p text:style-name="List_20_Number_20_Tight">sub item+        1</text:p>       </text:list-item>       <text:list-item>-        <text:p text:style-name="P1">sub item 2</text:p>+        <text:p text:style-name="List_20_Number_20_Tight">sub item+        2</text:p>       </text:list-item>     </text:list>-    <text:p text:style-name="P1">more text – this line is missing in the-    odt output</text:p>+    <text:p text:style-name="List_20_Number">more text – this line is+    missing in the odt output</text:p>   </text:list-item> </text:list> ```+
test/command/5543.md view
@@ -4,5 +4,5 @@ :   description ^D 1\. item-:   description+: description ```
test/command/5876.md view
@@ -48,13 +48,13 @@ % pandoc -s -t native --data-dir=command/5876 --metadata-file=does-not-exist.yaml Hello ^D-2> Could not find metadata file does-not-exist.yaml+2> Could not find metadata file 'does-not-exist.yaml' => 98 ``` ``` % pandoc -s -t native --metadata-file=does-not-exist.yaml Hello ^D-2> Could not find metadata file does-not-exist.yaml+2> Could not find metadata file 'does-not-exist.yaml' => 98 ```
test/command/6137.md view
@@ -38,79 +38,76 @@     , Space     , Str "work."     ]-, Div+, Table     ( "tbl:label" , [] , [] )-    [ Table+    (Caption+       Nothing+       [ Plain+           [ Str "This"+           , Space+           , Str "caption"+           , Space+           , Str "has"+           , Space+           , Str "no"+           , Space+           , Str "number."+           ]+       ])+    [ ( AlignLeft , ColWidthDefault )+    , ( AlignCenter , ColWidthDefault )+    , ( AlignRight , ColWidthDefault )+    ]+    (TableHead ( "" , [] , [] ) [])+    [ TableBody         ( "" , [] , [] )-        (Caption-           Nothing-           [ Plain-               [ Str "This"-               , Space-               , Str "caption"-               , Space-               , Str "has"-               , Space-               , Str "no"-               , Space-               , Str "number."-               ]-           ])-        [ ( AlignLeft , ColWidthDefault )-        , ( AlignCenter , ColWidthDefault )-        , ( AlignRight , ColWidthDefault )-        ]-        (TableHead ( "" , [] , [] ) [])-        [ TableBody+        (RowHeadColumns 0)+        []+        [ Row             ( "" , [] , [] )-            (RowHeadColumns 0)-            []-            [ Row+            [ Cell                 ( "" , [] , [] )-                [ Cell-                    ( "" , [] , [] )-                    AlignDefault-                    (RowSpan 1)-                    (ColSpan 1)-                    [ Plain [ Str "\8212\8212\8211" ] ]-                , Cell-                    ( "" , [] , [] )-                    AlignDefault-                    (RowSpan 1)-                    (ColSpan 1)-                    [ Plain [ Str "\8212\8212\8211" ] ]-                , Cell-                    ( "" , [] , [] )-                    AlignDefault-                    (RowSpan 1)-                    (ColSpan 1)-                    [ Plain [ Str "\8212\8212\8211" ] ]-                ]-            , Row+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Plain [ Str "\8212\8212\8211" ] ]+            , Cell                 ( "" , [] , [] )-                [ Cell-                    ( "" , [] , [] )-                    AlignDefault-                    (RowSpan 1)-                    (ColSpan 1)-                    [ Plain [ Str "\8212\8212\8211" ] ]-                , Cell-                    ( "" , [] , [] )-                    AlignDefault-                    (RowSpan 1)-                    (ColSpan 1)-                    [ Plain [ Str "\8212\8212\8211" ] ]-                , Cell-                    ( "" , [] , [] )-                    AlignDefault-                    (RowSpan 1)-                    (ColSpan 1)-                    [ Plain [ Str "\8212\8212\8211" ] ]-                ]+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Plain [ Str "\8212\8212\8211" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Plain [ Str "\8212\8212\8211" ] ]             ]+        , Row+            ( "" , [] , [] )+            [ Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Plain [ Str "\8212\8212\8211" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Plain [ Str "\8212\8212\8211" ] ]+            , Cell+                ( "" , [] , [] )+                AlignDefault+                (RowSpan 1)+                (ColSpan 1)+                [ Plain [ Str "\8212\8212\8211" ] ]+            ]         ]-        (TableFoot ( "" , [] , [] ) [])     ]+    (TableFoot ( "" , [] , [] ) []) , Para     [ Str "This"     , Space
test/command/6858.md view
@@ -27,13 +27,13 @@  \*FvwmAnimate: Color color -:   Tells **FvwmAnimate** what color to draw with. The color is-    \"XOR\'ed\" (exclusive ORed) onto the background.+: Tells **FvwmAnimate** what color to draw with. The color is+  \"XOR\'ed\" (exclusive ORed) onto the background.  \*FvwmAnimate: Pixmap pixmap -:   Tells **FvwmAnimate** to use **pixmap** to draw with. This can be-    useful if **\*FvwmAnimate: Color** gives poor results.+: Tells **FvwmAnimate** to use **pixmap** to draw with. This can be+  useful if **\*FvwmAnimate: Color** gives poor results. ```  ```
test/command/7521.md view
@@ -5,7 +5,7 @@ - two ^D <ul>-<li>one </li>+<li>one</li> <li>two</li> </ul> ```
test/command/7861.md view
@@ -2,6 +2,6 @@ % pandoc -s -t native --data-dir=command/7861 --metadata-file=../../7861.yaml Hello ^D-2> Could not find metadata file ../../7861.yaml+2> Could not find metadata file '../../7861.yaml' => 98 ```
test/command/8256.md view
@@ -16,14 +16,13 @@     <style:font-face style:name="Courier New" style:font-family-generic="modern" style:font-pitch="fixed" svg:font-family="'Courier New'" />   </office:font-face-decls>   <office:automatic-styles>-    <style:style style:name="T1" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic" /></style:style>     <style:style style:name="fr2" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" style:wrap="none" /></style:style>     <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" /></style:style>   </office:automatic-styles> <office:body> <office:text> <text:p text:style-name="Title">This-<text:span text:style-name="T1">is</text:span><text:line-break />a+<text:span text:style-name="Emphasis">is</text:span><text:line-break />a test</text:p> <text:p text:style-name="Author">Someone</text:p> <text:p text:style-name="Text_20_body">Testing.</text:p>
+ test/command/8852.md view
@@ -0,0 +1,43 @@+Github Formatted Markdown Identifiers+```+% pandoc -f man+gfm_auto_identifiers -t html+.TH "TEST" "1" "2026-05-08"  "test v1.0.0" "test manual"+.SH 1st HEADING+.SH C++ & Rust+.SH HEADING+.SH HEADING+^D+<h1 id="1st-heading">1st HEADING</h1>+<h1 id="c--rust">C++ &amp; Rust</h1>+<h1 id="heading">HEADING</h1>+<h1 id="heading-1">HEADING</h1>+```++Ascii Identifiers test+```+% pandoc -f man+ascii_identifiers -t html+.TH "TEST" "1" "2026-05-08"  "test v1.0.0" "test manual"+.SH Über den Flüssen+^D+<h1 id="uber-den-flussen">Über den Flüssen</h1>+```++Headers without Auto Identifiers test+```+% pandoc -f man-auto_identifiers -t native+.TH "TEST" "1" "2026-05-08"  "test v1.0.0" "test manual"+.SS Level 2+.SS different styles:+.SS Ordered+.SS Ordered+^D+[ Header+    2 ( "" , [] , [] ) [ Str "Level" , Space , Str "2" ]+, Header+    2+    ( "" , [] , [] )+    [ Str "different" , Space , Str "styles:" ]+, Header 2 ( "" , [] , [] ) [ Str "Ordered" ]+, Header 2 ( "" , [] , [] ) [ Str "Ordered" ]+]+```
+ test/command/8880.md view
@@ -0,0 +1,42 @@+Raw EPUB attributes are rendered in EPUB output.++```+% pandoc -f native -t epub --metadata title=Raw -o - | pandoc -f epub -t html+[ RawBlock (Format "epub") "<p>ok</p>" ]+^D+<p><span id="title_page.xhtml"></span></p>+<p><span id="ch001.xhtml"></span></p>+<section id="ch001.xhtml_raw" class="unnumbered level1">+<h1 class="unnumbered">Raw</h1>+<p>ok</p>+</section>+```++Raw EPUB2 attributes are omitted from EPUB3 output.++```+% pandoc -f markdown -t epub3 --metadata title=Raw -o - | pandoc -f epub -t html+~~~ {=epub2}+<p>ok</p>+~~~+^D+<p><span id="title_page.xhtml"></span></p>+<p><span id="ch001.xhtml"></span></p>+<section id="ch001.xhtml_raw" class="unnumbered level1">+<h1 class="unnumbered">Raw</h1>+</section>+```++```+% pandoc -f markdown -t epub3 --metadata title=Raw -o - | pandoc -f epub -t html+~~~ {=epub3}+<p>ok</p>+~~~+^D+<p><span id="title_page.xhtml"></span></p>+<p><span id="ch001.xhtml"></span></p>+<section id="ch001.xhtml_raw" class="unnumbered level1">+<h1 class="unnumbered">Raw</h1>+<p>ok</p>+</section>+```
+ test/command/9136.md view
@@ -0,0 +1,89 @@+Verify that the OpenDocument writer uses predefined list, paragraph, and+text styles instead of generating per-instance automatic styles.++```+% pandoc -t opendocument+- one+- two++1. ordered one+2. ordered two++Some *italic*, **bold**, ~~strike~~, and `code`.++> A block quote.++Final paragraph.+^D+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">one</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">two</text:p>+  </text:list-item>+</text:list>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">ordered+    one</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">ordered+    two</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Some+<text:span text:style-name="Emphasis">italic</text:span>,+<text:span text:style-name="Strong_20_Emphasis">bold</text:span>,+<text:span text:style-name="Strikeout">strike</text:span>, and+<text:span text:style-name="Source_20_Text">code</text:span>.</text:p>+<text:p text:style-name="Quotations">A block quote.</text:p>+<text:p text:style-name="First_20_paragraph">Final paragraph.</text:p>+```++A non-default ordered list (start value other than 1, or non-decimal+format) generates a single named override style, not one per instance.++```+% pandoc -t opendocument+A) upper-alpha one+B) upper-alpha two++5. start at five+6. and continue+^D+<text:list text:style-name="Pandoc_5f_Numbering_5f_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">upper-alpha+    one</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">upper-alpha+    two</text:p>+  </text:list-item>+</text:list>+<text:list text:style-name="Numbering_20_1" text:start-value="5">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">start at+    five</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">and+    continue</text:p>+  </text:list-item>+</text:list>+```++A nested block quote uses the predefined `Quotations` style for the+outer paragraph, and inherits indent from it for the inner paragraph.++```+% pandoc -t opendocument+> First.+>+> > Nested.+^D+<text:p text:style-name="Quotations">First.</text:p>+<text:p text:style-name="P1">Nested.</text:p>+```
test/command/9201.md view
@@ -12,7 +12,7 @@  **\--help** -:   This is line one.+: This is line one. -    This is line two.+  This is line two. ```
test/command/9391.md view
@@ -3,7 +3,7 @@ ^D <p>Lorem ipsum.</p> <figure>-<img src="media/image1.png" style="width:1.10263in;height:1.10263in" />+<img src="media/image1.png" style="width:1.09702in;height:1.09702in" /> <figcaption><p>Blue square.</p></figcaption> </figure> ```
test/command/9472.md view
@@ -62,6 +62,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={de-DE},   hidelinks,
test/command/9700.md view
@@ -8,7 +8,7 @@ ^D This is a normal sentence with a manual text footnote* -\* The footnote explains why it couldn’t just be inside parentheses+<nowiki></nowiki>* The footnote explains why it couldn’t just be inside parentheses -\#foobar #foobar+<nowiki></nowiki>#foobar #foobar ```
test/command/biblatex-crossref-nested.md view
@@ -53,7 +53,7 @@   publisher: Publisher   publisher-place: Location   title: Macbeth \[title field of bookinbook-1\]-  type: chapter+  type: book   volume: 3   volume-title: Tragedies \[title field of book-1\] - author:
+ test/command/grid-table-indented.md view
@@ -0,0 +1,65 @@+Like other block-level constructs, grid tables may be indented by up to+three spaces and are still recognized as tables.++```+% pandoc -f markdown -t html+   +---+---++   | a | b |+   +===+===++   | 1 | 2 |+   +---+---++^D+<table style="width:11%;">+<colgroup>+<col style="width: 5%" />+<col style="width: 5%" />+</colgroup>+<thead>+<tr>+<th>a</th>+<th>b</th>+</tr>+</thead>+<tbody>+<tr>+<td>1</td>+<td>2</td>+</tr>+</tbody>+</table>+```++A headerless indented grid table is recognized too.++```+% pandoc -f markdown -t html+  +------+------++  | foo  | bar  |+  +------+------++^D+<table style="width:19%;">+<colgroup>+<col style="width: 9%" />+<col style="width: 9%" />+</colgroup>+<tbody>+<tr>+<td>foo</td>+<td>bar</td>+</tr>+</tbody>+</table>+```++A grid table indented four spaces is a code block, not a table.++```+% pandoc -f markdown -t html+    +---+---++    | a | b |+    +---+---++^D+<pre><code>+---+---++| a | b |++---+---+</code></pre>+```
test/command/pdfstandard.md view
@@ -66,6 +66,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en-US},   hidelinks,@@ -149,6 +153,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en-US},   hidelinks,@@ -236,6 +244,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={de-DE},   hidelinks,@@ -319,6 +331,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en-US},   hidelinks,@@ -401,6 +417,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en-US},   hidelinks,@@ -487,6 +507,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en-US},   hidelinks,@@ -572,6 +596,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en-US},   hidelinks,
test/command/table-with-column-span.md view
@@ -315,11 +315,11 @@   <table:table-column table:style-name="Table1.P" />   <table:table-row>     <table:table-cell table:style-name="TableRowCell" office:value-type="string" table:number-columns-spanned="8">-      <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">Octet+      <text:p text:style-name="Table_20_Contents"><text:span text:style-name="Strong_20_Emphasis">Octet       no. 1</text:span></text:p>     </table:table-cell>     <table:table-cell table:style-name="TableRowCell" office:value-type="string" table:number-columns-spanned="8">-      <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">Octet+      <text:p text:style-name="Table_20_Contents"><text:span text:style-name="Strong_20_Emphasis">Octet       no. 2</text:span></text:p>     </table:table-cell>   </table:table-row>
test/command/typst-property-output.md view
@@ -26,7 +26,8 @@ <div typst:text:fill="purple">foo</div> ^D #block[-#set text(fill: purple); foo+#set text(fill: purple);+foo ] ``` @@ -63,7 +64,7 @@ </table> ^D #figure(-  align(center)[#set text(fill: orange); #table(+  align(center)[#set text(fill: orange);#table(     columns: 2,     align: (auto,auto,),     [A], [B],@@ -98,7 +99,8 @@   align(center)[#table(     columns: 2,     align: (auto,auto,),-    [A], [#set text(fill: fuchsia); B],+    [A], [#set text(fill: fuchsia);+    B],   )]   , kind: table   )@@ -114,7 +116,8 @@   align(center)[#table(     columns: 2,     align: (auto,center,),-    [A], table.cell(align: center)[#set text(fill: maroon); B],+    [A], table.cell(align: center)[#set text(fill: maroon);+    B],   )]   , kind: table   )@@ -169,7 +172,7 @@ ^D Paragraph before. -#{set text(size: 3em); table(+#{set text(size: 3em);table(   columns: 3,   align: (auto,auto,auto,),   [A], [B], [C],@@ -195,7 +198,7 @@ Paragraph before.  #figure(-  align(center)[#set text(size: 3em); #table(+  align(center)[#set text(size: 3em);#table(     columns: 3,     align: (auto,auto,auto,),     [A], [B], [C],
test/man-reader.native view
@@ -42,11 +42,11 @@       , Space       , Str "*"       ]-  , Header 1 ( "" , [] , [] ) [ Str "Headers" ]+  , Header 1 ( "headers" , [] , [] ) [ Str "Headers" ]   , Header-      1 ( "" , [] , [] ) [ Str "Level" , Space , Str "1" ]+      1 ( "level-1" , [] , [] ) [ Str "Level" , Space , Str "1" ]   , Header-      2 ( "" , [] , [] ) [ Str "Level" , Space , Str "2" ]+      2 ( "level-2" , [] , [] ) [ Str "Level" , Space , Str "2" ]   , Para       [ Str "*"       , Space@@ -58,7 +58,7 @@       , Space       , Str "*"       ]-  , Header 1 ( "" , [] , [] ) [ Str "Paragraphs" ]+  , Header 1 ( "paragraphs" , [] , [] ) [ Str "Paragraphs" ]   , Para       [ Str "Here's"       , Space@@ -159,7 +159,9 @@       , Str "*"       ]   , Header-      1 ( "" , [] , [] ) [ Str "Block" , Space , Str "Quotes" ]+      1+      ( "block-quotes" , [] , [] )+      [ Str "Block" , Space , Str "Quotes" ]   , Para       [ Str "Code"       , Space@@ -182,7 +184,9 @@       , [ Para [ Str "item" , Space , Str "two" ] ]       ]   , Header-      1 ( "" , [] , [] ) [ Str "Code" , Space , Str "Blocks" ]+      1+      ( "code-blocks" , [] , [] )+      [ Str "Code" , Space , Str "Blocks" ]   , Para [ Str "Code:" ]   , CodeBlock       ( "" , [] , [] )@@ -201,22 +205,22 @@       , Space       , Str "*"       ]-  , Header 1 ( "" , [] , [] ) [ Str "Lists" ]-  , Header 2 ( "" , [] , [] ) [ Str "Unordered" ]+  , Header 1 ( "lists" , [] , [] ) [ Str "Lists" ]+  , Header 2 ( "unordered" , [] , [] ) [ Str "Unordered" ]   , Para [ Str "Asterisks:" ]   , BulletList       [ [ Para [ Str "asterisk" , Space , Str "1" ] ]       , [ Para [ Str "asterisk" , Space , Str "2" ] ]       , [ Para [ Str "asterisk" , Space , Str "3" ] ]       ]-  , Header 2 ( "" , [] , [] ) [ Str "Ordered" ]+  , Header 2 ( "ordered" , [] , [] ) [ Str "Ordered" ]   , OrderedList       ( 1 , Decimal , Period )       [ [ Para [ Str "First" ] ]       , [ Para [ Str "Second" ] ]       , [ Para [ Str "Third" ] ]       ]-  , Header 2 ( "" , [] , [] ) [ Str "Nested" ]+  , Header 2 ( "nested" , [] , [] ) [ Str "Nested" ]   , BulletList       [ [ Para [ Str "Tab" ]         , BulletList@@ -254,7 +258,7 @@       ]   , Header       2-      ( "" , [] , [] )+      ( "different-styles" , [] , [] )       [ Str "different" , Space , Str "styles:" ]   , OrderedList       ( 1 , UpperAlpha , Period )@@ -292,7 +296,7 @@             ]         ]       ]-  , Header 2 ( "" , [] , [] ) [ Str "Ordered" ]+  , Header 2 ( "ordered-1" , [] , [] ) [ Str "Ordered" ]   , Para [ Str "Definition" , Space , Str "lists" ]   , DefinitionList       [ ( [ Strong [ Str "term1" ] ]@@ -323,7 +327,7 @@       ]   , Header       1-      ( "" , [] , [] )+      ( "special-characters" , [] , [] )       [ Str "Special" , Space , Str "Characters" ]   , Para       [ Str "AT&T"@@ -364,7 +368,7 @@   , Para [ Str "Bang:" , Space , Str "!" ]   , Para [ Str "Plus:" , Space , Str "+" ]   , Para [ Str "Minus:" , Space , Str "-" ]-  , Header 1 ( "" , [] , [] ) [ Str "Links" ]+  , Header 1 ( "links" , [] , [] ) [ Str "Links" ]   , Para       [ Link           ( "" , [] , [] )@@ -379,7 +383,7 @@           ( "mailto:me@example.com" , "" )       , Str "."       ]-  , Header 1 ( "" , [] , [] ) [ Str "Macros" ]+  , Header 1 ( "macros" , [] , [] ) [ Str "Macros" ]   , Para       [ Strong [ Str "Me" , Space , Str "Myself" ]       , Space@@ -406,7 +410,7 @@       , Strong [ Str "Author" ]       , Str "."       ]-  , Header 1 ( "" , [] , [] ) [ Str "Tables" ]+  , Header 1 ( "tables" , [] , [] ) [ Str "Tables" ]   , Table       ( "" , [] , [] )       (Caption Nothing [])
test/s5-basic.html view
@@ -15,8 +15,12 @@     ** See https://pandoc.org/MANUAL.html#variables-for-html for config info.     */     span.smallcaps{font-variant: small-caps;}-    div.columns{display: flex; gap: min(4vw, 1.5em);}-    div.column{flex: auto; overflow-x: auto;}+    div.columns{display: flex; gap: 1.5em;}+    div.column{flex: auto;}+    @media screen {+    div.columns{gap: min(4vw, 1.5em);}+    div.column{overflow-x: auto;}+    }     div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}     /* The extra [class] is a hack that increases specificity enough to        override a similar rule in reveal.js */
test/s5-fancy.html view
@@ -15,8 +15,12 @@     ** See https://pandoc.org/MANUAL.html#variables-for-html for config info.     */     span.smallcaps{font-variant: small-caps;}-    div.columns{display: flex; gap: min(4vw, 1.5em);}-    div.column{flex: auto; overflow-x: auto;}+    div.columns{display: flex; gap: 1.5em;}+    div.column{flex: auto;}+    @media screen {+    div.columns{gap: min(4vw, 1.5em);}+    div.column{overflow-x: auto;}+    }     div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}     /* The extra [class] is a hack that increases specificity enough to        override a similar rule in reveal.js */@@ -39,7 +43,7 @@   <!-- S5 JS -->   <script src="s5/default/slides.js" type="text/javascript"></script>   <script defer=""-  src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js"+  src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-chtml.js"   type="text/javascript"></script> </head> <body>
test/s5-inserts.html view
@@ -3,7 +3,7 @@ <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <meta http-equiv="Content-Style-Type" content="text/css" />-  <meta name="generator" content="pandoc" />+  <meta name="generator" content="pandoc " />   <meta name="author" content="Sam Smith" />   <meta name="author" content="Jen Jones" />   <meta name="date" content="2006-07-15" />@@ -13,8 +13,12 @@     ** See https://pandoc.org/MANUAL.html#variables-for-html for config info.     */     span.smallcaps{font-variant: small-caps;}-    div.columns{display: flex; gap: min(4vw, 1.5em);}-    div.column{flex: auto; overflow-x: auto;}+    div.columns{display: flex; gap: 1.5em;}+    div.column{flex: auto;}+    @media screen {+    div.columns{gap: min(4vw, 1.5em);}+    div.column{overflow-x: auto;}+    }     div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}     /* The extra [class] is a hack that increases specificity enough to        override a similar rule in reveal.js */
test/tables/nordics.mediawiki view
@@ -1,4 +1,4 @@-{| id="nordics" class="wikitable" source="wikipedia"+{| id="nordics" class="wikitable" data-source="wikipedia" |+ States belonging to the ''Nordics.'' |- ! style="text-align: center;"| Name
test/tables/students.mediawiki view
@@ -1,4 +1,4 @@-{| id="students" class="wikitable" source="mdn"+{| id="students" class="wikitable" data-source="mdn" |+ List of Students |- ! style="text-align: center;"| Student ID
test/writer.html4 view
@@ -3,7 +3,7 @@ <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <meta http-equiv="Content-Style-Type" content="text/css" />-  <meta name="generator" content="pandoc" />+  <meta name="generator" content="pandoc " />   <meta name="author" content="John MacFarlane" />   <meta name="author" content="Anonymous" />   <meta name="date" content="2006-07-17" />@@ -159,8 +159,12 @@       text-decoration: none;     }     span.smallcaps{font-variant: small-caps;}-    div.columns{display: flex; gap: min(4vw, 1.5em);}-    div.column{flex: auto; overflow-x: auto;}+    div.columns{display: flex; gap: 1.5em;}+    div.column{flex: auto;}+    @media screen {+    div.columns{gap: min(4vw, 1.5em);}+    div.column{overflow-x: auto;}+    }     div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}     /* The extra [class] is a hack that increases specificity enough to        override a similar rule in reveal.js */
test/writer.html5 view
@@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head>   <meta charset="utf-8" />-  <meta name="generator" content="pandoc" />+  <meta name="generator" content="pandoc " />   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />   <meta name="author" content="John MacFarlane" />   <meta name="author" content="Anonymous" />@@ -159,8 +159,12 @@       text-decoration: none;     }     span.smallcaps{font-variant: small-caps;}-    div.columns{display: flex; gap: min(4vw, 1.5em);}-    div.column{flex: auto; overflow-x: auto;}+    div.columns{display: flex; gap: 1.5em;}+    div.column{flex: auto;}+    @media screen {+    div.columns{gap: min(4vw, 1.5em);}+    div.column{overflow-x: auto;}+    }     div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}     /* The extra [class] is a hack that increases specificity enough to        override a similar rule in reveal.js */
test/writer.latex view
@@ -65,6 +65,10 @@ \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same} \VerbatimFootnotes % allow verbatim text in footnotes+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdftitle={Pandoc Test Suite},   pdfauthor={John MacFarlane; Anonymous},
test/writer.man view
@@ -359,27 +359,40 @@ .TP apple red fruit+.RS computer+.RE .TP orange orange fruit+.RS bank+.RE .PP Multiple definitions, loose: .TP apple red fruit+.RS+.PP computer+.RE .TP orange orange fruit+.RS+.PP bank+.RE .PP Blank line after term, indented marker, alternate markers: .TP apple red fruit+.RS+.PP computer+.RE .TP orange orange fruit
test/writer.markdown view
@@ -261,93 +261,93 @@ Tight using spaces:  apple-:   red fruit+: red fruit  orange-:   orange fruit+: orange fruit  banana-:   yellow fruit+: yellow fruit  Tight using tabs:  apple-:   red fruit+: red fruit  orange-:   orange fruit+: orange fruit  banana-:   yellow fruit+: yellow fruit  Loose:  apple -:   red fruit+: red fruit  orange -:   orange fruit+: orange fruit  banana -:   yellow fruit+: yellow fruit  Multiple blocks with italics:  *apple* -:   red fruit+: red fruit -    contains seeds, crisp, pleasant to taste+  contains seeds, crisp, pleasant to taste  *orange* -:   orange fruit+: orange fruit -        { orange code block }+      { orange code block } -    > orange block quote+  > orange block quote  Multiple definitions, tight:  apple-:   red fruit-:   computer+: red fruit+: computer  orange-:   orange fruit-:   bank+: orange fruit+: bank  Multiple definitions, loose:  apple -:   red fruit+: red fruit -:   computer+: computer  orange -:   orange fruit+: orange fruit -:   bank+: bank  Blank line after term, indented marker, alternate markers:  apple -:   red fruit+: red fruit -:   computer+: computer  orange -:   orange fruit+: orange fruit -    1.  sublist-    2.  sublist+  1.  sublist+  2.  sublist  # HTML Blocks 
test/writer.opendocument view
@@ -4,1909 +4,958 @@     <style:font-face style:name="Courier New" style:font-family-generic="modern" style:font-pitch="fixed" svg:font-family="'Courier New'" />   </office:font-face-decls>   <office:automatic-styles>-    <text:list-style style:name="L1">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L2">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L3">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L4">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L5">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L6">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L7">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L8">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L9">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L10">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L11">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L12">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L13">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L14">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L15">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L16">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L17">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L18">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L19">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L20">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L21">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L22">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="2" style:num-prefix="(" style:num-suffix=")">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="i" text:start-value="4" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-number>-      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="A" text:start-value="1" style:num-prefix="(" style:num-suffix=")">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L23">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="A" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="I" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-number>-      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="6" style:num-prefix="(" style:num-suffix=")">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-number>-      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="a" text:start-value="3" style:num-suffix=")">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L24">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L25">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <text:list-style style:name="L26">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L27">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L28">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L29">-      <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.75in" fo:text-indent="-0.25in" fo:margin-left="0.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.0in" fo:text-indent="-0.25in" fo:margin-left="1.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.25in" fo:text-indent="-0.25in" fo:margin-left="1.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.5in" fo:text-indent="-0.25in" fo:margin-left="1.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.75in" fo:text-indent="-0.25in" fo:margin-left="1.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.0in" fo:text-indent="-0.25in" fo:margin-left="2.0in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="◦">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.25in" fo:text-indent="-0.25in" fo:margin-left="2.25in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="▪">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.5in" fo:text-indent="-0.25in" fo:margin-left="2.5in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-      <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.75in" fo:text-indent="-0.25in" fo:margin-left="2.75in" />-        </style:list-level-properties>-      </text:list-level-style-bullet>-    </text:list-style>-    <text:list-style style:name="L30">-      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" text:start-value="1" style:num-suffix=".">-        <style:list-level-properties text:list-level-position-and-space-mode="label-alignment" fo:text-align="right">-          <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.5in" fo:text-indent="-0.25in" fo:margin-left="0.5in" />-        </style:list-level-properties>-      </text:list-level-style-number>-    </text:list-style>-    <style:style style:name="T1" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic" /></style:style>-    <style:style style:name="T2" style:family="text"><style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold" /></style:style>-    <style:style style:name="T3" style:family="text"><style:text-properties fo:font-style="italic" fo:font-weight="bold" style:font-style-asian="italic" style:font-style-complex="italic" style:font-weight-asian="bold" style:font-weight-complex="bold" /></style:style>-    <style:style style:name="T4" style:family="text"><style:text-properties style:text-line-through-style="solid" /></style:style>-    <style:style style:name="T5" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic" style:text-line-through-style="solid" /></style:style>-    <style:style style:name="T6" style:family="text"><style:text-properties style:text-position="super 58%" /></style:style>-    <style:style style:name="T7" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic" style:text-position="super 58%" /></style:style>-    <style:style style:name="T8" style:family="text"><style:text-properties style:text-position="sub 58%" /></style:style>-    <style:style style:name="fr2" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" style:wrap="none" /></style:style>-    <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" /></style:style>-    <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L1">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="1.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P8" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="1.0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P9" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P10" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P11" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P12" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P13" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P14" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P15" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P16" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P17" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P18" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P19" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L2">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P20" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L3">-    </style:style>-    <style:style style:name="P21" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L4">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P22" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L5">-    </style:style>-    <style:style style:name="P23" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L6">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P24" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L7">-    </style:style>-    <style:style style:name="P25" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L8">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P26" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L9">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P27" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L10">-    </style:style>-    <style:style style:name="P28" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L11">-    </style:style>-    <style:style style:name="P29" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L12">-    </style:style>-    <style:style style:name="P30" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L13">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P31" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L14">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P32" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L15">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P33" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L16">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P34" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L17">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P35" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L18">-    </style:style>-    <style:style style:name="P36" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L19">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P37" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L20">-    </style:style>-    <style:style style:name="P38" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L21">-    </style:style>-    <style:style style:name="P39" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L22">-    </style:style>-    <style:style style:name="P40" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L23">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P41" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L24">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P42" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P43" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P44" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L25">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P45" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P46" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P47" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P48" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P49" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P50" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P51" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L26">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P52" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L27">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P53" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L28">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P54" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P55" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L29">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-    <style:style style:name="P56" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P57" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P58" style:family="paragraph" style:parent-style-name="Preformatted_20_Text">-    </style:style>-    <style:style style:name="P59" style:family="paragraph" style:parent-style-name="Quotations">-      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />-    </style:style>-    <style:style style:name="P60" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L30">-      <style:paragraph-properties fo:margin-top="0in" fo:margin-bottom="0in" />-    </style:style>-  </office:automatic-styles>-<office:body>-<office:text>-<text:p text:style-name="Title">Pandoc Test Suite</text:p>-<text:p text:style-name="Author">John MacFarlane</text:p>-<text:p text:style-name="Author">Anonymous</text:p>-<text:p text:style-name="Date">July 17, 2006</text:p>-<text:p text:style-name="Text_20_body">This is a set of tests for pandoc. Most-of them are adapted from John Gruber’s markdown test suite.</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="headers" />Headers<text:bookmark-end text:name="headers" /></text:h>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="level-2-with-an-embedded-link" />Level-2 with an-<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">embedded-link</text:span></text:a><text:bookmark-end text:name="level-2-with-an-embedded-link" /></text:h>-<text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="level-3-with-emphasis" />Level-3 with-<text:span text:style-name="T1">emphasis</text:span><text:bookmark-end text:name="level-3-with-emphasis" /></text:h>-<text:h text:style-name="Heading_20_4" text:outline-level="4"><text:bookmark-start text:name="level-4" />Level-4<text:bookmark-end text:name="level-4" /></text:h>-<text:h text:style-name="Heading_20_5" text:outline-level="5"><text:bookmark-start text:name="level-5" />Level-5<text:bookmark-end text:name="level-5" /></text:h>-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="level-1" />Level-1<text:bookmark-end text:name="level-1" /></text:h>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="level-2-with-emphasis" />Level-2 with-<text:span text:style-name="T1">emphasis</text:span><text:bookmark-end text:name="level-2-with-emphasis" /></text:h>-<text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="level-3" />Level-3<text:bookmark-end text:name="level-3" /></text:h>-<text:p text:style-name="First_20_paragraph">with no blank line</text:p>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="level-2" />Level-2<text:bookmark-end text:name="level-2" /></text:h>-<text:p text:style-name="First_20_paragraph">with no blank line</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="paragraphs" />Paragraphs<text:bookmark-end text:name="paragraphs" /></text:h>-<text:p text:style-name="First_20_paragraph">Here’s a regular-paragraph.</text:p>-<text:p text:style-name="Text_20_body">In Markdown 1.0.0 and earlier. Version 8.-This line turns into a list item. Because a hard-wrapped line in the middle of a-paragraph looked like a list item.</text:p>-<text:p text:style-name="Text_20_body">Here’s one with a bullet. *-criminey.</text:p>-<text:p text:style-name="Text_20_body">There should be a hard line-break<text:line-break />here.</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="block-quotes" />Block-Quotes<text:bookmark-end text:name="block-quotes" /></text:h>-<text:p text:style-name="First_20_paragraph">E-mail style:</text:p>-<text:p text:style-name="P1">This is a block quote. It is pretty short.</text:p>-<text:p text:style-name="P2">Code in a block quote:</text:p>-<text:p text:style-name="P3">sub status {</text:p>-<text:p text:style-name="P4"><text:s text:c="4" />print &quot;working&quot;;</text:p>-<text:p text:style-name="P5">}</text:p>-<text:p text:style-name="P2">A list:</text:p>-<text:list text:style-name="L1">-  <text:list-item>-    <text:p text:style-name="P6">item one</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P6">item two</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="P2">Nested block quotes:</text:p>-<text:p text:style-name="P7">nested</text:p>-<text:p text:style-name="P8">nested</text:p>-<text:p text:style-name="First_20_paragraph">This should not be a block quote: 2-&gt; 1.</text:p>-<text:p text:style-name="Text_20_body">And a following paragraph.</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="code-blocks" />Code-Blocks<text:bookmark-end text:name="code-blocks" /></text:h>-<text:p text:style-name="First_20_paragraph">Code:</text:p>-<text:p text:style-name="P9">---- (should be four hyphens)</text:p>-<text:p text:style-name="P10"></text:p>-<text:p text:style-name="P11">sub status {</text:p>-<text:p text:style-name="P12"><text:s text:c="4" />print &quot;working&quot;;</text:p>-<text:p text:style-name="P13">}</text:p>-<text:p text:style-name="P14"></text:p>-<text:p text:style-name="P15">this code block is indented by one tab</text:p>-<text:p text:style-name="First_20_paragraph">And:</text:p>-<text:p text:style-name="P16"><text:s text:c="4" />this code block is indented by two tabs</text:p>-<text:p text:style-name="P17"></text:p>-<text:p text:style-name="P18">These should not be escaped: <text:s text:c="1" />\$ \\ \&gt; \[ \{</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="lists" />Lists<text:bookmark-end text:name="lists" /></text:h>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="unordered" />Unordered<text:bookmark-end text:name="unordered" /></text:h>-<text:p text:style-name="First_20_paragraph">Asterisks tight:</text:p>-<text:list text:style-name="L2">-  <text:list-item>-    <text:p text:style-name="P19">asterisk 1</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P19">asterisk 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P19">asterisk 3</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Asterisks loose:</text:p>-<text:list text:style-name="L3">-  <text:list-item>-    <text:p text:style-name="P20">asterisk 1</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P20">asterisk 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P20">asterisk 3</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Pluses tight:</text:p>-<text:list text:style-name="L4">-  <text:list-item>-    <text:p text:style-name="P21">Plus 1</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P21">Plus 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P21">Plus 3</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Pluses loose:</text:p>-<text:list text:style-name="L5">-  <text:list-item>-    <text:p text:style-name="P22">Plus 1</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P22">Plus 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P22">Plus 3</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Minuses tight:</text:p>-<text:list text:style-name="L6">-  <text:list-item>-    <text:p text:style-name="P23">Minus 1</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P23">Minus 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P23">Minus 3</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Minuses loose:</text:p>-<text:list text:style-name="L7">-  <text:list-item>-    <text:p text:style-name="P24">Minus 1</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P24">Minus 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P24">Minus 3</text:p>-  </text:list-item>-</text:list>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="ordered" />Ordered<text:bookmark-end text:name="ordered" /></text:h>-<text:p text:style-name="First_20_paragraph">Tight:</text:p>-<text:list text:style-name="L8">-  <text:list-item>-    <text:p text:style-name="P25">First</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P25">Second</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P25">Third</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">and:</text:p>-<text:list text:style-name="L9">-  <text:list-item>-    <text:p text:style-name="P26">One</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P26">Two</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P26">Three</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Loose using tabs:</text:p>-<text:list text:style-name="L10">-  <text:list-item>-    <text:p text:style-name="P27">First</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P27">Second</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P27">Third</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">and using spaces:</text:p>-<text:list text:style-name="L11">-  <text:list-item>-    <text:p text:style-name="P28">One</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P28">Two</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P28">Three</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Multiple paragraphs:</text:p>-<text:list text:style-name="L12">-  <text:list-item>-    <text:p text:style-name="P29">Item 1, graf one.</text:p>-    <text:p text:style-name="P29">Item 1. graf two. The quick brown fox jumped-    over the lazy dog’s back.</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P29">Item 2.</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P29">Item 3.</text:p>-  </text:list-item>-</text:list>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="nested" />Nested<text:bookmark-end text:name="nested" /></text:h>-<text:list text:style-name="L13">-  <text:list-item>-    <text:p text:style-name="P30">Tab</text:p><text:list text:style-name="L14">-      <text:list-item>-        <text:p text:style-name="P31">Tab</text:p><text:list text:style-name="L15">-          <text:list-item>-            <text:p text:style-name="P32">Tab</text:p>-          </text:list-item>-        </text:list>-      </text:list-item>-    </text:list>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Here’s another:</text:p>-<text:list text:style-name="L16">-  <text:list-item>-    <text:p text:style-name="P33">First</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P33">Second:</text:p>-    <text:list text:style-name="L17">-      <text:list-item>-        <text:p text:style-name="P34">Fee</text:p>-      </text:list-item>-      <text:list-item>-        <text:p text:style-name="P34">Fie</text:p>-      </text:list-item>-      <text:list-item>-        <text:p text:style-name="P34">Foe</text:p>-      </text:list-item>-    </text:list>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P33">Third</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Same thing but with-paragraphs:</text:p>-<text:list text:style-name="L18">-  <text:list-item>-    <text:p text:style-name="P35">First</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P35">Second:</text:p>-    <text:list text:style-name="L19">-      <text:list-item>-        <text:p text:style-name="P36">Fee</text:p>-      </text:list-item>-      <text:list-item>-        <text:p text:style-name="P36">Fie</text:p>-      </text:list-item>-      <text:list-item>-        <text:p text:style-name="P36">Foe</text:p>-      </text:list-item>-    </text:list>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P35">Third</text:p>-  </text:list-item>-</text:list>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="tabs-and-spaces" />Tabs-and spaces<text:bookmark-end text:name="tabs-and-spaces" /></text:h>-<text:list text:style-name="L20">-  <text:list-item>-    <text:p text:style-name="P37">this is a list item indented with-    tabs</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P37">this is a list item indented with-    spaces</text:p><text:list text:style-name="L21">-      <text:list-item>-        <text:p text:style-name="P38">this is an example list item indented with-        tabs</text:p>-      </text:list-item>-      <text:list-item>-        <text:p text:style-name="P38">this is an example list item indented with-        spaces</text:p>-      </text:list-item>-    </text:list>-  </text:list-item>-</text:list>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="fancy-list-markers" />Fancy-list markers<text:bookmark-end text:name="fancy-list-markers" /></text:h>-<text:list text:style-name="L22">-  <text:list-item>-    <text:p text:style-name="P39">begins with 2</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P39">and now 3</text:p>-    <text:p text:style-name="P39">with a continuation</text:p>-    <text:list>-      <text:list-item>-        <text:p text:style-name="P39">sublist with roman numerals, starting with-        4</text:p>-      </text:list-item>-      <text:list-item>-        <text:p text:style-name="P39">more items</text:p>-        <text:list>-          <text:list-item>-            <text:p text:style-name="P39">a subsublist</text:p>-          </text:list-item>-          <text:list-item>-            <text:p text:style-name="P39">a subsublist</text:p>-          </text:list-item>-        </text:list>-      </text:list-item>-    </text:list>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Nesting:</text:p>-<text:list text:style-name="L23">-  <text:list-item>-    <text:p text:style-name="P40">Upper Alpha</text:p>-    <text:list>-      <text:list-item>-        <text:p text:style-name="P40">Upper Roman.</text:p>-        <text:list>-          <text:list-item>-            <text:p text:style-name="P40">Decimal start with 6</text:p>-            <text:list>-              <text:list-item>-                <text:p text:style-name="P40">Lower alpha with paren</text:p>-              </text:list-item>-            </text:list>-          </text:list-item>-        </text:list>-      </text:list-item>-    </text:list>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Autonumbering:</text:p>-<text:list text:style-name="L24">-  <text:list-item>-    <text:p text:style-name="P41">Autonumber.</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P41">More.</text:p>-    <text:list>-      <text:list-item>-        <text:p text:style-name="P41">Nested.</text:p>-      </text:list-item>-    </text:list>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Should not be a list item:</text:p>-<text:p text:style-name="Text_20_body">M.A. 2007</text:p>-<text:p text:style-name="Text_20_body">B. Williams</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="definition-lists" />Definition-Lists<text:bookmark-end text:name="definition-lists" /></text:h>-<text:p text:style-name="First_20_paragraph">Tight using spaces:</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">orange-fruit</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">banana</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">yellow-fruit</text:p>-<text:p text:style-name="First_20_paragraph">Tight using tabs:</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">orange-fruit</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">banana</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">yellow-fruit</text:p>-<text:p text:style-name="First_20_paragraph">Loose:</text:p>-<text:p text:style-name="Definition_20_Term">apple</text:p>-<text:p text:style-name="Definition_20_Definition">red fruit</text:p>-<text:p text:style-name="Definition_20_Term">orange</text:p>-<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>-<text:p text:style-name="Definition_20_Term">banana</text:p>-<text:p text:style-name="Definition_20_Definition">yellow fruit</text:p>-<text:p text:style-name="First_20_paragraph">Multiple blocks with-italics:</text:p>-<text:p text:style-name="Definition_20_Term"><text:span text:style-name="T1">apple</text:span></text:p>-<text:p text:style-name="Definition_20_Definition">red-fruit</text:p><text:p text:style-name="Definition_20_Definition">contains seeds,-crisp, pleasant to taste</text:p>-<text:p text:style-name="Definition_20_Term"><text:span text:style-name="T1">orange</text:span></text:p>-<text:p text:style-name="Definition_20_Definition">orange-fruit</text:p><text:p text:style-name="P42">{ orange code block }</text:p><text:p text:style-name="P43">orange-block quote</text:p>-<text:p text:style-name="First_20_paragraph">Multiple definitions,-tight:</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">computer</text:p>-<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">orange-fruit</text:p>-<text:p text:style-name="Definition_20_Definition_20_Tight">bank</text:p>-<text:p text:style-name="First_20_paragraph">Multiple definitions,-loose:</text:p>-<text:p text:style-name="Definition_20_Term">apple</text:p>-<text:p text:style-name="Definition_20_Definition">red fruit</text:p>-<text:p text:style-name="Definition_20_Definition">computer</text:p>-<text:p text:style-name="Definition_20_Term">orange</text:p>-<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>-<text:p text:style-name="Definition_20_Definition">bank</text:p>-<text:p text:style-name="First_20_paragraph">Blank line after term, indented-marker, alternate markers:</text:p>-<text:p text:style-name="Definition_20_Term">apple</text:p>-<text:p text:style-name="Definition_20_Definition">red fruit</text:p>-<text:p text:style-name="Definition_20_Definition">computer</text:p>-<text:p text:style-name="Definition_20_Term">orange</text:p>-<text:p text:style-name="Definition_20_Definition">orange-fruit</text:p><text:list text:style-name="L25">-  <text:list-item>-    <text:p text:style-name="P44">sublist</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P44">sublist</text:p>-  </text:list-item>-</text:list>-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="html-blocks" />HTML-Blocks<text:bookmark-end text:name="html-blocks" /></text:h>-<text:p text:style-name="First_20_paragraph">Simple block on one line:</text:p>-<text:p text:style-name="Text_20_body">foo</text:p>-<text:p text:style-name="Text_20_body">And nested without indentation:</text:p>-<text:p text:style-name="Text_20_body">foo</text:p>-<text:p text:style-name="Text_20_body">bar</text:p>-<text:p text:style-name="Text_20_body">Interpreted markdown in a table:</text:p>-<text:p text:style-name="Text_20_body">This is-<text:span text:style-name="T1">emphasized</text:span></text:p>-<text:p text:style-name="Text_20_body">And this is-<text:span text:style-name="T2">strong</text:span></text:p>-<text:p text:style-name="Text_20_body">Here’s a simple block:</text:p>-<text:p text:style-name="Text_20_body">foo</text:p>-<text:p text:style-name="Text_20_body">This should be a code block,-though:</text:p>-<text:p text:style-name="P45">&lt;div&gt;</text:p>-<text:p text:style-name="P46"><text:s text:c="4" />foo</text:p>-<text:p text:style-name="P47">&lt;/div&gt;</text:p>-<text:p text:style-name="First_20_paragraph">As should this:</text:p>-<text:p text:style-name="P48">&lt;div&gt;foo&lt;/div&gt;</text:p>-<text:p text:style-name="First_20_paragraph">Now, nested:</text:p>-<text:p text:style-name="Text_20_body">foo</text:p>-<text:p text:style-name="Text_20_body">This should just be an HTML-comment:</text:p>-<text:p text:style-name="Text_20_body">Multiline:</text:p>-<text:p text:style-name="Text_20_body">Code block:</text:p>-<text:p text:style-name="P49">&lt;!-- Comment --&gt;</text:p>-<text:p text:style-name="First_20_paragraph">Just plain comment, with trailing-spaces on the line:</text:p>-<text:p text:style-name="Text_20_body">Code:</text:p>-<text:p text:style-name="P50">&lt;hr /&gt;</text:p>-<text:p text:style-name="First_20_paragraph">Hr’s:</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="inline-markup" />Inline-Markup<text:bookmark-end text:name="inline-markup" /></text:h>-<text:p text:style-name="First_20_paragraph">This is-<text:span text:style-name="T1">emphasized</text:span>, and so-<text:span text:style-name="T1">is this</text:span>.</text:p>-<text:p text:style-name="Text_20_body">This is-<text:span text:style-name="T2">strong</text:span>, and so-<text:span text:style-name="T2">is this</text:span>.</text:p>-<text:p text:style-name="Text_20_body">An-<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="T1">emphasized-link</text:span></text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body"><text:span text:style-name="T3">This is-strong and em.</text:span></text:p>-<text:p text:style-name="Text_20_body">So is-<text:span text:style-name="T3">this</text:span> word.</text:p>-<text:p text:style-name="Text_20_body"><text:span text:style-name="T3">This is-strong and em.</text:span></text:p>-<text:p text:style-name="Text_20_body">So is-<text:span text:style-name="T3">this</text:span> word.</text:p>-<text:p text:style-name="Text_20_body">This is code:-<text:span text:style-name="Source_20_Text">&gt;</text:span>,-<text:span text:style-name="Source_20_Text">$</text:span>,-<text:span text:style-name="Source_20_Text">\</text:span>,-<text:span text:style-name="Source_20_Text">\$</text:span>,-<text:span text:style-name="Source_20_Text">&lt;html&gt;</text:span>.</text:p>-<text:p text:style-name="Text_20_body"><text:span text:style-name="T4">This is-</text:span><text:span text:style-name="T5">strikeout</text:span><text:span text:style-name="T4">.</text:span></text:p>-<text:p text:style-name="Text_20_body">Superscripts:-a<text:span text:style-name="T6">bc</text:span>d-a<text:span text:style-name="T7">hello</text:span>-a<text:span text:style-name="T6">hello there</text:span>.</text:p>-<text:p text:style-name="Text_20_body">Subscripts:-H<text:span text:style-name="T8">2</text:span>O,-H<text:span text:style-name="T8">23</text:span>O,-H<text:span text:style-name="T8">many of them</text:span>O.</text:p>-<text:p text:style-name="Text_20_body">These should not be superscripts or-subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="smart-quotes-ellipses-dashes" />Smart-quotes, ellipses,-dashes<text:bookmark-end text:name="smart-quotes-ellipses-dashes" /></text:h>-<text:p text:style-name="First_20_paragraph">“Hello,” said the spider. “‘Shelob’-is my name.”</text:p>-<text:p text:style-name="Text_20_body">‘A’, ‘B’, and ‘C’ are letters.</text:p>-<text:p text:style-name="Text_20_body">‘Oak,’ ‘elm,’ and ‘beech’ are names of-trees. So is ‘pine.’</text:p>-<text:p text:style-name="Text_20_body">‘He said, “I want to go.”’ Were you alive-in the 70’s?</text:p>-<text:p text:style-name="Text_20_body">Here is some quoted-‘<text:span text:style-name="Source_20_Text">code</text:span>’ and a-“<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">quoted-link</text:span></text:a>”.</text:p>-<text:p text:style-name="Text_20_body">Some dashes: one—two — three—four —-five.</text:p>-<text:p text:style-name="Text_20_body">Dashes between numbers: 5–7, 255–66,-1987–1999.</text:p>-<text:p text:style-name="Text_20_body">Ellipses…and…and….</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="latex" />LaTeX<text:bookmark-end text:name="latex" /></text:h>-<text:list text:style-name="L26">-  <text:list-item>-    <text:p text:style-name="P51"></text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51">2 + 2 = 4</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51"><text:span text:style-name="T1">x</text:span> ∈ <text:span text:style-name="T1">y</text:span></text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51"><text:span text:style-name="T1">α</text:span> ∧ <text:span text:style-name="T1">ω</text:span></text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51">223</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51"><text:span text:style-name="T1">p</text:span>-Tree</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51">Here’s some display math:-    $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P51">Here’s one that has a line break in it:-    <text:span text:style-name="T1">α</text:span> + <text:span text:style-name="T1">ω</text:span> × <text:span text:style-name="T1">x</text:span><text:span text:style-name="T6">2</text:span>.</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">These shouldn’t be math:</text:p>-<text:list text:style-name="L27">-  <text:list-item>-    <text:p text:style-name="P52">To get the famous equation, write-    <text:span text:style-name="Source_20_Text">$e = mc^2$</text:span>.</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P52">$22,000 is a-    <text:span text:style-name="T1">lot</text:span> of money. So is $34,000. (It-    worked if “lot” is emphasized.)</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P52">Shoes ($20) and socks ($5).</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P52">Escaped-    <text:span text:style-name="Source_20_Text">$</text:span>: $73-    <text:span text:style-name="T1">this should be emphasized</text:span>-    23$.</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">Here’s a LaTeX table:</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="special-characters" />Special-Characters<text:bookmark-end text:name="special-characters" /></text:h>-<text:p text:style-name="First_20_paragraph">Here is some unicode:</text:p>-<text:list text:style-name="L28">-  <text:list-item>-    <text:p text:style-name="P53">I hat: Î</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P53">o umlaut: ö</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P53">section: §</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P53">set membership: ∈</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P53">copyright: ©</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">AT&amp;T has an ampersand in their-name.</text:p>-<text:p text:style-name="Text_20_body">AT&amp;T is another way to write-it.</text:p>-<text:p text:style-name="Text_20_body">This &amp; that.</text:p>-<text:p text:style-name="Text_20_body">4 &lt; 5.</text:p>-<text:p text:style-name="Text_20_body">6 &gt; 5.</text:p>-<text:p text:style-name="Text_20_body">Backslash: \</text:p>-<text:p text:style-name="Text_20_body">Backtick: `</text:p>-<text:p text:style-name="Text_20_body">Asterisk: *</text:p>-<text:p text:style-name="Text_20_body">Underscore: _</text:p>-<text:p text:style-name="Text_20_body">Left brace: {</text:p>-<text:p text:style-name="Text_20_body">Right brace: }</text:p>-<text:p text:style-name="Text_20_body">Left bracket: [</text:p>-<text:p text:style-name="Text_20_body">Right bracket: ]</text:p>-<text:p text:style-name="Text_20_body">Left paren: (</text:p>-<text:p text:style-name="Text_20_body">Right paren: )</text:p>-<text:p text:style-name="Text_20_body">Greater-than: &gt;</text:p>-<text:p text:style-name="Text_20_body">Hash: #</text:p>-<text:p text:style-name="Text_20_body">Period: .</text:p>-<text:p text:style-name="Text_20_body">Bang: !</text:p>-<text:p text:style-name="Text_20_body">Plus: +</text:p>-<text:p text:style-name="Text_20_body">Minus: -</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="links" />Links<text:bookmark-end text:name="links" /></text:h>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="explicit" />Explicit<text:bookmark-end text:name="explicit" /></text:h>-<text:p text:style-name="First_20_paragraph">Just a-<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">URL</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title"><text:span text:style-name="Definition">URL-and title</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by two spaces"><text:span text:style-name="Definition">URL-and title</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by a tab"><text:span text:style-name="Definition">URL-and title</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with &quot;quotes&quot; in it"><text:span text:style-name="Definition">URL-and title</text:span></text:a></text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with single quotes"><text:span text:style-name="Definition">URL-and title</text:span></text:a></text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/with_underscore" office:name=""><text:span text:style-name="Definition">with_underscore</text:span></text:a></text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition">Email-link</text:span></text:a></text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="" office:name=""><text:span text:style-name="Definition">Empty</text:span></text:a>.</text:p>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="reference" />Reference<text:bookmark-end text:name="reference" /></text:h>-<text:p text:style-name="First_20_paragraph">Foo-<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">With-<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">embedded-[brackets]</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">b</text:span></text:a>-by itself should be a link.</text:p>-<text:p text:style-name="Text_20_body">Indented-<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">once</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">Indented-<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">twice</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">Indented-<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">thrice</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">This should [not][] be a link.</text:p>-<text:p text:style-name="P54">[not]: /url</text:p>-<text:p text:style-name="First_20_paragraph">Foo-<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quotes&quot; inside"><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">Foo-<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quote&quot; inside"><text:span text:style-name="Definition">biz</text:span></text:a>.</text:p>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="with-ampersands" />With-ampersands<text:bookmark-end text:name="with-ampersands" /></text:h>-<text:p text:style-name="First_20_paragraph">Here’s a-<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">link-with an ampersand in the URL</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">Here’s a link with an amersand in the-link text:-<text:a xlink:type="simple" xlink:href="http://att.com/" office:name="AT&amp;T"><text:span text:style-name="Definition">AT&amp;T</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">Here’s an-<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline-link</text:span></text:a>.</text:p>-<text:p text:style-name="Text_20_body">Here’s an-<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline-link in pointy braces</text:span></text:a>.</text:p>-<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="autolinks" />Autolinks<text:bookmark-end text:name="autolinks" /></text:h>-<text:p text:style-name="First_20_paragraph">With an ampersand:-<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">http://example.com/?foo=1&amp;bar=2</text:span></text:a></text:p>-<text:list text:style-name="L29">-  <text:list-item>-    <text:p text:style-name="P55">In a list?</text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P55"><text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition">http://example.com/</text:span></text:a></text:p>-  </text:list-item>-  <text:list-item>-    <text:p text:style-name="P55">It should.</text:p>-  </text:list-item>-</text:list>-<text:p text:style-name="First_20_paragraph">An e-mail address:-<text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition">nobody@nowhere.net</text:span></text:a></text:p>-<text:p text:style-name="P56">Blockquoted:-<text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition">http://example.com/</text:span></text:a></text:p>-<text:p text:style-name="First_20_paragraph">Auto-links should not occur here:-<text:span text:style-name="Source_20_Text">&lt;http://example.com/&gt;</text:span></text:p>-<text:p text:style-name="P57">or here: &lt;http://example.com/&gt;</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="images" />Images<text:bookmark-end text:name="images" /></text:h>-<text:p text:style-name="First_20_paragraph">From “Voyage dans la Lune” by-Georges Melies (1902):</text:p>-<text:p text:style-name="FigureWithCaption"><draw:frame draw:name="img1"><draw:image xlink:href="lalune.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame></text:p>-<text:p text:style-name="FigureCaption">lalune</text:p>-<text:p text:style-name="Text_20_body">Here is a movie-<draw:frame draw:name="img2"><draw:image xlink:href="movie.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame>-icon.</text:p>-<text:p text:style-name="Horizontal_20_Line" />-<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="footnotes" />Footnotes<text:bookmark-end text:name="footnotes" /></text:h>-<text:p text:style-name="First_20_paragraph">Here is a footnote-reference,<text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here-is the footnote. It can go anywhere after the footnote reference. It need not be-placed at the end of the document.</text:p></text:note-body></text:note> and-another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here’s-the long note. This one contains multiple-blocks.</text:p><text:p text:style-name="Footnote">Subsequent blocks are-indented to show that they belong to the footnote (as with list-items).</text:p><text:p text:style-name="P58"><text:s text:c="2" />{ &lt;code&gt; }</text:p><text:p text:style-name="Footnote">If-you want, you can indent every line, but you can also be lazy and just indent-the first line of each block.</text:p></text:note-body></text:note> This should-<text:span text:style-name="T1">not</text:span> be a footnote reference, because-it contains a space.[^my note] Here is an inline-note.<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body><text:p text:style-name="Footnote">This-is <text:span text:style-name="T1">easier</text:span> to type. Inline notes may-contain-<text:a xlink:type="simple" xlink:href="http://google.com" office:name=""><text:span text:style-name="Definition">links</text:span></text:a>-and <text:span text:style-name="Source_20_Text">]</text:span> verbatim-characters, as well as [bracketed-text].</text:p></text:note-body></text:note></text:p>-<text:p text:style-name="P59">Notes can go in-quotes.<text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>4</text:note-citation><text:note-body><text:p text:style-name="Footnote">In-quote.</text:p></text:note-body></text:note></text:p>-<text:list text:style-name="L30">-  <text:list-item>-    <text:p text:style-name="P60">And in list+    <style:style style:name="T1" style:family="text"><style:text-properties fo:font-style="italic" fo:font-weight="bold" style:font-style-asian="italic" style:font-style-complex="italic" style:font-weight-asian="bold" style:font-weight-complex="bold" /></style:style>+    <style:style style:name="T2" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic" style:text-line-through-style="solid" /></style:style>+    <style:style style:name="T3" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic" style:text-position="super 58%" /></style:style>+    <style:style style:name="fr2" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" style:wrap="none" /></style:style>+    <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Formula"><style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" /></style:style>+    <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Quotations">+      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />+    </style:style>+    <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Quotations">+      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />+    </style:style>+    <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Quotations">+      <style:paragraph-properties fo:margin-left="0.5in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" />+    </style:style>+    <text:list-style style:name="Pandoc_5f_Numbering_5f_1">+      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.0000in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.1972in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.3944in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.5916in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.7888in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.9860in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.1832in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.3804in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.5776in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-format="1" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.7748in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+    </text:list-style>+    <text:list-style style:name="Pandoc_5f_Numbering_5f_2">+      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.0000in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.1972in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.3944in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.5916in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.7888in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.9860in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.1832in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.3804in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.5776in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-format="i" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.7748in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+    </text:list-style>+    <text:list-style style:name="Pandoc_5f_Numbering_5f_5">+      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.0000in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.1972in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.3944in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.5916in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.7888in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.9860in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.1832in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.3804in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.5776in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-format="I" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.7748in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+    </text:list-style>+    <text:list-style style:name="Pandoc_5f_Numbering_5f_6">+      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.0000in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.1972in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.3944in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.5916in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.7888in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.9860in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.1832in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.3804in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.5776in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-format="a" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.7748in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+    </text:list-style>+    <text:list-style style:name="Pandoc_5f_Numbering_5f_4">+      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.0000in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.1972in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.3944in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.5916in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.7888in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="0.9860in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.1832in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.3804in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.5776in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-suffix=".">+        <style:list-level-properties text:space-before="1.7748in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+    </text:list-style>+    <text:list-style style:name="Pandoc_5f_Numbering_5f_3">+      <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.0000in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.1972in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.3944in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.5916in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.7888in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="0.9860in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.1832in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.3804in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.5776in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+      <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-format="A" style:num-prefix="(" style:num-suffix=")">+        <style:list-level-properties text:space-before="1.7748in" text:min-label-width="0.1965in" text:min-label-distance="0.1in" />+      </text:list-level-style-number>+    </text:list-style>+  </office:automatic-styles>+<office:body>+<office:text>+<text:p text:style-name="Title">Pandoc Test Suite</text:p>+<text:p text:style-name="Author">John MacFarlane</text:p>+<text:p text:style-name="Author">Anonymous</text:p>+<text:p text:style-name="Date">July 17, 2006</text:p>+<text:p text:style-name="Text_20_body">This is a set of tests for pandoc. Most+of them are adapted from John Gruber’s markdown test suite.</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="headers" />Headers<text:bookmark-end text:name="headers" /></text:h>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="level-2-with-an-embedded-link" />Level+2 with an+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">embedded+link</text:span></text:a><text:bookmark-end text:name="level-2-with-an-embedded-link" /></text:h>+<text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="level-3-with-emphasis" />Level+3 with+<text:span text:style-name="Emphasis">emphasis</text:span><text:bookmark-end text:name="level-3-with-emphasis" /></text:h>+<text:h text:style-name="Heading_20_4" text:outline-level="4"><text:bookmark-start text:name="level-4" />Level+4<text:bookmark-end text:name="level-4" /></text:h>+<text:h text:style-name="Heading_20_5" text:outline-level="5"><text:bookmark-start text:name="level-5" />Level+5<text:bookmark-end text:name="level-5" /></text:h>+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="level-1" />Level+1<text:bookmark-end text:name="level-1" /></text:h>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="level-2-with-emphasis" />Level+2 with+<text:span text:style-name="Emphasis">emphasis</text:span><text:bookmark-end text:name="level-2-with-emphasis" /></text:h>+<text:h text:style-name="Heading_20_3" text:outline-level="3"><text:bookmark-start text:name="level-3" />Level+3<text:bookmark-end text:name="level-3" /></text:h>+<text:p text:style-name="First_20_paragraph">with no blank line</text:p>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="level-2" />Level+2<text:bookmark-end text:name="level-2" /></text:h>+<text:p text:style-name="First_20_paragraph">with no blank line</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="paragraphs" />Paragraphs<text:bookmark-end text:name="paragraphs" /></text:h>+<text:p text:style-name="First_20_paragraph">Here’s a regular+paragraph.</text:p>+<text:p text:style-name="Text_20_body">In Markdown 1.0.0 and earlier. Version 8.+This line turns into a list item. Because a hard-wrapped line in the middle of a+paragraph looked like a list item.</text:p>+<text:p text:style-name="Text_20_body">Here’s one with a bullet. *+criminey.</text:p>+<text:p text:style-name="Text_20_body">There should be a hard line+break<text:line-break />here.</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="block-quotes" />Block+Quotes<text:bookmark-end text:name="block-quotes" /></text:h>+<text:p text:style-name="First_20_paragraph">E-mail style:</text:p>+<text:p text:style-name="Quotations">This is a block quote. It is pretty+short.</text:p>+<text:p text:style-name="Quotations">Code in a block quote:</text:p>+<text:p text:style-name="Preformatted_20_Text">sub status {</text:p>+<text:p text:style-name="Preformatted_20_Text"><text:s text:c="4" />print &quot;working&quot;;</text:p>+<text:p text:style-name="Preformatted_20_Text">}</text:p>+<text:p text:style-name="Quotations">A list:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">item one</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">item two</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="Quotations">Nested block quotes:</text:p>+<text:p text:style-name="P1">nested</text:p>+<text:p text:style-name="P2">nested</text:p>+<text:p text:style-name="First_20_paragraph">This should not be a block quote: 2+&gt; 1.</text:p>+<text:p text:style-name="Text_20_body">And a following paragraph.</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="code-blocks" />Code+Blocks<text:bookmark-end text:name="code-blocks" /></text:h>+<text:p text:style-name="First_20_paragraph">Code:</text:p>+<text:p text:style-name="Preformatted_20_Text">---- (should be four hyphens)</text:p>+<text:p text:style-name="Preformatted_20_Text"></text:p>+<text:p text:style-name="Preformatted_20_Text">sub status {</text:p>+<text:p text:style-name="Preformatted_20_Text"><text:s text:c="4" />print &quot;working&quot;;</text:p>+<text:p text:style-name="Preformatted_20_Text">}</text:p>+<text:p text:style-name="Preformatted_20_Text"></text:p>+<text:p text:style-name="Preformatted_20_Text">this code block is indented by one tab</text:p>+<text:p text:style-name="First_20_paragraph">And:</text:p>+<text:p text:style-name="Preformatted_20_Text"><text:s text:c="4" />this code block is indented by two tabs</text:p>+<text:p text:style-name="Preformatted_20_Text"></text:p>+<text:p text:style-name="Preformatted_20_Text">These should not be escaped: <text:s text:c="1" />\$ \\ \&gt; \[ \{</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="lists" />Lists<text:bookmark-end text:name="lists" /></text:h>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="unordered" />Unordered<text:bookmark-end text:name="unordered" /></text:h>+<text:p text:style-name="First_20_paragraph">Asterisks tight:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">asterisk 1</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">asterisk 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">asterisk 3</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Asterisks loose:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">asterisk 1</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">asterisk 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">asterisk 3</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Pluses tight:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Plus 1</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Plus 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Plus 3</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Pluses loose:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">Plus 1</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">Plus 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">Plus 3</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Minuses tight:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Minus 1</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Minus 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Minus 3</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Minuses loose:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">Minus 1</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">Minus 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">Minus 3</text:p>+  </text:list-item>+</text:list>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="ordered" />Ordered<text:bookmark-end text:name="ordered" /></text:h>+<text:p text:style-name="First_20_paragraph">Tight:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">First</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Second</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Third</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">and:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">One</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Two</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Three</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Loose using tabs:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number">First</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Second</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Third</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">and using spaces:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number">One</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Two</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Three</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Multiple paragraphs:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number">Item 1, graf one.</text:p>+    <text:p text:style-name="List_20_Number">Item 1. graf two. The quick brown+    fox jumped over the lazy dog’s back.</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Item 2.</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Item 3.</text:p>+  </text:list-item>+</text:list>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="nested" />Nested<text:bookmark-end text:name="nested" /></text:h>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Tab</text:p><text:list text:style-name="List_20_1">+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Tab</text:p><text:list text:style-name="List_20_1">+          <text:list-item>+            <text:p text:style-name="List_20_Bullet_20_Tight">Tab</text:p>+          </text:list-item>+        </text:list>+      </text:list-item>+    </text:list>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Here’s another:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">First</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Second:</text:p>+    <text:list text:style-name="List_20_1">+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Fee</text:p>+      </text:list-item>+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Fie</text:p>+      </text:list-item>+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Foe</text:p>+      </text:list-item>+    </text:list>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Third</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Same thing but with+paragraphs:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number">First</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Second:</text:p>+    <text:list text:style-name="List_20_1">+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Fee</text:p>+      </text:list-item>+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Fie</text:p>+      </text:list-item>+      <text:list-item>+        <text:p text:style-name="List_20_Bullet_20_Tight">Foe</text:p>+      </text:list-item>+    </text:list>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">Third</text:p>+  </text:list-item>+</text:list>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="tabs-and-spaces" />Tabs+and spaces<text:bookmark-end text:name="tabs-and-spaces" /></text:h>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">this is a list item indented with+    tabs</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet">this is a list item indented with+    spaces</text:p><text:list text:style-name="List_20_1">+      <text:list-item>+        <text:p text:style-name="List_20_Bullet">this is an example list item+        indented with tabs</text:p>+      </text:list-item>+      <text:list-item>+        <text:p text:style-name="List_20_Bullet">this is an example list item+        indented with spaces</text:p>+      </text:list-item>+    </text:list>+  </text:list-item>+</text:list>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="fancy-list-markers" />Fancy+list markers<text:bookmark-end text:name="fancy-list-markers" /></text:h>+<text:list text:style-name="Pandoc_5f_Numbering_5f_1" text:start-value="2">+  <text:list-item>+    <text:p text:style-name="List_20_Number">begins with 2</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number">and now 3</text:p>+    <text:p text:style-name="List_20_Number">with a continuation</text:p>+    <text:list text:style-name="Pandoc_5f_Numbering_5f_2" text:start-value="4">+      <text:list-item>+        <text:p text:style-name="List_20_Number_20_Tight">sublist with roman+        numerals, starting with 4</text:p>+      </text:list-item>+      <text:list-item>+        <text:p text:style-name="List_20_Number_20_Tight">more items</text:p>+        <text:list text:style-name="Pandoc_5f_Numbering_5f_3">+          <text:list-item>+            <text:p text:style-name="List_20_Number_20_Tight">a+            subsublist</text:p>+          </text:list-item>+          <text:list-item>+            <text:p text:style-name="List_20_Number_20_Tight">a+            subsublist</text:p>+          </text:list-item>+        </text:list>+      </text:list-item>+    </text:list>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Nesting:</text:p>+<text:list text:style-name="Pandoc_5f_Numbering_5f_4">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Upper Alpha</text:p>+    <text:list text:style-name="Pandoc_5f_Numbering_5f_5">+      <text:list-item>+        <text:p text:style-name="List_20_Number_20_Tight">Upper Roman.</text:p>+        <text:list text:style-name="Pandoc_5f_Numbering_5f_1" text:start-value="6">+          <text:list-item>+            <text:p text:style-name="List_20_Number_20_Tight">Decimal start with+            6</text:p>+            <text:list text:style-name="Pandoc_5f_Numbering_5f_6" text:start-value="3">+              <text:list-item>+                <text:p text:style-name="List_20_Number_20_Tight">Lower alpha+                with paren</text:p>+              </text:list-item>+            </text:list>+          </text:list-item>+        </text:list>+      </text:list-item>+    </text:list>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Autonumbering:</text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">Autonumber.</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">More.</text:p>+    <text:list text:style-name="Numbering_20_1">+      <text:list-item>+        <text:p text:style-name="List_20_Number_20_Tight">Nested.</text:p>+      </text:list-item>+    </text:list>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Should not be a list item:</text:p>+<text:p text:style-name="Text_20_body">M.A. 2007</text:p>+<text:p text:style-name="Text_20_body">B. Williams</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="definition-lists" />Definition+Lists<text:bookmark-end text:name="definition-lists" /></text:h>+<text:p text:style-name="First_20_paragraph">Tight using spaces:</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">orange+fruit</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">banana</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">yellow+fruit</text:p>+<text:p text:style-name="First_20_paragraph">Tight using tabs:</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">orange+fruit</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">banana</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">yellow+fruit</text:p>+<text:p text:style-name="First_20_paragraph">Loose:</text:p>+<text:p text:style-name="Definition_20_Term">apple</text:p>+<text:p text:style-name="Definition_20_Definition">red fruit</text:p>+<text:p text:style-name="Definition_20_Term">orange</text:p>+<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>+<text:p text:style-name="Definition_20_Term">banana</text:p>+<text:p text:style-name="Definition_20_Definition">yellow fruit</text:p>+<text:p text:style-name="First_20_paragraph">Multiple blocks with+italics:</text:p>+<text:p text:style-name="Definition_20_Term"><text:span text:style-name="Emphasis">apple</text:span></text:p>+<text:p text:style-name="Definition_20_Definition">red+fruit</text:p><text:p text:style-name="Definition_20_Definition">contains seeds,+crisp, pleasant to taste</text:p>+<text:p text:style-name="Definition_20_Term"><text:span text:style-name="Emphasis">orange</text:span></text:p>+<text:p text:style-name="Definition_20_Definition">orange+fruit</text:p><text:p text:style-name="Preformatted_20_Text">{ orange code block }</text:p><text:p text:style-name="P3">orange+block quote</text:p>+<text:p text:style-name="First_20_paragraph">Multiple definitions,+tight:</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">apple</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">red fruit</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">computer</text:p>+<text:p text:style-name="Definition_20_Term_20_Tight">orange</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">orange+fruit</text:p>+<text:p text:style-name="Definition_20_Definition_20_Tight">bank</text:p>+<text:p text:style-name="First_20_paragraph">Multiple definitions,+loose:</text:p>+<text:p text:style-name="Definition_20_Term">apple</text:p>+<text:p text:style-name="Definition_20_Definition">red fruit</text:p>+<text:p text:style-name="Definition_20_Definition">computer</text:p>+<text:p text:style-name="Definition_20_Term">orange</text:p>+<text:p text:style-name="Definition_20_Definition">orange fruit</text:p>+<text:p text:style-name="Definition_20_Definition">bank</text:p>+<text:p text:style-name="First_20_paragraph">Blank line after term, indented+marker, alternate markers:</text:p>+<text:p text:style-name="Definition_20_Term">apple</text:p>+<text:p text:style-name="Definition_20_Definition">red fruit</text:p>+<text:p text:style-name="Definition_20_Definition">computer</text:p>+<text:p text:style-name="Definition_20_Term">orange</text:p>+<text:p text:style-name="Definition_20_Definition">orange+fruit</text:p><text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">sublist</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">sublist</text:p>+  </text:list-item>+</text:list>+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="html-blocks" />HTML+Blocks<text:bookmark-end text:name="html-blocks" /></text:h>+<text:p text:style-name="First_20_paragraph">Simple block on one line:</text:p>+<text:p text:style-name="Text_20_body">foo</text:p>+<text:p text:style-name="Text_20_body">And nested without indentation:</text:p>+<text:p text:style-name="Text_20_body">foo</text:p>+<text:p text:style-name="Text_20_body">bar</text:p>+<text:p text:style-name="Text_20_body">Interpreted markdown in a table:</text:p>+<text:p text:style-name="Text_20_body">This is+<text:span text:style-name="Emphasis">emphasized</text:span></text:p>+<text:p text:style-name="Text_20_body">And this is+<text:span text:style-name="Strong_20_Emphasis">strong</text:span></text:p>+<text:p text:style-name="Text_20_body">Here’s a simple block:</text:p>+<text:p text:style-name="Text_20_body">foo</text:p>+<text:p text:style-name="Text_20_body">This should be a code block,+though:</text:p>+<text:p text:style-name="Preformatted_20_Text">&lt;div&gt;</text:p>+<text:p text:style-name="Preformatted_20_Text"><text:s text:c="4" />foo</text:p>+<text:p text:style-name="Preformatted_20_Text">&lt;/div&gt;</text:p>+<text:p text:style-name="First_20_paragraph">As should this:</text:p>+<text:p text:style-name="Preformatted_20_Text">&lt;div&gt;foo&lt;/div&gt;</text:p>+<text:p text:style-name="First_20_paragraph">Now, nested:</text:p>+<text:p text:style-name="Text_20_body">foo</text:p>+<text:p text:style-name="Text_20_body">This should just be an HTML+comment:</text:p>+<text:p text:style-name="Text_20_body">Multiline:</text:p>+<text:p text:style-name="Text_20_body">Code block:</text:p>+<text:p text:style-name="Preformatted_20_Text">&lt;!-- Comment --&gt;</text:p>+<text:p text:style-name="First_20_paragraph">Just plain comment, with trailing+spaces on the line:</text:p>+<text:p text:style-name="Text_20_body">Code:</text:p>+<text:p text:style-name="Preformatted_20_Text">&lt;hr /&gt;</text:p>+<text:p text:style-name="First_20_paragraph">Hr’s:</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="inline-markup" />Inline+Markup<text:bookmark-end text:name="inline-markup" /></text:h>+<text:p text:style-name="First_20_paragraph">This is+<text:span text:style-name="Emphasis">emphasized</text:span>, and so+<text:span text:style-name="Emphasis">is this</text:span>.</text:p>+<text:p text:style-name="Text_20_body">This is+<text:span text:style-name="Strong_20_Emphasis">strong</text:span>, and so+<text:span text:style-name="Strong_20_Emphasis">is this</text:span>.</text:p>+<text:p text:style-name="Text_20_body">An+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition"><text:span text:style-name="Emphasis">emphasized+link</text:span></text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body"><text:span text:style-name="T1">This is+strong and em.</text:span></text:p>+<text:p text:style-name="Text_20_body">So is+<text:span text:style-name="T1">this</text:span> word.</text:p>+<text:p text:style-name="Text_20_body"><text:span text:style-name="T1">This is+strong and em.</text:span></text:p>+<text:p text:style-name="Text_20_body">So is+<text:span text:style-name="T1">this</text:span> word.</text:p>+<text:p text:style-name="Text_20_body">This is code:+<text:span text:style-name="Source_20_Text">&gt;</text:span>,+<text:span text:style-name="Source_20_Text">$</text:span>,+<text:span text:style-name="Source_20_Text">\</text:span>,+<text:span text:style-name="Source_20_Text">\$</text:span>,+<text:span text:style-name="Source_20_Text">&lt;html&gt;</text:span>.</text:p>+<text:p text:style-name="Text_20_body"><text:span text:style-name="Strikeout">This+is+</text:span><text:span text:style-name="T2">strikeout</text:span><text:span text:style-name="Strikeout">.</text:span></text:p>+<text:p text:style-name="Text_20_body">Superscripts:+a<text:span text:style-name="Superscript">bc</text:span>d+a<text:span text:style-name="T3">hello</text:span>+a<text:span text:style-name="Superscript">hello there</text:span>.</text:p>+<text:p text:style-name="Text_20_body">Subscripts:+H<text:span text:style-name="Subscript">2</text:span>O,+H<text:span text:style-name="Subscript">23</text:span>O,+H<text:span text:style-name="Subscript">many of them</text:span>O.</text:p>+<text:p text:style-name="Text_20_body">These should not be superscripts or+subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="smart-quotes-ellipses-dashes" />Smart+quotes, ellipses,+dashes<text:bookmark-end text:name="smart-quotes-ellipses-dashes" /></text:h>+<text:p text:style-name="First_20_paragraph">“Hello,” said the spider. “‘Shelob’+is my name.”</text:p>+<text:p text:style-name="Text_20_body">‘A’, ‘B’, and ‘C’ are letters.</text:p>+<text:p text:style-name="Text_20_body">‘Oak,’ ‘elm,’ and ‘beech’ are names of+trees. So is ‘pine.’</text:p>+<text:p text:style-name="Text_20_body">‘He said, “I want to go.”’ Were you alive+in the 70’s?</text:p>+<text:p text:style-name="Text_20_body">Here is some quoted+‘<text:span text:style-name="Source_20_Text">code</text:span>’ and a+“<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">quoted+link</text:span></text:a>”.</text:p>+<text:p text:style-name="Text_20_body">Some dashes: one—two — three—four —+five.</text:p>+<text:p text:style-name="Text_20_body">Dashes between numbers: 5–7, 255–66,+1987–1999.</text:p>+<text:p text:style-name="Text_20_body">Ellipses…and…and….</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="latex" />LaTeX<text:bookmark-end text:name="latex" /></text:h>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight"></text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">2 + 2 = 4</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight"><text:span text:style-name="Emphasis">x</text:span> ∈ <text:span text:style-name="Emphasis">y</text:span></text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight"><text:span text:style-name="Emphasis">α</text:span> ∧ <text:span text:style-name="Emphasis">ω</text:span></text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">223</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight"><text:span text:style-name="Emphasis">p</text:span>-Tree</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Here’s some display math:+    $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Here’s one that has a line+    break in it:+    <text:span text:style-name="Emphasis">α</text:span> + <text:span text:style-name="Emphasis">ω</text:span> × <text:span text:style-name="Emphasis">x</text:span><text:span text:style-name="Superscript">2</text:span>.</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">These shouldn’t be math:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">To get the famous+    equation, write+    <text:span text:style-name="Source_20_Text">$e = mc^2$</text:span>.</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">$22,000 is a+    <text:span text:style-name="Emphasis">lot</text:span> of money. So is+    $34,000. (It worked if “lot” is emphasized.)</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Shoes ($20) and socks+    ($5).</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">Escaped+    <text:span text:style-name="Source_20_Text">$</text:span>: $73+    <text:span text:style-name="Emphasis">this should be emphasized</text:span>+    23$.</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">Here’s a LaTeX table:</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="special-characters" />Special+Characters<text:bookmark-end text:name="special-characters" /></text:h>+<text:p text:style-name="First_20_paragraph">Here is some unicode:</text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">I hat: Î</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">o umlaut: ö</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">section: §</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">set membership: ∈</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">copyright: ©</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">AT&amp;T has an ampersand in their+name.</text:p>+<text:p text:style-name="Text_20_body">AT&amp;T is another way to write+it.</text:p>+<text:p text:style-name="Text_20_body">This &amp; that.</text:p>+<text:p text:style-name="Text_20_body">4 &lt; 5.</text:p>+<text:p text:style-name="Text_20_body">6 &gt; 5.</text:p>+<text:p text:style-name="Text_20_body">Backslash: \</text:p>+<text:p text:style-name="Text_20_body">Backtick: `</text:p>+<text:p text:style-name="Text_20_body">Asterisk: *</text:p>+<text:p text:style-name="Text_20_body">Underscore: _</text:p>+<text:p text:style-name="Text_20_body">Left brace: {</text:p>+<text:p text:style-name="Text_20_body">Right brace: }</text:p>+<text:p text:style-name="Text_20_body">Left bracket: [</text:p>+<text:p text:style-name="Text_20_body">Right bracket: ]</text:p>+<text:p text:style-name="Text_20_body">Left paren: (</text:p>+<text:p text:style-name="Text_20_body">Right paren: )</text:p>+<text:p text:style-name="Text_20_body">Greater-than: &gt;</text:p>+<text:p text:style-name="Text_20_body">Hash: #</text:p>+<text:p text:style-name="Text_20_body">Period: .</text:p>+<text:p text:style-name="Text_20_body">Bang: !</text:p>+<text:p text:style-name="Text_20_body">Plus: +</text:p>+<text:p text:style-name="Text_20_body">Minus: -</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="links" />Links<text:bookmark-end text:name="links" /></text:h>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="explicit" />Explicit<text:bookmark-end text:name="explicit" /></text:h>+<text:p text:style-name="First_20_paragraph">Just a+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">URL</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title"><text:span text:style-name="Definition">URL+and title</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by two spaces"><text:span text:style-name="Definition">URL+and title</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title preceded by a tab"><text:span text:style-name="Definition">URL+and title</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with &quot;quotes&quot; in it"><text:span text:style-name="Definition">URL+and title</text:span></text:a></text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name="title with single quotes"><text:span text:style-name="Definition">URL+and title</text:span></text:a></text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/with_underscore" office:name=""><text:span text:style-name="Definition">with_underscore</text:span></text:a></text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition">Email+link</text:span></text:a></text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="" office:name=""><text:span text:style-name="Definition">Empty</text:span></text:a>.</text:p>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="reference" />Reference<text:bookmark-end text:name="reference" /></text:h>+<text:p text:style-name="First_20_paragraph">Foo+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">With+<text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">embedded+[brackets]</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body"><text:a xlink:type="simple" xlink:href="/url/" office:name=""><text:span text:style-name="Definition">b</text:span></text:a>+by itself should be a link.</text:p>+<text:p text:style-name="Text_20_body">Indented+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">once</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">Indented+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">twice</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">Indented+<text:a xlink:type="simple" xlink:href="/url" office:name=""><text:span text:style-name="Definition">thrice</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">This should [not][] be a link.</text:p>+<text:p text:style-name="Preformatted_20_Text">[not]: /url</text:p>+<text:p text:style-name="First_20_paragraph">Foo+<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quotes&quot; inside"><text:span text:style-name="Definition">bar</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">Foo+<text:a xlink:type="simple" xlink:href="/url/" office:name="Title with &quot;quote&quot; inside"><text:span text:style-name="Definition">biz</text:span></text:a>.</text:p>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="with-ampersands" />With+ampersands<text:bookmark-end text:name="with-ampersands" /></text:h>+<text:p text:style-name="First_20_paragraph">Here’s a+<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">link+with an ampersand in the URL</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">Here’s a link with an amersand in the+link text:+<text:a xlink:type="simple" xlink:href="http://att.com/" office:name="AT&amp;T"><text:span text:style-name="Definition">AT&amp;T</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">Here’s an+<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline+link</text:span></text:a>.</text:p>+<text:p text:style-name="Text_20_body">Here’s an+<text:a xlink:type="simple" xlink:href="/script?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">inline+link in pointy braces</text:span></text:a>.</text:p>+<text:h text:style-name="Heading_20_2" text:outline-level="2"><text:bookmark-start text:name="autolinks" />Autolinks<text:bookmark-end text:name="autolinks" /></text:h>+<text:p text:style-name="First_20_paragraph">With an ampersand:+<text:a xlink:type="simple" xlink:href="http://example.com/?foo=1&amp;bar=2" office:name=""><text:span text:style-name="Definition">http://example.com/?foo=1&amp;bar=2</text:span></text:a></text:p>+<text:list text:style-name="List_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">In a list?</text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight"><text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition">http://example.com/</text:span></text:a></text:p>+  </text:list-item>+  <text:list-item>+    <text:p text:style-name="List_20_Bullet_20_Tight">It should.</text:p>+  </text:list-item>+</text:list>+<text:p text:style-name="First_20_paragraph">An e-mail address:+<text:a xlink:type="simple" xlink:href="mailto:nobody@nowhere.net" office:name=""><text:span text:style-name="Definition">nobody@nowhere.net</text:span></text:a></text:p>+<text:p text:style-name="Quotations">Blockquoted:+<text:a xlink:type="simple" xlink:href="http://example.com/" office:name=""><text:span text:style-name="Definition">http://example.com/</text:span></text:a></text:p>+<text:p text:style-name="First_20_paragraph">Auto-links should not occur here:+<text:span text:style-name="Source_20_Text">&lt;http://example.com/&gt;</text:span></text:p>+<text:p text:style-name="Preformatted_20_Text">or here: &lt;http://example.com/&gt;</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="images" />Images<text:bookmark-end text:name="images" /></text:h>+<text:p text:style-name="First_20_paragraph">From “Voyage dans la Lune” by+Georges Melies (1902):</text:p>+<text:p text:style-name="FigureWithCaption"><draw:frame draw:name="img1"><draw:image xlink:href="lalune.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame></text:p>+<text:p text:style-name="FigureCaption">lalune</text:p>+<text:p text:style-name="Text_20_body">Here is a movie+<draw:frame draw:name="img2"><draw:image xlink:href="movie.jpg" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad" /></draw:frame>+icon.</text:p>+<text:p text:style-name="Horizontal_20_Line" />+<text:h text:style-name="Heading_20_1" text:outline-level="1"><text:bookmark-start text:name="footnotes" />Footnotes<text:bookmark-end text:name="footnotes" /></text:h>+<text:p text:style-name="First_20_paragraph">Here is a footnote+reference,<text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here+is the footnote. It can go anywhere after the footnote reference. It need not be+placed at the end of the document.</text:p></text:note-body></text:note> and+another.<text:note text:id="ftn1" text:note-class="footnote"><text:note-citation>2</text:note-citation><text:note-body><text:p text:style-name="Footnote">Here’s+the long note. This one contains multiple+blocks.</text:p><text:p text:style-name="Footnote">Subsequent blocks are+indented to show that they belong to the footnote (as with list+items).</text:p><text:p text:style-name="Preformatted_20_Text"><text:s text:c="2" />{ &lt;code&gt; }</text:p><text:p text:style-name="Footnote">If+you want, you can indent every line, but you can also be lazy and just indent+the first line of each block.</text:p></text:note-body></text:note> This should+<text:span text:style-name="Emphasis">not</text:span> be a footnote reference,+because it contains a space.[^my note] Here is an inline+note.<text:note text:id="ftn2" text:note-class="footnote"><text:note-citation>3</text:note-citation><text:note-body><text:p text:style-name="Footnote">This+is <text:span text:style-name="Emphasis">easier</text:span> to type. Inline+notes may contain+<text:a xlink:type="simple" xlink:href="http://google.com" office:name=""><text:span text:style-name="Definition">links</text:span></text:a>+and <text:span text:style-name="Source_20_Text">]</text:span> verbatim+characters, as well as [bracketed+text].</text:p></text:note-body></text:note></text:p>+<text:p text:style-name="Quotations">Notes can go in+quotes.<text:note text:id="ftn3" text:note-class="footnote"><text:note-citation>4</text:note-citation><text:note-body><text:p text:style-name="Footnote">In+quote.</text:p></text:note-body></text:note></text:p>+<text:list text:style-name="Numbering_20_1">+  <text:list-item>+    <text:p text:style-name="List_20_Number_20_Tight">And in list     items.<text:note text:id="ftn4" text:note-class="footnote"><text:note-citation>5</text:note-citation><text:note-body><text:p text:style-name="Footnote">In     list.</text:p></text:note-body></text:note></text:p>   </text:list-item>
test/writer.opml view
@@ -42,7 +42,7 @@   <outline text="Fancy list markers" _note="(2) begins with 2&#10;&#10;(3) and now 3&#10;&#10;    with a continuation&#10;&#10;    iv. sublist with roman numerals, starting with 4&#10;    v.  more items&#10;        (A) a subsublist&#10;        (B) a subsublist&#10;&#10;Nesting:&#10;&#10;A.  Upper Alpha&#10;    I.  Upper Roman.&#10;        (6) Decimal start with 6&#10;            c)  Lower alpha with paren&#10;&#10;Autonumbering:&#10;&#10;1.  Autonumber.&#10;2.  More.&#10;    1.  Nested.&#10;&#10;Should not be a list item:&#10;&#10;M.A. 2007&#10;&#10;B. Williams&#10;&#10;--------------------------------------------------------------------------------">   </outline> </outline>-<outline text="Definition Lists" _note="Tight using spaces:&#10;&#10;apple&#10;:   red fruit&#10;&#10;orange&#10;:   orange fruit&#10;&#10;banana&#10;:   yellow fruit&#10;&#10;Tight using tabs:&#10;&#10;apple&#10;:   red fruit&#10;&#10;orange&#10;:   orange fruit&#10;&#10;banana&#10;:   yellow fruit&#10;&#10;Loose:&#10;&#10;apple&#10;&#10;:   red fruit&#10;&#10;orange&#10;&#10;:   orange fruit&#10;&#10;banana&#10;&#10;:   yellow fruit&#10;&#10;Multiple blocks with italics:&#10;&#10;*apple*&#10;&#10;:   red fruit&#10;&#10;    contains seeds, crisp, pleasant to taste&#10;&#10;*orange*&#10;&#10;:   orange fruit&#10;&#10;        { orange code block }&#10;&#10;    &gt; orange block quote&#10;&#10;Multiple definitions, tight:&#10;&#10;apple&#10;:   red fruit&#10;:   computer&#10;&#10;orange&#10;:   orange fruit&#10;:   bank&#10;&#10;Multiple definitions, loose:&#10;&#10;apple&#10;&#10;:   red fruit&#10;&#10;:   computer&#10;&#10;orange&#10;&#10;:   orange fruit&#10;&#10;:   bank&#10;&#10;Blank line after term, indented marker, alternate markers:&#10;&#10;apple&#10;&#10;:   red fruit&#10;&#10;:   computer&#10;&#10;orange&#10;&#10;:   orange fruit&#10;&#10;    1.  sublist&#10;    2.  sublist">+<outline text="Definition Lists" _note="Tight using spaces:&#10;&#10;apple&#10;: red fruit&#10;&#10;orange&#10;: orange fruit&#10;&#10;banana&#10;: yellow fruit&#10;&#10;Tight using tabs:&#10;&#10;apple&#10;: red fruit&#10;&#10;orange&#10;: orange fruit&#10;&#10;banana&#10;: yellow fruit&#10;&#10;Loose:&#10;&#10;apple&#10;&#10;: red fruit&#10;&#10;orange&#10;&#10;: orange fruit&#10;&#10;banana&#10;&#10;: yellow fruit&#10;&#10;Multiple blocks with italics:&#10;&#10;*apple*&#10;&#10;: red fruit&#10;&#10;  contains seeds, crisp, pleasant to taste&#10;&#10;*orange*&#10;&#10;: orange fruit&#10;&#10;      { orange code block }&#10;&#10;  &gt; orange block quote&#10;&#10;Multiple definitions, tight:&#10;&#10;apple&#10;: red fruit&#10;: computer&#10;&#10;orange&#10;: orange fruit&#10;: bank&#10;&#10;Multiple definitions, loose:&#10;&#10;apple&#10;&#10;: red fruit&#10;&#10;: computer&#10;&#10;orange&#10;&#10;: orange fruit&#10;&#10;: bank&#10;&#10;Blank line after term, indented marker, alternate markers:&#10;&#10;apple&#10;&#10;: red fruit&#10;&#10;: computer&#10;&#10;orange&#10;&#10;: orange fruit&#10;&#10;  1.  sublist&#10;  2.  sublist"> </outline> <outline text="HTML Blocks" _note="Simple block on one line:&#10;&#10;::: {}&#10;foo&#10;:::&#10;&#10;And nested without indentation:&#10;&#10;:::::: {}&#10;:::: {}&#10;::: {}&#10;foo&#10;:::&#10;::::&#10;&#10;::: {}&#10;bar&#10;:::&#10;::::::&#10;&#10;Interpreted markdown in a table:&#10;&#10;&lt;table&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;This is *emphasized*&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;And this is **strong**&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/table&gt;&#10;&lt;script type=&quot;text/javascript&quot;&gt;document.write('This *should not* be interpreted as markdown');&lt;/script&gt;&#10;&#10;Here's a simple block:&#10;&#10;::: {}&#10;foo&#10;:::&#10;&#10;This should be a code block, though:&#10;&#10;    &lt;div&gt;&#10;        foo&#10;    &lt;/div&gt;&#10;&#10;As should this:&#10;&#10;    &lt;div&gt;foo&lt;/div&gt;&#10;&#10;Now, nested:&#10;&#10;::::: {}&#10;:::: {}&#10;::: {}&#10;foo&#10;:::&#10;::::&#10;:::::&#10;&#10;This should just be an HTML comment:&#10;&#10;&lt;!-- Comment --&gt;&#10;&#10;Multiline:&#10;&#10;&lt;!--&#10;Blah&#10;Blah&#10;--&gt;&#10;&lt;!--&#10;    This is another comment.&#10;--&gt;&#10;&#10;Code block:&#10;&#10;    &lt;!-- Comment --&gt;&#10;&#10;Just plain comment, with trailing spaces on the line:&#10;&#10;&lt;!-- foo --&gt;&#10;&#10;Code:&#10;&#10;    &lt;hr /&gt;&#10;&#10;Hr's:&#10;&#10;&lt;hr&gt;&#10;&lt;hr /&gt;&#10;&lt;hr /&gt;&#10;&lt;hr&gt;&#10;&lt;hr /&gt;&#10;&lt;hr /&gt;&#10;&lt;hr class=&quot;foo&quot; id=&quot;bar&quot; /&gt;&#10;&lt;hr class=&quot;foo&quot; id=&quot;bar&quot; /&gt;&#10;&lt;hr class=&quot;foo&quot; id=&quot;bar&quot;&gt;&#10;&#10;--------------------------------------------------------------------------------"> </outline>
test/writer.plain view
@@ -257,93 +257,93 @@ Tight using spaces:  apple-    red fruit+  red fruit  orange-    orange fruit+  orange fruit  banana-    yellow fruit+  yellow fruit  Tight using tabs:  apple-    red fruit+  red fruit  orange-    orange fruit+  orange fruit  banana-    yellow fruit+  yellow fruit  Loose:  apple -    red fruit+  red fruit  orange -    orange fruit+  orange fruit  banana -    yellow fruit+  yellow fruit  Multiple blocks with italics:  apple -    red fruit+  red fruit -    contains seeds, crisp, pleasant to taste+  contains seeds, crisp, pleasant to taste  orange -    orange fruit+  orange fruit -        { orange code block }+      { orange code block } -      orange block quote+    orange block quote  Multiple definitions, tight:  apple-    red fruit-    computer+  red fruit+  computer  orange-    orange fruit-    bank+  orange fruit+  bank  Multiple definitions, loose:  apple -    red fruit+  red fruit -    computer+  computer  orange -    orange fruit+  orange fruit -    bank+  bank  Blank line after term, indented marker, alternate markers:  apple -    red fruit+  red fruit -    computer+  computer  orange -    orange fruit+  orange fruit -    1.  sublist-    2.  sublist+  1.  sublist+  2.  sublist  HTML Blocks 
test/writers-lang-and-dir.latex view
@@ -69,6 +69,10 @@ \usepackage{bookmark} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \urlstyle{same}+% fallback for those not using the hyperref driver hyperxmp:+\makeatletter+\@ifundefined{xmpquote}{\newcommand{\xmpquote}[1]{#1}}{}+\makeatother \hypersetup{   pdflang={en},   hidelinks,